通过更改 IAM Recommender 配置,您可以自定义角色建议的生成方式。本页介绍了如何修改配置,以更改为项目生成建议的速度。
虽然 IAM Recommender 会为各种资源生成角色建议,但您只能修改为项目生成角色建议的方式。
准备工作
-
Enable the Recommender API.
- 了解 IAM Recommender 如何生成角色建议。
- 安装 Google Cloud CLI。
所需的角色
如需获得配置 IAM 角色建议所需的权限,请让管理员向您授予您要配置 IAM 建议程序的项目的以下 IAM 角色:
- 查看配置详情: IAM Recommender 查看者 (roles/recommender.iamViewer)
- 修改配置: IAM Recommender 管理员 (roles/recommender.iamAdmin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含配置 IAM 角色建议所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
必须拥有以下权限才能配置 IAM 角色建议:
-
查看配置详情:
recommender.iamPolicyRecommenderConfig.get
-
修改您的配置:
recommender.iamPolicyRecommenderConfig.update
查看当前配置
查看您的当前配置,了解 IAM Recommender 会等待多少天的权限使用数据后再生成角色建议。
您可以使用 gcloud CLI 或 REST API 查看配置。
gcloud
如需获取项目的 IAM 建议程序配置,请使用 gcloud beta recommender recommender-config describe
命令。
在使用下面的命令数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。
执行 gcloud beta recommender 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 推荐器配置。例如,它可能如下所示:
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
方法。
在使用任何请求数据之前,请先进行以下替换:
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 推荐器配置。例如,它可能如下所示:
{ "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" }
了解配置详情
配置的内容取决于配置适用于哪个推荐系统。IAM 推荐器配置包含以下组成部分(不一定遵循以下顺序):
name
:配置的标识符,格式为projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config
。recommenderGenerationConfig
:IAM 建议程序在生成建议时使用的参数。此字段包含以下参数:minimum_observation_period
:IAM 推荐工具需要多少天的权限使用数据才能开始生成角色建议。
etag
:配置的当前状态的标识符,用于防止并发更新。每次配置发生更改时,系统都会分配新的 ETag 值。updateTime
:配置最近一次更新的时间戳,采用世界协调时间 (UTC) 格式 (RFC 3339)。revisionId
:仅输出。配置的当前修订版的标识符。每次修改配置时,此值都会更新。
修改配置
修改配置可更改为项目生成建议的速度。
gcloud
如需修改项目的 IAM 建议程序配置,请使用 gcloud beta recommender recommender-config update
命令。
在使用下面的命令数据之前,请先进行以下替换:
-
OBSERVATION_PERIOD
:您要设置的最低观察期。 请使用以下某个值:P30D
(30 天)、P60D
(60 天)或P90D
(90 天)。 -
ETAG
:配置的当前 ETag。您可以通过获取当前配置并复制响应etag
字段的值来找到该 ETag。 PROJECT_ID
:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如my-project
。
将以下内容保存在名为 request.json
的文件中:
{ "params": { "minimum_observation_period": "OBSERVATION_PERIOD" } }
执行 gcloud beta recommender 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
字段的值来找到该 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" }