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