查找具有横向移动权限的服务账号

本页面介绍如何管理横向移动数据分析,这些数据分析可确定允许一个项目中的服务帐号模拟另一个项目中的服务帐号的角色。如需详细了解横向移动数据分析,请参阅 如何生成横向移动数据分析

横向移动数据分析有时与 角色建议相关联。角色建议会建议您采取哪些措施来修复横向移动数据分析发现的问题。

准备工作

所需的角色

如需获取管理横向移动数据分析所需的权限,请让管理员针对您要管理其数据分析的项目、文件夹或组织向您授予以下 IAM 角色:

  • 如需查看横向移动数据分析,请执行以下操作: IAM Recommender Viewer (roles/recommender.iamViewer)
  • 如需修改横向移动数据分析,请执行以下操作: IAM Recommender Admin (roles/recommender.iamAdmin)

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

这些预定义角色包含管理水平扩散数据分析所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

需要以下权限才能管理横向移动数据分析:

  • 如需查看水平扩散数据分析:
    • recommender.iamPolicyLateralMovementInsights.get
    • recommender.iamPolicyLateralMovementInsights.list
  • 如需修改水平扩散数据分析: recommender.iamPolicyLateralMovementInsights.update

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

列出横向移动数据分析

如需列出项目、文件夹或组织的所有横向移动数据分析,请使用以下方法之一:

控制台

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

    转到 IAM

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

安全性数据分析列显示项目所有与安全性相关的数据分析,包括横向移动数据分析。横向移动数据分析的格式为 N service account impersonations,其中 N 是角色绑定中的服务账号可以模拟的服务账号的数量。

gcloud

使用 gcloud recommender insights list 命令查看项目、文件夹或组织的所有横向移动数据分析。

在运行命令之前,请先替换以下值:

  • RESOURCE_TYPE:要为其列出数据分析的资源类型。使用值 projectfolderorganization
  • RESOURCE_ID:要为其列出数据分析的项目、文件夹或组织的 ID。
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

输出会列出您的项目、文件夹或组织的所有横向移动数据分析。例如:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE              DESCRIPTION
046f8b89-bcee-46cd-9ac4-06818ed5273a  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
1328df82-5af2-4493-9850-d8ede4e72b27  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-2@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
17f50957-333c-4f21-86c1-6a62216b309e  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-3@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
187200d2-b42c-48fb-86d7-c2746a87fed2  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-4@another-project.iam.gserviceaccount.com from another project can impersonate 32 service account(s) under this project.
1f1740a4-ff98-4f64-99a4-5ef5df5a2097  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       CROSS_PROJECT_IMPERSONATION  Service account sa-5@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.

REST

Recommender API 的 insights.list 方法可列出您的项目、文件夹或组织的所有横向移动数据分析。

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

  • RESOURCE_TYPE:要为其列出数据分析的资源类型。使用值 projectsfoldersorganizations
  • RESOURCE_ID:要为其列出数据分析的项目、文件夹或组织的 ID。
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project

HTTP 方法和网址:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights

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

响应会列出您的项目、文件夹或组织的所有横向移动数据分析。例如:

{
  "insights": [
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
      "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
      "content": {
        "impersonator": {
          "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
          "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
          "isGoogleManaged": false
        },
        "targetServiceAccounts": [
          "target-service-account-1@this-project.iam.gserviceaccount.com",
          "target-service-account-2@this-project.iam.gserviceaccount.com"
        ],
        "impersonationPolicy": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
          "role": "roles/editor",
          "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
          "condition": {
            "expression": "",
            "title": "",
            "description": "",
            "location": ""
          }
        },
        "impersonationPermissionUsage": [
          {
            "permission": "iam.serviceAccounts.actAs"
            "used": false
          }
        ],
        "hasPermissionUsageData": true
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
      "etag": "\"f48fa6a1b15c7741\"",
      "severity": "LOW"
    }
  ]
}

如需详细了解数据分析的组成部分,请参阅本页面上的查看横向移动数据分析

获取单一横向移动数据分析

如需获取有关单一数据分析的更多信息(包括数据分析的说明、状态及其关联的任何建议),请使用以下方法之一:

