分析允许政策

本页面介绍了如何使用 Policy Analyzer 来分析允许政策,以确定哪些正文对哪些 Google Cloud 资源拥有什么访问权限。

主账号可以包括以下项:

  • 用户、群组或网域
  • 服务账号
  • 代理身份
  • 工作负载身份
  • 员工身份

本页面的示例展示了如何运行政策分析查询并立即查看结果。如果您想导出结果以进行进一步分析,可以使用 AnalyzeIamPolicyLongrunning 将查询结果写入 BigQueryCloud Storage

准备工作

所需的角色和权限

您需要拥有以下角色和权限才能分析允许政策。

所需 IAM 角色

如需获得分析许可政策所需的权限,请让管理员向您授予您将查询范围限定到的项目、文件夹或组织的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含分析许可政策所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需分析允许政策,您需要具备以下权限:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • 如需分析具有自定义 IAM 角色的政策,请执行以下操作: iam.roles.get
  • 如需使用 Google Cloud CLI 分析政策,请执行以下操作: serviceusage.services.use

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

必需的 Google Workspace 权限

如果您想展开查询结果中的群组,以查看某正文是否因加入 Google Workspace 群组而拥有某些角色或权限,则需要拥有 groups.read Google Workspace 权限。此权限包含在“群组读取者管理员”角色以及更强大的角色(例如“群组管理员”或“超级用户”)中。如需了解如何授予这些角色,请参阅分配特定管理员角色

确定哪些主账号可以访问某个资源

您可以使用政策分析器检查哪些主账号对项目、文件夹或组织中的特定资源拥有特定角色或权限。如需获取此信息,请创建查询,其中包含要分析其访问权限的资源以及要检查的一个或多个角色或权限。

控制台

  1. 在 Google Cloud 控制台中,前往政策分析器页面。

    转到“政策分析器”页面

  2. 分析政策部分,找到标记为自定义查询的窗格,然后点击该窗格中的创建自定义查询

  3. 选择查询范围字段中,选择要将查询范围限定到的项目、文件夹或组织。Policy Analyzer 将分析该项目、文件夹或组织的访问权限,以及该项目、文件夹或组织中的任何资源。

  4. 选择要检查的资源以及要检查的角色或权限:

    1. 参数 1 字段中,从下拉菜单中选择资源
    2. 资源字段中,输入要分析其访问权限的资源的完整资源名称。如果您不知道完整资源名称,请输入资源的显示名,然后从提供的资源列表中选择该资源。
    3. 点击 添加选择器
    4. 参数 2 字段中,选择角色权限
    5. 选择角色选择权限字段中,选择要检查的角色或权限。
    6. 可选:如需检查其他角色和权限,请继续添加角色权限选择器,直到您列出要检查的所有角色和权限。
  5. 可选:点击继续,然后选择要为此查询启用的所有高级选项

  6. 自定义查询窗格中,点击分析 > 运行查询。报告页面会显示您输入的查询参数,以及对指定资源拥有指定角色或权限的所有主账号的结果表。

    Google Cloud 控制台中的政策分析查询可能需要一分钟才能运行完毕。一分钟后, Google Cloud 控制台会停止查询并显示所有可用的结果。如果查询未在该时间内完成, Google Cloud 控制台会显示一个横幅,指示结果不完整。如需获取更多此类查询的结果,请将结果导出到 BigQuery

    您可以点击直观呈现结果来生成查询的可视化效果。如需了解详情,请参阅直观呈现结果预览版)。

gcloud

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectfolderorganization
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • FULL_RESOURCE_NAME:您要分析访问权限的资源的完整资源名称。如需查看完整资源名称格式的列表,请参阅资源名称格式
  • PERMISSIONS:您要检查的权限的逗号分隔列表,例如 compute.instances.get,compute.instances.start。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。

执行 gcloud asset analyze-iam-policy 命令:

Linux、macOS 或 Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS'

您会收到包含分析结果的 YAML 响应。每项分析结果都会列出一组与查询相关的访问权限、身份和资源,然后列出相关的 IAM 角色绑定。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,则结果为 CONDITIONAL

