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 カスタムリソースを変更してサポートすることができます。外部データベースへの接続 を参照してください。
- カスタムリソースを使用してデータベースのバックアップを作成するには、データベースのバックアップのスケジュール を参照してください。