11.5. クライアントカスタムリソースの作成
Operator を使用して、カスタムリソースで定義されているように Red Hat Single Sign-On でクライアントを作成できます。レルムのプロパティーを YAML ファイルに定義します。
YAML ファイルを更新しても、Red Hat Single Sign-On 管理コンソールに表示される変更は更新できますが、管理コンソールへの変更はカスタムリソースを更新しません。
クライアントカスタムリソースの YAML ファイルの例
apiVersion: keycloak.org/v1alpha1
kind: KeycloakClient
metadata:
name: example-client
labels:
app: sso
spec:
realmSelector:
matchLabels:
app: <matching labels for KeycloakRealm custom resource>
client:
# auto-generated if not supplied
#id: 123
clientId: client-secret
secret: client-secret
# ...
# other properties of Keycloak Client
前提条件
- このカスタムリソースの YAML ファイルがある。
- cluster-admin パーミッション、または管理者によって付与される同等のレベルのパーミッションがある。
手順
このコマンドは、作成した YAML ファイルで使用します (
oc create -f <client-name>.yaml)。以下は例になります。$ oc create -f initial_client.yaml keycloak.keycloak.org/example-client created- Red Hat Single Sign-On の関連インスタンス用に、Red Hat Single Sign-On 管理コンソールにログインします。
Clients をクリックします。
クライアントのリストに新しいクライアントが表示されます。
結果
クライアントの作成後に、Operator は keycloak-client-secret-<custom resource name> という命名パターンを使用して Client ID とクライアントのシークレットが含まれる Secret を作成します。以下に例を示します。
クライアントのシークレット
apiVersion: v1
data:
CLIENT_ID: <base64 encoded Client ID>
CLIENT_SECRET: <base64 encoded Client Secret>
kind: Secret
Operator がカスタムリソースを処理した後に、以下のコマンドでステータスを表示します。
$ oc describe keycloak <CR-name>
クライアントのカスタムリソースのステータス
Name: client-secret
Namespace: keycloak
Labels: app=sso
API Version: keycloak.org/v1alpha1
Kind: KeycloakClient
Spec:
Client:
Client Authenticator Type: client-secret
Client Id: client-secret
Id: keycloak-client-secret
Realm Selector:
Match Labels:
App: sso
Status:
Message:
Phase: reconciling
Ready: true
Secondary Resources:
Secret:
keycloak-client-secret-client-secret
Events: <none>
関連資料
- クライアントの作成が完了すると、ユーザーカスタムリソースを作成 する準備が整います。