对指定资源拥有任何指定权限的主账号会列在响应的 identities 字段中。以下示例展示了单个分析结果,其中突出显示了 identities 字段。

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyze-iam-policy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

REST

如需确定哪些主账号对资源具有特定权限,请使用 Cloud Asset Inventory API 的 analyzeIamPolicy 方法。

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectsfoldersorganizations
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • FULL_RESOURCE_NAME:您要分析访问权限的资源的完整资源名称。如需查看完整资源名称格式的列表,请参阅资源名称格式
  • PERMISSION_1PERMISSION_2... PERMISSION_N:您要检查的权限,例如 compute.instances.get。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。

HTTP 方法和网址:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

请求 JSON 正文:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

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

您会收到包含分析结果的 JSON 响应。每项分析结果都描述了相关的 IAM 角色绑定,然后列出该绑定中的资源、访问权限和主账号。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,结果会列为 CONDITIONAL

对指定资源拥有任何指定权限的主账号会列在响应的 identities 字段中。以下示例展示了单个分析结果,其中突出显示了 identities 字段。

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyzeIamPolicy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

确定哪些主账号具有特定角色或权限

您可以使用 Policy Analyzer 检查哪些正文对组织中的任何 Google Cloud 资源拥有特定角色或权限。要获取此信息,请创建查询,其中包含要检查的一个或多个角色或权限,但不指定资源。

控制台

  1. 在 Google Cloud 控制台中,前往政策分析器页面。

    转到“政策分析器”页面

  2. 分析政策部分,找到标记为自定义查询的窗格,然后点击该窗格中的创建自定义查询

  3. 选择查询范围字段中,选择要将查询范围限定到的项目、文件夹或组织。Policy Analyzer 将分析该项目、文件夹或组织的访问权限,以及该项目、文件夹或组织中的任何资源。

  4. 参数 1 字段中,选择角色权限

  5. 选择角色选择权限字段中,选择要检查的角色或权限。

  6. 可选:要检查其他角色和权限,请执行以下操作:

    1. 点击 添加选择器
    2. 参数 2 字段中,选择角色权限
    3. 选择角色选择权限字段中,选择要检查的角色或权限。
    4. 继续添加角色权限选择器,直到列出要检查的所有角色和权限。
  7. 可选:点击继续,然后选择要为此查询启用的所有高级选项

  8. 自定义查询窗格中,点击分析 > 运行查询。报告页面会显示您输入的查询参数,以及对指定范围内的任意资源拥有指定角色或权限的所有主账号的结果表。

    Google Cloud 控制台中的政策分析查询可能需要一分钟才能运行完毕。一分钟后, Google Cloud 控制台会停止查询并显示所有可用的结果。如果查询未在该时间内完成, Google Cloud 控制台会显示一个横幅,指示结果不完整。如需获取更多此类查询的结果,请将结果导出到 BigQuery

    您可以点击直观呈现结果来生成查询的可视化效果。如需了解详情,请参阅直观呈现结果预览版)。

gcloud

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectfolderorganization
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • ROLES:您要检查的角色的英文逗号分隔列表,例如 roles/compute.admin,roles/compute.imageUser。如果您列出多个角色,政策分析器将检查是否列出了任何这些角色。
  • PERMISSIONS:您要检查的权限的逗号分隔列表,例如 compute.instances.get,compute.instances.start。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。

执行 gcloud asset analyze-iam-policy 命令:

