11.7. 创建用户自定义资源


您可以使用 Operator 在 Red Hat Single Sign-On 中创建由自定义资源定义的用户。您可以在 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
    credentials:
      - type: "password"
        value: "12345"
    realmRoles:
      - "offline_access"
    clientRoles:
      account:
        - "manage-account"
      realm-management:
        - "manage-users"
  realmSelector:
    matchLabels:
      app: sso
Copy to Clipboard Toggle word wrap

前提条件

  • 有用于此自定义资源的 YAML 文件。
  • realmSelector 与现有域自定义资源的标签匹配。
  • 您有 cluster-admin 权限,或具有管理员授予的同等权限级别。

流程

  1. 对您创建的 YAML 文件使用此命令: oc create -f <user_cr>.yaml。例如:

    $ oc create -f initial_user.yaml
    keycloak.keycloak.org/example-user created
    Copy to Clipboard Toggle word wrap
  2. 登录到 Red Hat Single Sign-On 相关实例的 admin 控制台。
  3. 点 Users。
  4. 搜索您在 YAML 文件中定义的用户。

    您可能需要切换到其他域来查找用户。

    realm user

结果

创建用户后,Operator 会使用以下命名模式创建一个 Secret: credential-<realm name>-<username>-<namespace >,其中包含了用户名,如果已在 CR 凭证 属性中指定,密码则为:

例如:

KeycloakUser Secret

kind: Secret
apiVersion: v1
data:
  password: <base64 encoded password>
  username: <base64 encoded username>
type: Opaque
Copy to Clipboard Toggle word wrap

Operator 处理自定义资源后,使用以下命令查看状态:

$ oc describe keycloak <CR-name>
Copy to Clipboard Toggle word wrap

用户自定义资源状态

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>
Copy to Clipboard Toggle word wrap

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat