查看和应用角色建议

本页面介绍如何查看、了解和应用角色建议。角色建议可确保主帐号仅拥有其实际需要的权限,从而帮助您强制执行最小权限原则。

准备工作

所需 IAM 角色

本部分介绍处理角色建议所需的 IAM 角色和权限。

查看建议

如需获得查看角色建议所需的权限,请让管理员向您授予您要查看其建议的资源(项目、文件夹或组织)的以下 IAM 角色:

  • Role Viewer (roles/iam.roleViewer)
  • IAM Recommender Viewer (roles/recommender.iamViewer)
  • Project IAM Admin (roles/resourcemanager.projectIamAdmin)(如需查看项目级建议)
  • Folder IAM Admin (roles/resourcemanager.folderIamAdmin)(如需查看文件夹级建议)
  • Organization Admin (roles/resourcemanager.organizationAdmin)(如需查看组织级的建议)

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

这些预定义角色具有查看角色建议所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • resourcemanager.RESOURCE.getIamPolicy,其中 RESOURCE 是您要查看其建议的资源类型(projectsfoldersorganizations

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

应用和拒绝建议

如需获得查看、应用和拒绝角色建议所需的权限,请让管理员向您授予您要管理其建议的资源(项目、文件夹或组织)的以下 IAM 角色:

  • Role Viewer (roles/iam.roleViewer)
  • IAM Recommender Admin (roles/recommender.iamAdmin)
  • Project IAM Admin (roles/resourcemanager.projectIamAdmin)(如需管理项目级建议)
  • Folder IAM Admin (roles/resourcemanager.folderIamAdmin)(如需管理文件夹级建议)
  • Organization Admin (roles/resourcemanager.organizationAdmin)(如需管理组织级建议)

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

这些预定义角色包含查看、应用和拒绝角色建议所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.RESOURCE.getIamPolicy,其中 RESOURCE 是您要管理其建议的资源类型(projectsfoldersorganizations
  • resourcemanager.RESOURCE.setIamPolicy,其中 RESOURCE 是您要管理其建议的资源类型(projectsfoldersorganizations

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

查看和应用建议

查看和应用建议的最简单方法是使用 Google Cloud Console。此外,如果您希望在应用建议时自动创建自定义角色,则必须使用 Google Cloud Console。

您还可以使用 Google Cloud CLI 和 Recommender API 查看和应用建议。

控制台

  1. 在 Google Cloud 控制台中,前往 IAM 页面。

    转到 IAM

  2. 选择一个项目、文件夹或组织。

  3. 在有权访问项目的主帐号列表中,找到已分析的权限数量列。

    对于授予主帐号的每个角色,此列显示所有与安全相关的数据分析。这些数据分析突出显示了主帐号访问资源的模式。例如,某些数据分析突出显示多余的权限或主帐号不需要的权限。其他数据分析突出显示具有横向移动功能的服务帐号:

    如果有可用于解决数据分析的建议,Google Cloud Console 会显示有建议可用 图标。

  4. 如果有待查看的建议,请点击有建议可用 图标,详细了解相关建议。

    如果建议替换角色,则角色建议始终会建议使用您可以应用的一组预定义角色

    在某些情况下,角色建议还会建议在项目级层创建新的自定义角色。如果有自定义角色建议可用,Google Cloud Console 会默认显示该建议。要切换到预定义角色建议,请点击查看建议的预定义角色

  5. 请仔细查看建议,并务必了解它将如何改变主帐号对 Google Cloud 资源的访问权限。除了 Google 管理的服务帐号的建议以外,建议绝不会再提高主帐号的访问权限级别。如需了解详情,请参阅如何生成角色建议

    如需了解如何在控制台中查看建议,请参阅本页面上的查看建议

  6. 可选:如果建议创建自定义角色,请根据需要更新标题说明ID角色发布阶段

    如果您需要为自定义角色添加权限,请点击添加权限

    如果您需要从自定义角色中移除权限,请取消选中您要移除的每项权限对应的复选框。

  7. 针对建议采取措施。

    如需应用建议,请点击应用创建并应用。如果您在接下来的 90 天内改变主意,请使用建议历史记录还原您的选择。

    要忽略建议,请点击忽略,然后确认您的选择。只要建议仍然有效,您就可以恢复已忽略的建议

  8. 重复前面的步骤,直到您查看完所有建议。

gcloud

查看您的建议

要列出您的建议,请运行 gcloud recommender recommendations list 命令:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.iam.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --format=FORMAT

替换以下值:

  • RESOURCE_TYPE:要为其列出建议的资源类型。使用值 projectfolderorganization
  • RESOURCE_ID:要为其列出建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • FORMAT:响应的格式。使用 jsonyaml

响应类似于以下示例。在此示例中,服务帐号在过去 90 天内未使用 Compute Admin 角色 (roles/compute.admin) 的任何权限。因此,角色建议提议您撤消该角色:

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "description": "This role has not been used during the observation window.",
    "recommenderSubtype": "REMOVE_ROLE",
    "etag": "\"770237e2c0decf40\"",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "stateInfo": {
      "state": "ACTIVE"
    }
  }
]

仔细查看每项建议,并思考它将如何改变主帐号对 Google Cloud 资源的访问权限。如需了解如何使用 gcloud CLI 查看建议,请参阅本页面中的查看建议

如需应用建议,请执行以下操作

  1. 使用 gcloud recommender recommendations mark-claimed 命令将建议的状态更改为 CLAIMED,,这样可以防止建议在您应用它时发生变化:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    替换以下值:

    • RECOMMENDATION_ID:建议的唯一标识符。此值显示在建议的 name 字段末尾。在上面的示例中,ID 为 fb927dc1-9695-4436-0000-f0f285007c0f
    • RESOURCE_TYPE:要为其管理建议的资源类型。使用值 projectfolderorganization
    • RESOURCE_ID:要为其管理建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
    • FORMAT:响应的格式。请使用 jsonyaml
    • ETAG:建议中 etag 字段的值,例如 "dd0686e7136a4cbb"。请注意,该值可以包含引号。
    • STATE_METADATA:可选。以英文逗号分隔的键值对,其中包含您对建议所选择的元数据。例如 --state-metadata=reviewedBy=alice,priority=high。元数据会替换建议中的 stateInfo.stateMetadata 字段。

    如果命令成功,响应会显示建议处于 CLAIMED 状态,如下例所示。为清楚起见,示例省略了大部分字段:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"df7308cca9719dcc\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]
  2. 获取项目的允许政策,然后修改允许政策,以便反映建议。

  3. 如果能够应用建议,请将建议的状态更新为 SUCCEEDED;否则,请更新为 FAILED

    gcloud recommender recommendations COMMAND \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    替换以下值:

    • COMMAND:如果您可以应用建议,请使用 mark-succeeded;否则,请使用 mark-failed
    • RECOMMENDATION_ID:建议的唯一标识符。此值显示在建议的 name 字段末尾。在上面的示例中,ID 为 fb927dc1-9695-4436-0000-f0f285007c0f
    • RESOURCE_TYPE:要为其管理建议的资源类型。使用值 projectfolderorganization
    • RESOURCE_ID:要为其管理建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
    • FORMAT:响应的格式。请使用 jsonyaml
    • ETAG:建议中 etag 字段的值,例如 "dd0686e7136a4cbb"。请注意,该值可以包含引号。
    • STATE_METADATA:可选。以英文逗号分隔的键值对,其中包含您对建议所选择的元数据。例如 --state-metadata=reviewedBy=alice,priority=high。元数据会替换建议中的 stateInfo.stateMetadata 字段。

    例如,如果您将建议标记为成功,响应会显示建议处于 SUCCEEDED 状态。为清楚起见,此示例省略了大部分字段:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"dd0686e7136a4cbb\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]

REST

以下说明假定您已通过身份验证并设置了 GOOGLE_APPLICATION_CREDENTIALS 环境变量。

查看您的建议

如需列出项目的所有可用建议,请使用 Recommender API 的 recommendations.list 方法。

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

  • RESOURCE_TYPE:您要管理建议的资源的类型。使用值 projectsfoldersorganizations
  • RESOURCE_ID:要为其管理建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • PAGE_SIZE:可选。要从此请求返回的最大结果数。如果未指定,则服务器将决定要返回的结果数。如果建议的数量大于页面大小,则响应会包含用于检索下一页结果的分页令牌。
  • PAGE_TOKEN:可选。此方法之前的响应中返回的分页令牌。如果已指定,则建议列表将从上一个请求结束的位置开始。
  • FILTER:可选。用于限制返回的建议的过滤条件表达式。您可以根据 stateInfo.state 字段过滤建议。例如 stateInfo.state:"DISMISSED"stateInfo.state:"FAILED"

HTTP 方法和网址:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

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

响应类似于以下示例。在本示例中,项目 example-project 中的服务帐号在过去 90 天内未使用 Compute Admin 角色 (roles/compute.admin) 的任何权限。因此,Recommender 建议您撤消该角色:

{
  "recommendations": [
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "stateInfo": {
      "state": "ACTIVE"
    }
    "etag": "\"770237e2c0decf40\"",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
  ]
}

仔细查看每项建议,并思考它将如何改变主帐号对 Google Cloud 资源的访问权限。如需了解如何通过 REST API 查看建议,请参阅本页面上的查看建议

如需应用建议,请执行以下操作

  1. 将建议标记为 CLAIMED

    如需将建议标记为 CLAIMED,这样可以防止建议在您应用它时发生变化,请使用 Recommender API 的 recommendations.markClaimed 方法。

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

    • RESOURCE_TYPE:您要管理建议的资源的类型。使用值 projectsfoldersorganizations
    • RESOURCE_ID:要为其管理建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
    • RECOMMENDATION_ID:建议的唯一标识符。此值显示在建议的 name 字段末尾。例如,如果 name 字段为 projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f,则建议 ID 为 fb927dc1-9695-4436-0000-f0f285007c0f
    • ETAG:建议中 etag 字段的值,例如 "dd0686e7136a4cbb"。使用反斜杠可转义引号,例如 "\"df7308cca9719dcc\""
    • STATE_METADATA:可选。包含键值对的对象,其中包含您对建议所选择的元数据。例如 {"reviewedBy": "alice", "priority": "high"}。元数据会替换建议中的 stateInfo.stateMetadata 字段。

    HTTP 方法和网址:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    请求 JSON 正文:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    响应会显示 CLAIMED 状态的建议,如以下示例所示。为清楚起见,此示例省略了大部分字段:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

  2. 获取项目的允许政策,然后修改允许政策,以便反映建议。

  3. 如果能够应用建议,请将建议的状态更新为 SUCCEEDED;否则,请更新为 FAILED

    SUCCEEDED

    如需将建议标记为 SUCCEEDED,表示您可以采纳该建议,请使用 Recommender API 的 recommendations.markSucceeded 方法。

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

    • RESOURCE_TYPE:您要管理建议的资源的类型。使用值 projectsfoldersorganizations
    • RESOURCE_ID:要为其管理建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
    • RECOMMENDATION_ID:建议的唯一标识符。此值显示在建议的 name 字段末尾。例如,如果 name 字段为 projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f,则建议 ID 为 fb927dc1-9695-4436-0000-f0f285007c0f
    • ETAG:建议中 etag 字段的值,例如 "dd0686e7136a4cbb"。使用反斜杠可转义引号,例如 "\"df7308cca9719dcc\""
    • STATE_METADATA:可选。包含键值对的对象,其中包含您对建议所选择的元数据。例如 {"reviewedBy": "alice", "priority": "high"}。元数据会替换建议中的 stateInfo.stateMetadata 字段。

    HTTP 方法和网址:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    请求 JSON 正文:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    响应会显示 SUCCEEDED 状态的建议,如以下示例所示。为清楚起见,此示例省略了大部分字段:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

    FAILED

    如需将建议标记为 FAILED,表示您无法应用建议,请使用 Recommender API 的 recommendations.markFailed 方法。

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

    • RESOURCE_TYPE:您要管理建议的资源的类型。使用值 projectsfoldersorganizations
    • RESOURCE_ID:要为其管理建议的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
    • RECOMMENDATION_ID:建议的唯一标识符。此值显示在建议的 name 字段末尾。例如,如果 name 字段为 projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f,则建议 ID 为 fb927dc1-9695-4436-0000-f0f285007c0f
    • ETAG:建议中 etag 字段的值,例如 "dd0686e7136a4cbb"。使用反斜杠可转义引号,例如 "\"df7308cca9719dcc\""
    • STATE_METADATA:可选。包含键值对的对象,其中包含您对建议所选择的元数据。例如 {"reviewedBy": "alice", "priority": "high"}。元数据会替换建议中的 stateInfo.stateMetadata 字段。

    HTTP 方法和网址:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    请求 JSON 正文:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    响应会显示 FAILED 状态的建议,如以下示例所示。为清楚起见,此示例省略了大部分字段:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

审核建议

每条建议都包含可帮助您了解提出该建议原因的信息。

控制台

为帮助您了解提出建议的原因,Google Cloud Console 会显示与建议关联的政策数据分析所报告的主帐号的权限使用情况。例如,Cloud Console 可能显示如下所示的列表:

为帮助您了解应用建议的影响,Google Cloud Console 还会显示用颜色和符号编码的权限列表。此列表会指出如果您应用建议,主帐号的权限将如何变化。例如,Cloud Console 可能显示如下所示的列表:

与每种颜色和符号相关联的权限类型如下所示:

  • 灰色、无符号:同时属于该主帐号当前角色和建议角色的权限。

  • 红色、带减号 :权限属于该主帐号的当前角色,但不属于建议角色,因为该主帐号在过去 90 天内未使用过这些权限。

  • 红色,带加号 :权限不属于该主帐号的当前角色,但属于建议角色。此类权限仅显示在 Google 管理的服务帐号的建议中。

  • 蓝色、带“机器学习”图标 :同时属于该主帐号当前角色和建议角色的权限,并不是因为主帐号在过去 90 天内使用过这些权限,而是因为 Recommender 已通过机器学习确定他们将来可能需要这些权限。

一些建议还与横向移动数据分析相关。横向移动数据分析识别允许一个项目中的服务帐号模拟另一个项目中的服务帐号的角色。如果建议与横向移动数据分析相关联,Google Cloud Console 还会显示以下内容:

  • 服务帐号的源项目:在其中创建具有模拟权限的服务帐号的项目。

  • 此项目中可以模拟的服务帐号:当前项目中具有模拟权限的服务帐号可以模拟的所有服务帐号的列表。

gcloud

如需详细了解建议的各个字段,请参阅 Recommendation 参考文档

如要查看此建议基于的权限使用情况,请查看与建议相关的政策数据分析。这些数据分析在 associatedInsights 字段中列出。如需查看与建议相关的政策数据分析,请执行以下操作:

  • 确定 associatedInsights 字段中的哪些数据分析是政策数据分析。政策数据分析的数据分析类型为 google.iam.policy.insight。此类型显示在 insight 字段中的 insightTypes 后面。
  • 复制政策数据分析的 ID。该 ID 是 insight 字段中 insights/ 后面的所有内容。在上述示例中,数据分析 ID 为 279ef748-408f-44db-9a4a-1ff8865b9839
  • 按照说明使用您复制的数据分析 ID 来获取政策数据分析

一些建议还与横向移动数据分析相关,此类数据分析用于标识允许一个项目中的服务帐号模拟另一个项目中的服务帐号的角色。这些数据分析也在 associatedInsights 字段中列出。如需查看与建议相关的横向移动数据分析,请执行以下操作:

  • 确定 associatedInsights 字段中的哪些数据分析是横向移动数据分析。横向移动数据分析的数据分析类型为 google.iam.policy.LateralMovementInsight。此类型显示在 insight 字段中的 insightTypes 后面。
  • 复制政策数据分析的 ID。该 ID 是 insight 字段中 insights/ 后面的所有内容。在上述示例中,数据分析 ID 为 279ef748-408f-44db-9a4a-1ff8865b9839
  • 按照说明使用您复制的数据分析 ID 来获取横向移动数据分析

REST

如需详细了解建议的各个字段,请参阅 Recommendation 参考文档

如要查看此建议基于的权限使用情况,请查看与建议相关的政策数据分析。这些数据分析在 associatedInsights 字段中列出。如需查看与建议相关的政策数据分析,请执行以下操作:

  • 确定 associatedInsights 字段中的哪些数据分析是政策数据分析。政策数据分析的数据分析类型为 google.iam.policy.insight。此类型显示在 insight 字段中的 insightTypes 后面。
  • 复制政策数据分析的 ID。该 ID 是 insight 字段中 insights/ 后面的所有内容。在上述示例中,数据分析 ID 为 279ef748-408f-44db-9a4a-1ff8865b9839
  • 按照说明使用您复制的数据分析 ID 来获取政策数据分析

一些建议还与横向移动数据分析相关,此类数据分析用于标识允许一个项目中的服务帐号模拟另一个项目中的服务帐号的角色。这些数据分析也在 associatedInsights 字段中列出。如需查看与建议相关的横向移动数据分析,请执行以下操作:

  • 确定 associatedInsights 字段中的哪些数据分析是横向移动数据分析。横向移动数据分析的数据分析类型为 google.iam.policy.LateralMovementInsight。此类型显示在 insight 字段中的 insightTypes 后面。
  • 复制政策数据分析的 ID。该 ID 是 insight 字段中 insights/ 后面的所有内容。在上述示例中,数据分析 ID 为 279ef748-408f-44db-9a4a-1ff8865b9839
  • 按照说明使用您复制的数据分析 ID 来获取横向移动数据分析

查看、还原和恢复更改

在您应用或忽略项目级角色绑定的建议后,该操作会显示在建议历史记录中。

如需查看建议历史记录,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 IAM 页面。

    转到 IAM

  2. 选择一个项目、文件夹或组织。

  3. 点击屏幕顶部附近的建议历史记录

    Google Cloud Console 会显示您之前对角色建议的操作列表。

  4. 要查看建议的详细信息,请点击 展开箭头。

    Google Cloud Console 会显示所执行操作的详细信息,包括执行操作的主帐号:

  5. (可选)如有必要,可以还原建议,该操作会撤消对建议的更改,或恢复您已忽略的建议。

    如需还原之前应用的建议更改,请点击还原。Google Cloud Console 会还原对主帐号角色所做的更改。Google Cloud Console 中不会再显示建议。

    要恢复已忽略的建议,请点击恢复。建议将显示在 Google Cloud Console 的 IAM 页面上。系统不会更改任何角色或权限。

后续步骤