Linux、macOS 或 Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --roles='ROLES' \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --roles='ROLES' `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --roles='ROLES' ^
    --permissions='PERMISSIONS'

您会收到包含分析结果的 JSON 响应。每项分析结果都描述了相关的 IAM 角色绑定,然后列出该绑定中的资源、访问权限和主账号。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,结果会列为 CONDITIONAL

具有任何指定角色或权限的主账号会列在响应的 identities 字段中。以下示例展示了单个分析结果,其中突出显示了 identities 字段。

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  - role: roles/compute.admin
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyze-iam-policy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

REST

如需确定哪些主账号具有特定角色或权限,请使用 Cloud Asset Inventory API 的 analyzeIamPolicy 方法。

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectsfoldersorganizations
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • ROLE_1ROLE_2... ROLE_N:您要检查的角色,例如 roles/compute.admin。如果您列出多个角色,Policy Analyzer 将检查是否包含所列出的任何角色。
  • PERMISSION_1PERMISSION_2... PERMISSION_N:您要检查的权限,例如 compute.instances.get。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。

HTTP 方法和网址:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

请求 JSON 正文:

{
  "analysisQuery": {
    "accessSelector": {
      "roles": [
        "ROLE_1",
        "ROLE_2",
        "ROLE_N"
      ],
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

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

您会收到包含分析结果的 JSON 响应。每项分析结果都描述了相关的 IAM 角色绑定,然后列出该绑定中的资源、访问权限和主账号。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,结果会列为 CONDITIONAL

具有任何指定角色或权限的主账号会列在响应的 identities 字段中。以下示例展示了单个分析结果,其中突出显示了 identities 字段。

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "role": "roles/compute.admin"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyzeIamPolicy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

确定主账号对某个资源拥有什么访问权限

您可以使用 Policy Analyzer 检查正文对组织中某个资源拥有什么角色或权限。要获取此信息,请创建查询,其中包含要分析其访问权限的主账号以及要分析其访问权限的资源。

控制台

  1. 在 Google Cloud 控制台中,前往政策分析器页面。

    转到“政策分析器”页面

  2. 分析政策部分,找到标记为自定义查询的窗格,然后点击该窗格中的创建自定义查询

  3. 选择查询范围字段中,选择要将查询范围限定到的项目、文件夹或组织。Policy Analyzer 将分析该项目、文件夹或组织的访问权限,以及该项目、文件夹或组织中的任何资源。

  4. 选择要检查的资源和主账号:

    1. 参数 1 字段中,从下拉菜单中选择资源
    2. 资源字段中,输入要分析其访问权限的资源的完整资源名称。如果您不知道完整资源名称,请输入资源的显示名,然后从提供的资源列表中选择该资源。
    3. 点击 添加选择器
    4. 参数 2 字段中,从下拉菜单中选择主账号
    5. 主账号字段中,开始输入用户、服务账号或群组的名称。然后,从提供的主账号列表中选择要分析其访问权限的用户、服务账号或群组。
  5. 可选:点击继续,然后选择要为此查询启用的所有高级选项

  6. 自定义查询窗格中,点击分析 > 运行查询。 报告页面会显示您输入的查询参数,以及指定主账号对指定资源拥有的所有角色的结果表。

    Google Cloud 控制台中的政策分析查询可能需要一分钟才能运行完毕。一分钟后, Google Cloud 控制台会停止查询并显示所有可用的结果。如果查询未在该时间内完成, Google Cloud 控制台会显示一个横幅,指示结果不完整。如需获取更多此类查询的结果,请将结果导出到 BigQuery

    您可以点击直观呈现结果来生成查询的可视化效果。如需了解详情,请参阅直观呈现结果预览版)。

gcloud

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectfolderorganization
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • FULL_RESOURCE_NAME:您要分析访问权限的资源的完整资源名称。如需查看完整资源名称格式的列表,请参阅资源名称格式
  • PRINCIPAL:您要分析其访问权限的主账号,格式为 PRINCIPAL_TYPE:ID,例如 user:my-user@example.com。如需查看主账号类型的完整列表,请参阅主账号标识符

执行 gcloud asset analyze-iam-policy 命令:

Linux、macOS 或 Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL

您会收到包含分析结果的 YAML 响应。每项分析结果都会列出一组与查询相关的访问权限、身份和资源,然后列出相关的 IAM 角色绑定。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,则结果为 CONDITIONAL

主账号对指定资源拥有的角色列在响应的 accesses 字段中。以下示例展示了单个分析结果,其中突出显示了 accesses 字段。

...
---
ACLs:
- accesses:
  - roles/iam.serviceAccountUser
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/iam.serviceAccountUser
---
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyze-iam-policy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

REST

如需确定主账号对某个资源拥有什么访问权限,请使用 Cloud Asset Inventory API 的 analyzeIamPolicy 方法。

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectsfoldersorganizations
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • FULL_RESOURCE_NAME:您要分析访问权限的资源的完整资源名称。如需查看完整资源名称格式的列表,请参阅资源名称格式
  • PRINCIPAL:您要分析其访问权限的主账号,格式为 PRINCIPAL_TYPE:ID,例如 user:my-user@example.com。如需查看主账号类型的完整列表,请参阅主账号标识符

HTTP 方法和网址:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

请求 JSON 正文:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    }
  }
}

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

您会收到包含分析结果的 JSON 响应。每项分析结果都描述了相关的 IAM 角色绑定,然后列出该绑定中的资源、访问权限和主账号。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,结果会列为 CONDITIONAL

主账号对指定资源拥有的角色列在响应的 accesses 字段中。以下示例展示了单个分析结果,其中突出显示了 accesses 字段。

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/iam.serviceAccountUser",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "roles": "iam.serviceAccountUser"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyzeIamPolicy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

确定主账号可以访问哪些资源

您可以使用 Policy Analyzer 检查正文对组织中的哪些资源具有特定角色或权限。要获取此信息,请创建查询,其中包含要分析其权限的主账号以及要检查的一个或多个权限或角色。

控制台

  1. 在 Google Cloud 控制台中,前往政策分析器页面。

    转到“政策分析器”页面

  2. 分析政策部分,找到标记为自定义查询的窗格,然后点击该窗格中的创建自定义查询

  3. 选择查询范围字段中,选择要将查询范围限定到的项目、文件夹或组织。Policy Analyzer 将分析该项目、文件夹或组织的访问权限,以及该项目、文件夹或组织中的任何资源。

  4. 选择要检查的主账号以及要检查的角色或权限:

    1. 参数 1 字段中,从下拉菜单中选择主账号
    2. 主账号字段中,开始输入用户、服务账号或群组的名称。然后,从提供的主账号列表中选择要分析其访问权限的用户、服务账号或群组。
    3. 点击 添加选择器
    4. 参数 2 字段中,选择角色权限
    5. 选择角色选择权限字段中,选择要检查的角色或权限。
    6. 可选:如需检查其他角色和权限,请继续添加角色权限选择器,直到您列出要检查的所有角色和权限。
  5. 可选:点击继续,然后选择要为此查询启用的所有高级选项

  6. 自定义查询窗格中,点击分析 > 运行查询。报告页面会显示您输入的查询参数,以及指定主账号对哪些资源拥有指定角色或权限的结果表。

    Google Cloud 控制台中的政策分析查询可能需要一分钟才能运行完毕。一分钟后, Google Cloud 控制台会停止查询并显示所有可用的结果。如果查询未在该时间内完成, Google Cloud 控制台会显示一个横幅,指示结果不完整。如需获取更多此类查询的结果,请将结果导出到 BigQuery

    您可以点击直观呈现结果来生成查询的可视化图表。如需了解详情,请参阅直观呈现结果预览版)。

gcloud

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectfolderorganization
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • PRINCIPAL:您要分析其访问权限的主账号,格式为 PRINCIPAL_TYPE:ID,例如 user:my-user@example.com。如需查看主账号类型的完整列表,请参阅主账号标识符
  • PERMISSIONS:您要检查的权限的逗号分隔列表,例如 compute.instances.get,compute.instances.start。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。

执行 gcloud asset analyze-iam-policy 命令:

Linux、macOS 或 Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS'

您会收到包含分析结果的 YAML 响应。每项分析结果都会列出一组与查询相关的访问权限、身份和资源,然后列出相关的 IAM 角色绑定。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,则结果为 CONDITIONAL

指定正文对哪些资源拥有指定权限,这些资源会列在响应的 resources 字段中。以下示例展示了单个分析结果,其中突出显示了 resources 字段。

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image
policy:
  attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyze-iam-policy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

REST

如需确定主账号可以访问哪些资源,请使用 Cloud Asset Inventory API 的 analyzeIamPolicy 方法。

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectsfoldersorganizations
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • PRINCIPAL:您要分析其访问权限的主账号,格式为 PRINCIPAL_TYPE:ID,例如 user:my-user@example.com。如需查看主账号类型的完整列表,请参阅主账号标识符
  • PERMISSION_1PERMISSION_2... PERMISSION_N:您要检查的权限,例如 compute.instances.get。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。

HTTP 方法和网址:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

请求 JSON 正文:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

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

您会收到包含分析结果的 JSON 响应。每项分析结果都描述了相关的 IAM 角色绑定,然后列出该绑定中的资源、访问权限和主账号。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,结果会列为 CONDITIONAL

指定正文对哪些资源拥有指定权限,这些资源会列在响应的 resources 字段中。以下示例展示了单个分析结果,其中突出显示了 resources 字段。

...
{
  "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyzeIamPolicy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

确定特定时间的访问权限

如果提供足够的背景信息,政策分析器可以分析仅在特定时间授予访问权限的 IAM 条件角色绑定。这些条件称为日期/时间条件。为了让政策分析器准确分析具有日期/时间条件的角色绑定,您需要在请求中定义访问时间。

Policy Analyzer 还可以分析资源条件,而无需用户输入。如需详细了解 Policy Analyzer 如何处理条件,请参阅条件访问

gcloud

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectfolderorganization
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • PERMISSIONS:可选。以英文逗号分隔的您要检查的权限列表,例如 compute.instances.get,compute.instances.start。如果您列出了多项权限,Policy Analyzer 将检查是否包含所列的任何权限。
  • FULL_RESOURCE_NAME:可选。要分析其访问权限的资源的完整资源名称。如需查看完整的资源名称格式列表,请参阅资源名称格式
  • PERMISSIONS:可选。以英文逗号分隔的您要检查的权限列表,例如 compute.instances.get,compute.instances.start。如果您列出了多项权限,Policy Analyzer 将检查是否包含所列的任何权限。
  • ACCESS_TIME:您要检查的时间。此时间必须是未来的时间。使用 RFC 3339 格式的时间戳,例如 2099-02-01T00:00:00Z

执行 gcloud asset analyze-iam-policy 命令:

Linux、macOS 或 Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS' \
    --access-time=ACCESS_TIME

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS' `
    --access-time=ACCESS_TIME

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS' ^
    --access-time=ACCESS_TIME

您会收到包含分析结果的 YAML 响应。每项分析结果都会列出一组与查询相关的访问权限、身份和资源,然后列出相关的 IAM 角色绑定。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,则结果为 CONDITIONAL

在请求中添加访问时间后,Policy Analyzer 便可评估日期/时间条件。如果条件的评估结果为 false,则相应角色不会包含在响应中。如果条件的计算结果为 true,则条件评估结果会列为 TRUE

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  conditionEvaluationValue: 'TRUE'
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    condition:
      expression: request.time.getHours("America/Los_Angeles") >= 5
      title: No access before 5am PST
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyze-iam-policy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

REST

如需确定哪些主账号在特定时间对资源拥有特定权限,请使用 Cloud Asset Inventory API 的 analyzeIamPolicy 方法。

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

  • RESOURCE_TYPE:要将搜索范围限定到的资源类型。系统只会分析附加到此资源及其后代的 IAM 允许政策。请使用值 projectsfoldersorganizations
  • RESOURCE_ID:您要将搜索范围限定到的Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代的 IAM 允许政策。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • PERMISSION_1PERMISSION_2... PERMISSION_N:可选。您要检查的权限,例如 compute.instances.get。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。
  • FULL_RESOURCE_NAME:可选。要分析其访问权限的资源的完整资源名称。如需查看完整的资源名称格式列表,请参阅资源名称格式
  • PERMISSION_1PERMISSION_2... PERMISSION_N:可选。您要检查的权限,例如 compute.instances.get。如果您列出多个权限,Policy Analyzer 将检查列出的任何权限。
  • ACCESS_TIME:您要检查的时间。此时间必须是未来的时间。使用 RFC 3339 格式的时间戳,例如 2099-02-01T00:00:00Z