控制台

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

    转到 IAM

  2. 选择一个项目、文件夹或组织。
  3. 安全性数据分析列中,点击横向移动数据分析。横向移动数据分析的格式为 N service account impersonations,其中 N 是角色绑定中的服务账号可以模拟的服务账号的数量。

Google Cloud 控制台会打开一个显示数据分析详情的窗格。

gcloud

gcloud recommender insights describe 命令与数据分析 ID 结合使用可查看单个数据分析的相关信息。

  • INSIGHT_ID:您要查看的数据分析的 ID。如需查找此 ID,请列出项目、文件夹或组织的数据分析
  • RESOURCE_TYPE:要为其管理数据分析的资源类型。使用值 projectfolderorganization
  • RESOURCE_ID:要管理其数据分析的项目、文件夹或组织的 ID。
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.LateralMovementInsight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

输出会显示详细数据分析。例如,以下数据分析表明项目 123456789012 上的 IAM 政策允许 sa-1@another-project.iam.gserviceaccount.com 模拟 target-service-account-1@this-project.iam.gserviceaccount.comtarget-service-account-2@this-project.iam.gserviceaccount.com

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f
category: SECURITY
content:
  hasPermissionUsageData: true
  impersonationPermissionUsage:
  - permission: iam.serviceAccounts.actAs
    used: false
  impersonationPolicy:
    condition:
      description: ''
      expression: ''
      location: ''
      title: ''
    member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com
    resource: //cloudresourcemanager.googleapis.com/projects/123456789012
    role: roles/editor
  impersonator:
    isGoogleManaged: false
    serviceAccount: sa-1@another-project.iam.gserviceaccount.com
    serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098
  targetServiceAccounts:
  - target-service-account-1@this-project.iam.gserviceaccount.com
  - target-service-account-2@this-project.iam.gserviceaccount.com
description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
etag: '"f48fa6a1b15c7741"'
insightSubtype: CROSS_PROJECT_IMPERSONATION
lastRefreshTime: '2022-05-24T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
observationPeriod: 7776000s
severity: LOW
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

如需详细了解数据分析的组成部分,请参阅本页面上的查看横向移动数据分析

REST

Recommender API 的 insights.get 方法可获取单一数据分析。

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

  • RESOURCE_TYPE:要为其管理数据分析的资源类型。使用值 projectsfoldersorganizations
  • RESOURCE_ID:要管理其数据分析的项目、文件夹或组织的 ID。
  • INSIGHT_ID:您要查看的数据分析的 ID。如果您不知道数据分析的 ID,则可以通过在项目、文件夹或组织中列出数据分析来查找该数据分析。数据分析的 ID 是数据分析的 name 字段中 insights/ 之后的所有内容。
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project

HTTP 方法和网址:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

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

响应包含数据分析。例如,以下数据分析表明项目 123456789012 上的 IAM 政策允许 sa-1@another-project.iam.gserviceaccount.com 模拟 target-service-account-1@this-project.iam.gserviceaccount.comtarget-service-account-2@this-project.iam.gserviceaccount.com

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
  "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
  "content": {
    "impersonator": {
      "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
      "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
      "isGoogleManaged": false
    },
    "targetServiceAccounts": [
      "target-service-account-1@this-project.iam.gserviceaccount.com",
      "target-service-account-2@this-project.iam.gserviceaccount.com"
    ],
    "impersonationPolicy": {
      "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
      "role": "roles/editor",
      "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
      "condition": {
        "expression": "",
        "title": "",
        "description": "",
        "location": ""
      }
    },
    "impersonationPermissionUsage": [
      {
        "permission": "iam.serviceAccounts.actAs"
        "used": false
      }
    ],
    "hasPermissionUsageData": true
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
  "etag": "\"f48fa6a1b15c7741\"",
  "severity": "LOW"
}

如需详细了解数据分析的组成部分,请参阅本页面上的查看横向移动数据分析

查看横向移动数据分析

获得单个数据分析后,您可以查看其内容,以了解其突出显示的资源使用的模式。

控制台

