11.5. ユーザーカスタムリソースの作成
Operator を使用して、カスタムリソースで定義されているように Red Hat Single Sign-On でユーザーを作成できます。YAML ファイルで、ユーザーカスタムリソースのプロパティーを定義します。
YAML ファイルのパスワードを除き、プロパティーを更新でき、変更は Red Hat Single Sign-On 管理コンソールに表示されますが、管理コンソールへの変更はカスタムリソースを更新しません。
ユーザーカスタムリソースのサンプル YAML ファイル
apiVersion: keycloak.org/v1alpha1 kind: KeycloakUser metadata: name: example-user spec: user: username: "realm_user" firstName: "John" lastName: "Doe" email: "user@example.com" enabled: True emailVerified: False realmRoles: - "offline_access" clientRoles: account: - "manage-account" realm-management: - "manage-users" realmSelector: matchLabels: app: sso
前提条件
- このカスタムリソースの YAML ファイルがある。
-
realmSelector
は、既存のレルムカスタムリソースのラベルに一致する。 - cluster-admin パーミッション、または管理者によって付与される同等のレベルのパーミッションがある。
手順
このコマンドは作成した YAML ファイルで使用します (
oc create -f <user_cr>.yaml
)。以下は例になります。$ oc create -f initial_user.yaml keycloak.keycloak.org/example-user created
- Red Hat Single Sign-On の関連インスタンス向けに、管理コンソールにログインします。
- Users をクリックします。
YAML ファイルで定義したユーザーを検索します。
ユーザーを検索するには、別のレルムに切り替える必要がある場合があります。
結果
ユーザーの作成後、Operator は credential-<realm name>-<username>-<namespace>
という命名パターンを使用してユーザー名とパスワードの両方を含む Secret を作成します。以下に例を示します。
KeycloakUser
シークレット
kind: Secret apiVersion: v1 data: password: <base64 encoded password> username: <base64 encoded username> type: Opaque
Operator がカスタムリソースを処理した後に、以下のコマンドでステータスを表示します。
$ oc describe keycloak <CR-name>
ユーザーカスタムリソースのステータス
Name: example-realm-user Namespace: keycloak Labels: app=sso API Version: keycloak.org/v1alpha1 Kind: KeycloakUser Spec: Realm Selector: Match Labels: App: sso User: Email: realm_user@redhat.com Credentials: Type: password Value: <user password> Email Verified: false Enabled: true First Name: John Last Name: Doe Username: realm_user Status: Message: Phase: reconciled Events: <none>
関連資料
- 外部データベースがある場合は、Keycloak カスタムリソースを変更してサポートすることができます。外部データベースへの接続 を参照してください。
- カスタムリソースを使用してデータベースのバックアップを作成するには、データベースのバックアップのスケジュール を参照してください。