HTTP 方法和网址:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

请求 JSON 正文:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "conditionContext": {
      "accessTime": "ACCESS_TIME"
    }
  }
}

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

您会收到包含分析结果的 JSON 响应。每项分析结果都描述了相关的 IAM 角色绑定,然后列出该绑定中的资源、访问权限和主账号。如果角色绑定是有条件的,分析结果还会包含条件评估结果。如果无法评估条件,结果会列为 CONDITIONAL

在请求中添加访问时间后,Policy Analyzer 便可评估日期/时间条件。如果条件的评估结果为 false,则相应角色不会包含在响应中。如果条件的计算结果为 true,则分析响应中的条件评估值为 TRUE

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ],
    "condition": {
      "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5",
      "title": "No access before 5am PST"
    }
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ],
      "conditionEvaluation": {
        "evaluationValue": "TRUE"
      }
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

如果请求在查询完成之前超时,您会收到 DEADLINE_EXCEEDED 错误。如需获得更多查询结果,请使用 analyzeIamPolicy 的长时间运行版本将结果写入 BigQuery 或 Cloud Storage。如需查看相关说明,请参阅将政策分析写入 BigQuery将政策分析写入 Cloud Storage

启用选项

您可以启用以下选项,以接收更详细的查询结果。

控制台

选项 说明
列出与查询匹配的资源内的资源 如果您启用此选项,查询结果将列出查询结果中任何父资源(项目、文件夹和组织)的相关后代资源(最多 1,000 个)。
列出群组内的单个用户