当您在 Google Cloud 控制台中点击某个横向移动数据分析后,Google Cloud 控制台会打开一个窗格,其中显示了该数据分析的详细信息。这些详细信息的显示取决于数据分析是否与建议相关联。

如果数据分析与建议相关联,则该窗格会显示建议的详细信息

如果数据分析未与建议相关联,则该窗格会显示以下内容:

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

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

  • 允许在项目中进行模拟的权限:服务账号拥有的模拟权限列表。

  • 当前权限:服务账号的所有权限列表。

gcloud

数据分析的内容由其子类型确定。横向移动数据分析 (google.iam.policy.LateralMovementInsight) 数据分析具有 CROSS_PROJECT_IMPERSONATION 子类型。

CROSS_PROJECT_IMPERSONATION 数据分析包含以下组成部分(不一定遵循以下顺序):

  • associatedRecommendations:与数据分析相关联的任何建议的标识符。如果没有与数据分析相关联的建议,则此字段为空。
  • category:IAM 数据分析的类别始终为 SECURITY
  • content:详细报告服务账号是否能够模拟其他项目中的服务账号。此字段包含以下组成部分:

    • hasPermissionUsageData:一个布尔值,用于指示此角色绑定是否存在权限使用情况数据。权限使用情况数据用于指示是否使用了角色绑定中的权限。此数据不适用于条件角色绑定。
    • impersonationPermissionUsage:模拟权限及其使用信息的列表。如果过去 90 天内使用过某项权限,该权限会被视为已使用。否则会被视为未使用。

      如果 hasPermissionUsageData 为 false,impersonationPermissionUsage 字段将为空。

    • impersonationPolicy:授予服务账号模拟权限的角色绑定的相关信息。
    • impersonator:有关有权模拟项目中的服务帐号的服务帐号的详细信息,其中包括:
      • isGoogleManaged:服务帐号是否由 Google 拥有和管理。
      • serviceAccount:服务账号的电子邮件地址。
      • serviceAccountOwner:拥有服务帐号的项目。如果 Google 拥有该服务帐号,则此字段的值为 Google managed。如果该服务帐号归您的组织外部的项目所有,则此字段的值为 Unknown to your org
    • targetServiceAccountsimpersonator 字段中的服务账号有权模拟的服务账号的列表。如果模拟方可以模拟超过 1500 个服务账号,则列表为空。如需了解模拟方可以模拟的服务账号数量,请参阅 description 字段。
  • description:直观易懂的数据分析摘要。
  • etag:数据分析的当前状态的唯一标识符。每次数据分析发生更改时,系统都会分配新的 etag 值。

    要更改数据分析的状态,您必须提供现有数据分析的 etag。使用 etag 有助于确保仅在上次检索数据分析后没有任何更改的情况下执行所有操作。

  • insightSubtype:数据分析子类型。
  • lastRefreshTime:上次刷新数据分析的日期,它表示用于生成数据分析的数据的新鲜度。
  • name:数据分析的名称,格式如下:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

    占位符具有以下值:

    • RESOURCE_TYPE:生成数据分析的资源类型。
    • RESOURCE_ID:生成数据分析的项目、文件夹或组织的 ID。
    • INSIGHT_ID:数据分析的唯一 ID。
  • observationPeriod:生成数据分析的时间段。用于生成数据分析的源数据结束于 lastRefreshTime,在 lastRefreshTimeobservationPeriod 开始。
  • severity:数据分析的严重程度。所有横向移动数据分析的严重程度均为 LOW
  • stateInfo:数据分析被提出后,会经历多次状态转换:

    • ACTIVE:数据分析已生成,但尚未执行任何操作,或执行的操作并未更新数据分析状态。当底层数据发生更改时,系统会更新活跃数据分析。
    • ACCEPTED:已根据数据分析执行某种操作。如果关联的建议标记为 CLAIMEDSUCCEEDEDFAILED,或数据分析被直接接受,则表示数据分析已被接收。如果数据分析处于 ACCEPTED 状态,则数据分析内容无法更改。标记为已接受的数据分析会保留 90 天。
  • targetResources:数据分析所针对的组织、文件夹、项目或服务帐号的完整资源名称 。例如 //cloudresourcemanager.googleapis.com/projects/123456789012

