11.5. 创建用户自定义资源


您可以使用 Operator 在 Red Hat Single Sign-On 中创建由自定义资源定义的用户。您可以在 YAML 文件中定义用户自定义资源的属性。

注意

您可以更新除 YAML 文件中除密码以外的属性,并在 Red Hat Single Sign-On admin 控制台中显示更改,但对管理控制台的更改不会更新自定义资源。

用户自定义资源的 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
Copy to Clipboard Toggle word wrap

先决条件

  • 您有一个用于此自定义资源的 YAML 文件。
  • realmSelector 与现有 realm 自定义资源的标签匹配。
  • 有 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 相关实例的管理控制台。
  3. 点 Users。
  4. 搜索您在 YAML 文件中定义的用户。

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

    realm user

结果

创建用户后,Operator 会创建一个 Secret,其中包含使用以下命名模式的用户名和密码: credential-<realm name>-<username>-<namespace&gt;。例如:

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