如果您启用此选项,查询结果中的所有群组都会展开为单个成员。如果您有足够的群组权限,系统还会展开嵌套的群组。每个群组的扩展上限为 1,000 名成员。

只有当您未在查询中指定正文时,此选项才可用。

列出角色内的权限

如果您启用此选项,查询结果将列出每个角色中的所有权限以及角色本身。

只有当您未在查询中指定任何权限或角色时,此选项才可用。

gcloud

本部分介绍了使用 gcloud CLI 分析许可政策时可以添加的几个常见标志。如需查看完整的选项列表,请参阅可选标志

标志 说明
--analyze-service-account-impersonation

如果启用此选项,Policy Analyzer 会运行额外的分析查询,以确定哪些人可以模拟对指定资源具有指定访问权限的服务账号。Policy Analyzer 会针对查询结果中的每个服务账号运行一次查询。这些查询会分析哪些人对服务账号拥有以下任一权限:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

这是一项开销非常大的操作,因为它会自动执行许多查询。我们强烈建议您使用 analyze-iam-policy-longrunning导出到 BigQuery 或使用 analyze-iam-policy-longrunning导出到 Cloud Storage,而不是使用 analyze-iam-policy

--expand-groups

如果您启用此选项,查询结果中的所有群组都会展开为单个成员。如果您有足够的群组权限,系统还会展开嵌套的群组。每个群组的扩展上限为 1,000 名成员。

只有当您未在查询中指定正文时,此选项才会生效。

--expand-resources 如果您启用此选项,查询结果将列出查询结果中任何父资源(项目、文件夹和组织)的相关后代资源(最多 1,000 个)。
--expand-roles

如果您启用此选项,查询结果将列出每个角色中的所有权限以及角色本身。

只有当您未在查询中指定任何权限或角色时,此选项才可用。

--output-group-edges 如果您启用此选项,查询结果会输出群组之间的相关成员关系。
--output-resource-edges 如果您启用此选项,查询结果将输出资源之间相关的父级/子级关系。

REST

如需启用任何选项,请先向分析查询添加 options 字段。例如:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
    },
    "accessSelector": {
      "permissions": [
        "iam.roles.get",
        "iam.roles.list"
      ]
   },
   "options": {
     OPTIONS
   }
  }
}

OPTIONS 替换为您要启用的选项,格式为 "OPTION": true。下表介绍了可用的选项:

选项 说明
analyzeServiceAccountImpersonation

如果启用此选项,Policy Analyzer 会运行额外的分析查询,以确定哪些人可以模拟对指定资源具有指定访问权限的服务账号。Policy Analyzer 会针对查询结果中的每个服务账号运行一次查询。这些查询会分析哪些人对服务账号拥有以下任一权限:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

