16.3. 声明性配置示例


您可以使用以下示例作为指南来创建声明配置。使用 roxctl declarative-config lint 命令来验证您的配置是否有效。

16.3.1. 声明配置身份验证供应商示例

声明配置身份验证供应商示例

name: A sample auth provider
minimumRole: Analyst
uiEndpoint: central.custom-domain.com:443
extraUIEndpoints:
    - central-alt.custom-domain.com:443
groups:
    - key: email
      value: example@example.com
      role: Admin
    - key: groups
      value: reviewers
      role: Analyst
requiredAttributes:
    - key: org_id
      value: "12345"
claimMappings:
    - path: org_id
      value: my_org_id
oidc:
    issuer: sample.issuer.com
    mode: auto
    clientID: CLIENT_ID
    clientSecret: CLIENT_SECRET
clientSecret: CLIENT_SECRET
iap:
    audience: audience
saml:
    spIssuer: sample.issuer.com
    metadataURL: sample.provider.com/metadata
saml:
    spIssuer: sample.issuer.com
    cert: |
    ssoURL: saml.provider.com
    idpIssuer: idp.issuer.com
userpki:
    certificateAuthorities: |
    certificate
openshift:
    enable: true

其中:

minimumRole
指定默认分配给任何用户登录的最小角色。如果留空,则值为 None
uiEndpoint
指定 Central 实例的用户界面端点。
额外的UIEndpoints
指定您的 Central 实例是否公开给不同的端点。
groups
指定根据用户的属性映射用户的具体角色。
groups.key
指定可以是身份验证供应商返回的任何声明的密钥。
groups.role
指定给定用户的角色。您可以使用默认角色或声明性创建的角色。
requiredAttributes
指定是否需要从身份验证提供程序返回的属性,例如,如果受众仅限于特定的机构或组。这是可选的。
claimMappings
指定是否将从身份提供程序返回的声明映射到自定义声明。这是可选的。
oidc
指定系统是否配置为使用 OpenID Connect (OIDC)作为身份验证方法。
oidc.issuer
指定令牌的预期签发者。
oidc.mode
指定 OIDC 回调模式。可能的值有 autopostqueryfragment。首选值为 auto
iap
指定系统是否配置为使用 Google Identity-Aware Proxy (IAP)作为身份验证方法。
saml
指定系统是否配置为使用安全断言标记语言(SAML) 2.0 动态还是静态配置作为身份验证方法。
saml.cert
指定 Privacy Enhanced Mail (PEM)格式的证书。
userpki.certificateAuthorities
指定是否配置了系统以使用用户证书进行身份验证。
userpki.certificate
指定 PEM 格式的证书。
openshift
指定是否为 OpenShift Auth 身份验证提供程序配置系统。

16.3.2. 声明性配置简短令牌示例

声明性配置简短令牌示例

issuer: https://token.actions.githubusercontent.com
type: GITHUB_ACTION
tokenExpirationDuration: 20m
mappings:
  - key: sub
    value: repos:stackrox:stackrox
    role: Analyst

其中:

issuer
指定令牌的预期签发者,以针对简短令牌进行交换。
type
指定配置类型。如需更多信息,请参阅"配置短期访问"和"使用简短的访问令牌集成 RHACS"。
tokenExpirationDuration
XhYmZs 格式指定令牌生命周期。生命周期不能超过 24 小时。
映射
根据用户的属性指定映射到的角色。
mappings.key
指定密钥可以是从签发者返回的任何声明。
mappings.role
指定给定用户的角色。您可以使用默认角色或声明性创建的角色。

16.3.3. 声明性配置权限集示例

声明性配置权限集示例

name: A sample permission set
description: A sample permission set created declaratively
resources:
- resource: Integration
  access: READ_ACCESS
- resource: Administration
  access: READ_WRITE_ACCESS

其中:

resources.resource
指定支持的资源的完整列表。有关更多信息,请转至 Access Control Permission Sets
resources.access
指定访问权限可以是 READ_ACCESSREAD_WRITE_ACCESS

16.3.4. 声明性配置访问范围示例

声明性配置访问范围示例

name: A sample access scope
description: A sample access scope created declaratively
rules:
    included:
        - cluster: secured-cluster-A
          namespaces:
            - namespaceA
        - cluster: secured-cluster-B
    clusterLabelSelectors:
        - requirements:
        - requirements:
          - key: kubernetes.io/metadata.name
            operator: IN
            values:
            - production
            - staging
            - environment

其中:

rules.included.cluster
指定仅在访问范围内包含特定命名空间的集群。
rules.included.cluster
指定一个集群,其中所有命名空间都包含在访问范围内。
rules.clusterLabelSelectors.requirements.operator
指定用于标签选择的 Operator。有效值为 IN,NOT_IN,EXISTS, 和 NOT_EXISTS

16.3.5. 声明配置角色示例

声明配置角色示例

name: A sample role
description: A sample role created declaratively
permissionSet: A sample permission set
accessScope: Unrestricted

其中:

permissionSet
指定权限集的名称;可以是系统权限集之一,也可以是声明性创建的权限集。
accessScope
指定访问范围的名称;可以是系统访问范围之一,也可以是一个声明性创建的访问范围。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部