配置角色建议生成

通过更改 IAM Recommender 配置,您可以自定义 生成角色建议本页将介绍如何修改 更改系统根据您的产品 项目。

虽然 IAM Recommender 会针对各种资源 则只能修改针对以下项目生成角色建议的方式: 项目。

准备工作

所需的角色

如需获取配置 IAM 角色建议所需的权限, 请让管理员向您授予 针对要配置其 IAM Recommender 的项目的以下 IAM 角色:

  • 查看配置详情: IAM Recommender 查看者 (roles/recommender.iamViewer)
  • 修改您的配置: IAM Recommender 管理员 (roles/recommender.iamAdmin)

如需详细了解如何授予角色,请参阅管理访问权限

这些预定义角色包含 配置 IAM 角色建议所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需配置 IAM 角色建议,您必须拥有以下权限:

  • 查看配置详情: recommender.iamPolicyRecommenderConfig.get
  • 修改您的配置: recommender.iamPolicyRecommenderConfig.get

您也可以使用自定义角色或其他预定义角色来获取这些权限。

查看当前配置

查看您当前的配置,以了解权限使用情况数据(天数) IAM Recommender 在生成角色建议之前等待。

您可以使用 gcloud CLI 或 REST API 查看配置。

gcloud

如需获取 IAM Recommender 配置,请使用 gcloud beta recommender recommender-config describe 命令。

在使用下面的命令数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如 my-project

执行 gcloud beta Recommender Recommendeder-config describe 命令:

Linux、macOS 或 Cloud Shell

gcloud beta recommender recommender-config describe \
google.iam.policy.Recommender \
--project="PROJECT_ID" \
--location="global"

Windows (PowerShell)

gcloud beta recommender recommender-config describe `
google.iam.policy.Recommender `
--project="PROJECT_ID" `
--location="global"

Windows (cmd.exe)

gcloud beta recommender recommender-config describe ^
google.iam.policy.Recommender ^
--project="PROJECT_ID" ^
--location="global"

响应中包含您的 IAM Recommender 配置。例如, 如下所示:

etag: '"d3e779ee3f34f276"'
name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
recommenderGenerationConfig:
  params:
    minimum_observation_period: P90D
revisionId: DEFAULT
updateTime: '2022-10-02T22:57:33Z'

REST

如需获取 IAM Recommender 配置,请使用 Recommender API projects.locations.recommenders.getConfig 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER: 您的 Google Cloud 项目的数字 ID。
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project

HTTP 方法和网址:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

如需发送您的请求,请展开以下选项之一:

响应中包含您的 IAM Recommender 配置。例如, 如下所示:

{
  "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "minimum_observation_period": "P90D"
    }
  },
  "etag": "\"d3e779ee3f34f276\"",
  "updateTime": "2022-10-02T22:57:33Z",
  "revisionId": "DEFAULT"
}

了解配置详情

配置的内容取决于配置是哪个 Recommender 。IAM Recommender 配置包含以下组件, 必须按以下顺序排列:

  • name:配置的标识符,位于 表单 projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config.
  • recommenderGenerationConfig:需要 IAM Recommender 在生成建议时使用。此字段 包含以下参数:

    • minimum_observation_period:天数 IAM Recommender 需要启动的权限使用情况数据 生成角色建议。
  • etag:配置当前状态的标识符。 来阻止并发更新每次配置发生更改时, 已分配 ETag 值。

  • updateTime:最近 配置已更新(采用世界协调时间 [UTC] 格式) (RFC 3339)。

  • revisionId:仅限输出。当前修订版本的标识符 。每次配置配置时,此值都会更新 已修改。

修改配置

请修改您的配置,以更改系统为以下对象生成建议的速度: 自己的项目

gcloud

如需修改 IAM Recommender 配置,请使用 gcloud beta recommender recommender-config update 命令。

在使用下面的命令数据之前,请先进行以下替换:

  • OBSERVATION_PERIOD:您要设置的最短观察期。 请使用以下值之一:P30D(30 天)、P60D(60 天)或 P90D(90 天)。
  • ETAG:配置的当前 ETag,您可以通过 获取当前配置并复制 etag 字段。
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project
  • 将以下内容保存在名为 request.json 的文件中:

    {
      "params": {
        "minimum_observation_period": "OBSERVATION_PERIOD"
      }
    }
    

    执行 gcloud beta Recommender Recommender-config 更新 命令:

    Linux、macOS 或 Cloud Shell

    gcloud beta recommender recommender-config update \
    google.iam.policy.Recommender \
    --etag="ETAG" \
    --project="PROJECT_ID" \
    --location="global" \
    --config-file="request.json"
    

    Windows (PowerShell)

    gcloud beta recommender recommender-config update `
    google.iam.policy.Recommender `
    --etag="ETAG" `
    --project="PROJECT_ID" `
    --location="global" `
    --config-file="request.json"
    

    Windows (cmd.exe)

    gcloud beta recommender recommender-config update ^
    google.iam.policy.Recommender ^
    --etag="ETAG" ^
    --project="PROJECT_ID" ^
    --location="global" ^
    --config-file="request.json"
    

    响应中包含更新后的配置。例如,它可能如下所示:

    etag: '"2549af0942332910"'
    name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
    recommenderGenerationConfig:
      params:
        minimum_observation_period: P60D
    revisionId: 288c60eb
    updateTime: '2022-10-05T21:42:21.069170Z'
    

REST

如需修改 IAM Recommender 配置,请使用 Recommender API projects.locations.recommenders.updateConfig 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER: 您的 Google Cloud 项目的数字 ID。
  • OBSERVATION_PERIOD:您要设置的最短观察期。 请使用以下值之一:P30D(30 天)、P60D(60 天)或 P90D(90 天)。
  • ETAG:配置的当前 ETag,您可以通过 获取当前配置并复制 etag 字段。使用反斜杠可转义引号,例如: "\"df7308cca9719dcc\"".
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project
  • HTTP 方法和网址:

    PATCH https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

    请求 JSON 正文:

    {
      "name": "projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "OBSERVATION_PERIOD"
        }
      },
      "etag": "ETAG"
    }
    

    如需发送您的请求,请展开以下选项之一:

    响应中包含更新后的配置。例如,它可能如下所示:

    {
      "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "P60D"
        }
      },
      "etag": "\"2549af0942332910\"",
      "updateTime": "2022-10-05T21:26:52.127512Z",
      "revisionId": "b5fc0053"
    }
    

后续步骤