这是一项开销非常大的操作,因为它会自动执行许多查询。我们强烈建议您使用 AnalyzeIamPolicyLongrunning导出到 BigQuery 或使用 AnalyzeIamPolicyLongrunning导出到 Cloud Storage,而不是使用 AnalyzeIamPolicy

expandGroups

如果您启用此选项,查询结果中的所有群组都会展开为单个成员。如果您有足够的群组权限,系统还会展开嵌套的群组。每个群组的扩展上限为 1,000 名成员。

只有当您未在查询中指定正文时,此选项才会生效。

expandResources 如果您启用此选项,查询结果将列出查询结果中任何父资源(项目、文件夹和组织)的最多 1,000 个相关后代资源
expandRoles

如果您启用此选项,查询结果将列出每个角色中的所有权限以及角色本身。

只有当您未在查询中指定任何权限或角色时,此选项才可用。

outputGroupEdges 如果您启用此选项,查询结果会输出群组之间的相关成员关系。
outputResourceEdges 如果您启用此选项,查询结果将输出资源之间相关的父级/子级关系。

直观呈现结果

您可以使用 Policy Analyzer 直观呈现允许政策查询结果。这有助于您了解资源层次结构中身份、角色、权限和资源之间的关系。您还可以使用这些直观呈现的结果来评估正文的哪些权限未使用或过剩。

政策分析器会根据授予权限的角色直观呈现关系。限定为特定权限的查询会显示提供该权限的角色的允许政策绑定。

如果查询范围限定为文件夹或组织资源,且查询中未指定任何资源,则会显示指定范围内的允许政策绑定。如果查询范围限定为组织或文件夹,但您想查看项目内资源的允许政策绑定,请在查询中指定资源,然后选择显示范围内的绑定

默认情况下,限定为项目资源的查询会显示项目资源和项目内资源的允许政策绑定。如需仅查看项目资源上的允许政策绑定,请清除显示范围内的绑定

项目资源旁边的数字表示可以使用所授予的角色访问该项目中的多少资源。点击带有数字的项目资源上的展开,即可查看可以使用所授予的角色访问该项目中的哪些资源(按服务汇总)。例如,BigQuery 表和数据集会收集在 BigQuery 下。

系统会先显示直接正文绑定,然后再加载来自群组成员资格的嵌套绑定。如果通过嵌套群组授予访问权限,并且您拥有所需权限,系统会显示指向具有相应绑定的特定群组的链接。如需查看更多群组成员资格,请点击加载更多

