18.5. 配置短期访问
Red Hat Advanced Cluster Security for Kubernetes (RHACS)提供了配置对用户界面和 API 调用的短期访问的功能。
您可以通过为 RHACS 发布的令牌交换 OpenID Connect (OIDC)身份令牌进行配置。
我们建议使用它,特别是用于持续集成(CI)的使用,因为与长期 API 令牌相比,短期访问是首选使用。
下列步骤概述了如何配置对用户界面和 API 调用的短期访问的高级工作流:
- 配置 RHACS 以信任 OIDC 身份提供程序签发者,以交换简短的 RHACS 发布的令牌。
- 通过调用 API 为简短的 RHACS 发布的令牌交换 OIDC 身份令牌。
-
为防止特权升级,在创建新令牌时,您的权限将限制您可以分配给该令牌的权限。例如,如果您只有 Integration 资源的
read
权限,则无法创建具有写入权限
的令牌。 - 如果您希望自定义角色为其他用户创建令牌,则必须为该自定义角色分配所需的权限。
-
将短期令牌用于机器到机器的通信,如 CI/CD 管道、脚本和其他自动化。另外,使用
roxctl central login
命令进行人工到机器通信,如roxctl
CLI 或 API 访问。
18.5.1. 为 OIDC 身份令牌签发者配置短期访问
开始为 OpenID Connect (OIDC)身份令牌签发者配置简短访问。
流程
-
在 RHACS 门户中,进入 Platform Configuration
Integrations。 - 滚动到 Authentication Tokens 类别,然后单击 Machine access configuration。
- 点 Create configuration。
选择 配置类型,选择以下之一:
- 如果您使用任意 OIDC 身份令牌签发者,则 通用。
- 如果您计划从 GitHub Actions 访问 RHACS,则 GitHub Actions。
- 输入 OIDC 身份令牌签发者。
为配置发布的令牌输入令牌 生命周期。
注意令牌生命周期的格式为 XhYmZs,您无法将其设置为 24 小时。
在配置中添加规则:
- Key 是要使用的 OIDC 令牌声明。
- Value 是预期的 OIDC 令牌声明值。
如果存在 OIDC 令牌声明和值,则 Role 是分配给令牌的角色。
注意规则类似于身份验证提供程序规则,以根据声明值分配角色。
作为常规规则,红帽建议在规则中使用唯一的不可变声明。常规建议是使用 OIDC 身份令牌中 的子 声明。有关 OIDC 令牌声明的更多信息,请参阅 标准 OIDC 声明列表。
- 点击 Save。
18.5.2. 交换身份令牌
先决条件
- 您有一个有效的 OpenID Connect (OIDC)令牌。
- 您为您要访问的 RHACS 实例添加了机器访问 配置。
流程
准备 POST 请求的 JSON 数据:
{ "idToken": "<id_token>" }
- 发送 POST 请求到 API /v1/auth/m2m/exchange。
等待 API 响应:
{ "accessToken": "<access_token>" }
- 使用返回的访问令牌访问 RHACS 实例。
如果使用 GitHub Actions,您可以使用 stackrox/central-login GitHub Action。