REST

数据分析的内容由其子类型确定。横向移动数据分析 (google.iam.policy.LateralMovementInsight) 数据分析具有 CROSS_PROJECT_IMPERSONATION 子类型。

CROSS_PROJECT_IMPERSONATION 数据分析包含以下组成部分(不一定遵循以下顺序):

  • associatedRecommendations:与数据分析相关联的任何建议的标识符。如果没有与数据分析相关联的建议,则此字段为空。
  • category:IAM 数据分析的类别始终为 SECURITY
  • content:详细报告服务账号是否能够模拟其他项目中的服务账号。此字段包含以下组成部分:

    • hasPermissionUsageData:一个布尔值,用于指示此角色绑定是否存在权限使用情况数据。权限使用情况数据用于指示是否使用了角色绑定中的权限。此数据不适用于条件角色绑定。
    • impersonationPermissionUsage:模拟权限及其使用信息的列表。如果过去 90 天内使用过某项权限,该权限会被视为已使用。否则会被视为未使用。

      如果 hasPermissionUsageData 为 false,impersonationPermissionUsage 字段将为空。

    • impersonationPolicy:授予服务账号模拟权限的角色绑定的相关信息。
    • impersonator:有关有权模拟项目中的服务帐号的服务帐号的详细信息,其中包括:
      • isGoogleManaged:服务帐号是否由 Google 拥有和管理。
      • serviceAccount:服务账号的电子邮件地址。
      • serviceAccountOwner:拥有服务帐号的项目。如果 Google 拥有该服务帐号,则此字段的值为 Google managed。如果该服务帐号归您的组织外部的项目所有,则此字段的值为 Unknown to your org
    • targetServiceAccountsimpersonator 字段中的服务账号有权模拟的服务账号的列表。如果模拟方可以模拟超过 1500 个服务账号,则列表为空。如需了解模拟方可以模拟的服务账号数量,请参阅 description 字段。
  • description:直观易懂的数据分析摘要。
  • etag:数据分析的当前状态的唯一标识符。每次数据分析发生更改时,系统都会分配新的 etag 值。

    要更改数据分析的状态,您必须提供现有数据分析的 etag。使用 etag 有助于确保仅在上次检索数据分析后没有任何更改的情况下执行所有操作。

  • insightSubtype:数据分析子类型。
  • lastRefreshTime:上次刷新数据分析的日期,它表示用于生成数据分析的数据的新鲜度。
  • name:数据分析的名称,格式如下:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

    占位符具有以下值:

    • RESOURCE_TYPE:生成数据分析的资源类型。
    • RESOURCE_ID:生成数据分析的项目、文件夹或组织的 ID。
    • INSIGHT_ID:数据分析的唯一 ID。
  • observationPeriod:生成数据分析的时间段。用于生成数据分析的源数据结束于 lastRefreshTime,在 lastRefreshTimeobservationPeriod 开始。
  • severity:数据分析的严重程度。所有横向移动数据分析的严重程度均为 LOW
  • stateInfo:数据分析被提出后,会经历多次状态转换:

    • ACTIVE:数据分析已生成,但尚未执行任何操作,或执行的操作并未更新数据分析状态。当底层数据发生更改时,系统会更新活跃数据分析。
    • ACCEPTED:已根据数据分析执行某种操作。如果关联的建议标记为 CLAIMEDSUCCEEDEDFAILED,或数据分析被直接接受,则表示数据分析已被接收。如果数据分析处于 ACCEPTED 状态,则数据分析内容无法更改。标记为已接受的数据分析会保留 90 天。
  • targetResources:数据分析所针对的组织、文件夹、项目或服务帐号的完整资源名称 。例如 //cloudresourcemanager.googleapis.com/projects/123456789012

将横向移动数据分析标记为 ACCEPTED

如果您根据有效数据分析执行操作,则可以将该数据分析标记为 ACCEPTEDACCEPTED 状态会通知 Recommender API 您已根据此数据分析执行操作,这有助于优化您的建议。