以下示例演示了如何直观呈现查询结果,以确定哪些正文可以访问资源,但其他查询类型也可以使用相同的流程直观呈现。

  1. 在 Google Cloud 控制台中,前往政策分析器页面。

    转到“政策分析器”页面

  2. 分析政策部分,找到标记为自定义查询的窗格,然后点击该窗格中的创建自定义查询

  3. 选择查询范围字段中,选择要将查询范围限定到的项目、文件夹或组织。Policy Analyzer 将分析该项目、文件夹或组织的访问权限,以及该项目、文件夹或组织中的任何资源。

  4. 选择要检查的主账号以及要检查的角色或权限:

    1. 参数 1 字段中,从下拉菜单中选择主账号
    2. 主账号字段中,开始输入主账号、服务账号或群组的名称。然后,从提供的主账号列表中选择要分析其访问权限的主账号、服务账号或群组。
    3. 点击 添加选择器
    4. 参数 2 字段中,选择角色权限
    5. 选择角色选择权限字段中,选择要检查的角色或权限。
    6. 可选:如需检查其他角色和权限,请继续添加角色权限选择器,直到您列出要检查的所有角色和权限。您最多可以选择 10 个角色和权限的组合。
  5. 自定义查询窗格中,点击分析 > 运行查询。报告页面会显示您输入的查询参数,以及指定主账号对哪些资源拥有指定角色或权限的结果表。

    Google Cloud 控制台中的政策分析查询可能需要一分钟才能运行完毕。一分钟后, Google Cloud 控制台会停止查询并显示所有可用的结果。如果查询未在该时间内完成, Google Cloud 控制台会显示一个横幅,指示结果不完整。如需获取更多此类查询的结果,请将结果导出到 BigQuery

  6. 在报告页面上,点击直观呈现结果

    此可视化图表从左到右分为最多四列。图表中的线条将主账号与群组、主账号或群组与角色以及角色与资源相关联。

    1. 左侧是查询返回的主账号。
    2. 如果主账号因某个角色被授予给某个群组而拥有该角色,则系统会使用标记为“成员”的线条将该主账号连接到相应群组。如果主账号是直接被授予该角色的,则此列不会显示。
    3. 标记为“has”的线条将每个主账号或群组连接到一个角色。
    4. 标有“有权访问”的线条将每个角色连接到其被授予访问权限的资源。
    5. 受所授予角色影响的资源数量以资源旁边的数字表示。
    6. 如果存在角色建议或政策数据分析,相应角色会以圆圈标记,并带有 灯泡图标。您可以点击该角色,详细了解相关建议,并使用相应链接查看和应用该建议。
  7. 如需调整查询,请点击切换面板“可视化结果”

    1. 范围字段中,点击浏览以更改要将查询范围限定到的项目、文件夹或组织。
    2. 主账号字段中,开始输入主账号、服务账号或群组的名称。然后,从提供的主账号列表中选择要分析其访问权限的主账号、服务账号或群组。
    3. 如需更改查询的角色,请在选择角色权限字段中,选择要检查的角色或权限。
    4. 如需更改查询的资源,请在资源字段中,输入要分析其访问权限的资源的完整资源名称。如果您不知道完整资源名称,请输入资源的显示名,然后从提供的资源列表中选择该资源。
    5. 点击搜索以更新可视化图表。

限制

当您分析特定类型的正文的访问权限时,Policy Analyzer 存在以下限制:

  • 代理主账号:当您搜索代理身份可以访问哪些角色和资源时,搜索结果仅限于直接绑定到代理身份和以下主账号集的绑定:

    • 信任网域中的所有代理身份,格式为 principalSet://<var>TRUST_DOMAIN</var>/*。例如 principalSet://agents.global.org-123456789012.system.id.goog/*

    • 具有 platformContainer 属性的所有代理身份,格式为 principalSet://<var>TRUST_DOMAIN</var>/attribute.platformContainer/aiplatform/projects/<var>PROJECT_NUMBER</var>。例如 principalSet://agents.global.org-123456789012.system.id.goog/attribute.platformContainer/aiplatform/projects/9876543210

    • 具有 platform 属性的所有代理身份,格式为 principalSet://<var>TRUST_DOMAIN</var>/attribute.platform/aiplatform。例如 principalSet://agents.global.org-123456789012.system.id.goog/attribute.platform/aiplatform

    • 具有 container 属性的所有代理身份,格式为 principalSet://<var>TRUST_DOMAIN</var>/attribute.container/projects/<var>PROJECT_NUMBER</var>。例如 principalSet://agents.global.org-123456789012.system.id.goog/attribute.container/projects/9876543210

  • 工作负载身份或员工主账号:当您搜索工作负载池或员工池中的单个身份可以访问哪些角色和资源时,搜索结果仅限于以下主账号集:

    • 相应工作负载身份池中的所有身份,格式为 principalSet://iam.googleapis.com/projects/<var>PROJECT_NUMBER</var>/locations/global/workloadIdentityPools/<var>POOL_ID</var>/*。例如 principalSet://iam.googleapis.com/projects/9876543210/locations/global/workloadIdentityPools/altostrat-contractors/*

    • 相应员工身份池中的所有身份,格式为 principalSet://iam.googleapis.com/locations/global/workforcePools/<var>POOL_ID</var>/*。 例如 principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/*

Policy Analyzer 可视化图表具有以下限制:

  • 创建查询时,在高级选项中做出的选择可能不会反映在可视化图表中。

  • 如果查询结果生成的图表过大或过于复杂,无法有效呈现,系统会显示警告消息。如需解决此问题,请优化查询参数,以缩小显示的结果集。

  • 一个可视化图表中最多可显示 1,000 个群组。

后续步骤