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 回调模式。可能的值有
auto、post、query和fragment。首选值为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_ACCESS或READ_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- 指定访问范围的名称;可以是系统访问范围之一,也可以是一个声明性创建的访问范围。