×

Red Hat Advanced Cluster Security for Kubernetes (RHACS) 提供了配置对用户界面和API调用的短生命周期访问的能力。

您可以通过将OpenID Connect (OIDC)身份令牌交换为RHACS颁发的令牌来配置此功能。

我们尤其推荐在持续集成(CI)使用中使用此功能,因为短生命周期访问比长生命周期API令牌更可取。

以下步骤概述了如何配置对用户界面和API调用的短生命周期访问的高级工作流程

  1. 配置RHACS以信任OIDC身份令牌发行者,以便交换短生命周期RHACS颁发的令牌。

  2. 通过调用API将OIDC身份令牌交换为短生命周期RHACS颁发的令牌。

  • 为防止权限提升,当您创建新令牌时,您的角色权限会限制您可以为该令牌分配的权限。例如,如果您只有对Integration资源的`读取`权限,则无法创建具有`写入`权限的令牌。

  • 如果您希望自定义角色为其他用户创建令牌,则必须为此自定义角色分配所需的权限。

  • 将短生命周期令牌用于机器到机器的通信,例如CI/CD管道、脚本和其他自动化。此外,对于人到机器的通信,例如`roxctl` CLI或API访问,请使用`roxctl central login`命令。

为OIDC身份令牌发行者配置短生命周期访问

开始为OpenID Connect (OIDC)身份令牌发行者配置短生命周期访问。

步骤
  1. 在RHACS门户中,转到**平台配置** → **集成**。

  2. 滚动到**身份验证令牌**类别,然后单击**机器访问配置**。

  3. 单击**创建配置**。

  4. 选择**配置类型**,选择以下选项之一:

    • 如果您使用任意OIDC身份令牌发行者,请选择**通用**。

    • 如果您计划从GitHub Actions访问RHACS,请选择**GitHub Actions**。

  5. 输入OIDC身份令牌发行者。

  6. 输入配置颁发的令牌的**令牌生命周期**。

    **令牌生命周期**的格式为**XhYmZs**,您不能将其设置为超过24小时。

  7. 向配置添加规则

    • **密钥**是将要使用的OIDC令牌的声明。

    • **值**是预期的OIDC令牌声明值。

    • 如果存在OIDC令牌声明和值,则**角色**是分配给令牌的角色。

      规则类似于身份验证提供程序规则,用于基于声明值分配角色。

      一般来说,Red Hat建议在规则中使用唯一且不可变的声明。一般建议在OIDC身份令牌中使用**sub**声明。有关OIDC令牌声明的更多信息,请参见标准OIDC声明列表

  8. 单击**保存**。

交换身份令牌

先决条件
  • 您拥有有效的OpenID Connect (OIDC)令牌。

  • 您已为要访问的RHACS实例添加了**机器访问配置**。

步骤
  1. 准备POST请求的JSON数据

    {
        "idToken": "<id_token>"
    }
  2. 向API ** /v1/auth/m2m/exchange **发送POST请求。

  3. 等待API响应

    {
        "accessToken": "<access_token>"
    }
  4. 使用返回的访问令牌访问RHACS实例。

如果您使用的是**GitHub Actions**,则可以使用stackrox/central-login GitHub Action