配置角色建议生成

通过更改 IAM Recommender 配置,您可以自定义角色建议的生成方式。本页面介绍了如何修改配置,以更改为项目生成建议的速度。

虽然 IAM Recommender 会为各种资源生成角色建议,但您只能修改为项目生成角色建议的方式。

准备工作

所需的角色

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

  • 查看配置详情: IAM Recommender Viewer (roles/recommender.iamViewer)
  • 修改配置: IAM Recommender Admin (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-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 API 的 projects.locations.recommenders.getConfig 方法,请使用该 API。

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

  • 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 字段的值找到该 ID。
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project
  • 将以下内容保存在名为 request.json 的文件中:

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

    执行 gcloud beta Recommender-config update 命令:

    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 API 的 projects.locations.recommenders.updateConfig 方法,请使用该配置。

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

  • PROJECT_NUMBER:您的 Google Cloud 项目的数字 ID。
  • OBSERVATION_PERIOD:您要设置的最短观察期。请使用以下某个值:P30D(30 天)、P60D(60 天)或 P90D(90 天)。
  • ETAG:配置的当前 ETag,您可以通过获取当前配置并复制响应的 etag 字段的值找到该 ID。使用反斜杠可转义引号,例如 "\"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"
    }
    

后续步骤