标记为 ACCEPTED 后,已接受的数据分析将保留 90 天。

控制台

如果数据分析与建议相关联,则应用建议会将数据分析的状态更改为 ACCEPTED

如需在不应用建议的情况下将数据分析标记为 ACCEPTED,请使用 gcloud CLI 或 REST API。

gcloud

gcloud recommender insights mark-accepted 命令与数据分析 ID 结合使用可将数据分析标记为 ACCEPTED

  • INSIGHT_ID:您要查看的数据分析的 ID。如需查找此 ID,请列出项目、文件夹或组织的数据分析
  • RESOURCE_TYPE:要为其管理数据分析的资源类型。使用值 projectfolderorganization
  • RESOURCE_ID:要管理其数据分析的项目、文件夹或组织的 ID。
  • ETAG:数据分析版本的标识符。如需获取 etag,请执行以下操作:

    1. 使用 gcloud recommender insights describe 命令获取数据分析
    2. 在输出中查找并复制 etag 值,包括引号。例如 "d3cdec23cc712bd0"
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.policy.LateralMovementInsight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

输出显示数据分析,现在状态为 ACCEPTED

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f
category: SECURITY
content:
  hasPermissionUsageData: true
  impersonationPermissionUsage:
  - permission: iam.serviceAccounts.actAs
    used: false
  impersonationPolicy:
    condition:
      description: ''
      expression: ''
      location: ''
      title: ''
    member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com
    resource: //cloudresourcemanager.googleapis.com/projects/123456789012
    role: roles/editor
  impersonator:
    isGoogleManaged: false
    serviceAccount: sa-1@another-project.iam.gserviceaccount.com
    serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098
  targetServiceAccounts:
  - target-service-account-1@this-project.iam.gserviceaccount.com
  - target-service-account-2@this-project.iam.gserviceaccount.com
description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
etag: '"f48fa6a1b15c7741"'
insightSubtype: CROSS_PROJECT_IMPERSONATION
lastRefreshTime: '2022-05-24T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
observationPeriod: 7776000s
severity: LOW
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

如需详细了解数据分析的状态信息,请参阅本页面上的查看横向移动数据分析

REST

Recommender API 的 insights.markAccepted 方法可将数据分析标记为 ACCEPTED

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

  • RESOURCE_TYPE:要为其管理数据分析的资源类型。使用值 projectsfoldersorganizations
  • RESOURCE_ID:要管理其数据分析的项目、文件夹或组织的 ID。
  • INSIGHT_ID:您要查看的数据分析的 ID。如果您不知道数据分析的 ID,则可以通过在项目、文件夹或组织中列出数据分析来查找该数据分析。数据分析的 ID 是数据分析的 name 字段中 insights/ 之后的所有内容。
  • ETAG:数据分析版本的标识符。如需获取 etag,请执行以下操作:
    1. 使用 insights.get 方法获取数据分析
    2. 查找并复制响应中的 etag 值。
  • PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如 my-project

HTTP 方法和网址:

POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID:markAccepted

请求 JSON 正文:

{
  "etag": "ETAG"
}

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

响应包含数据分析,其状态现在为 ACCEPTED

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
  "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
  "content": {
    "impersonator": {
      "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
      "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
      "isGoogleManaged": false
    },
    "targetServiceAccounts": [
      "target-service-account-1@this-project.iam.gserviceaccount.com",
      "target-service-account-2@this-project.iam.gserviceaccount.com"
    ],
    "impersonationPolicy": {
      "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
      "role": "roles/editor",
      "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
      "condition": {
        "expression": "",
        "title": "",
        "description": "",
        "location": ""
      }
    },
    "impersonationPermissionUsage": [
      {
        "permission": "iam.serviceAccounts.actAs"
        "used": false
      }
    ],
    "hasPermissionUsageData": true
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACCEPTED"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
  "etag": "\"f48fa6a1b15c7741\"",
  "severity": "LOW"
}

如需详细了解数据分析的状态信息,请参阅本页面上的查看横向移动数据分析

后续步骤