通过主账号访问边界 (PAB) 政策,您可以限制一组主账号有资格访问的资源。如果您不再希望对主账号集强制执行主账号访问边界政策,可以删除将该政策绑定到主账号集的政策绑定。如果您想从主账号访问边界政策绑定到的所有主账号集中移除该政策,可以将其删除。
从主账号集中移除主账号访问边界政策会产生以下影响之一:
- 如果主账号集中的主账号不受任何其他主账号访问边界政策的约束,则它们将有资格访问所有Trusted Cloud 资源。
- 如果主账号集中的主账号受其他主账号访问边界政策的约束,则它们只能有资格访问这些政策包含的资源。
准备工作
设置身份验证。
Select the tab for how you plan to use the samples on this page:
gcloud
安装 Google Cloud CLI,然后使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI,然后使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如需了解详情,请参阅 Trusted Cloud 身份验证文档中的使用 REST 时进行身份验证。
删除主账号访问边界政策所需的角色
如需获得删除 Principal Access Boundary Policy 所需的权限,请让您的管理员为您授予组织的 Principal Access Boundary Admin (
roles/iam.principalAccessBoundaryAdmin
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色可提供删除主账号访问边界政策所需的
iam.principalaccessboundarypolicies.delete
权限。删除主账号访问边界政策绑定所需的角色
删除主账号访问边界政策的政策绑定所需的权限取决于绑定到该政策的主账号集。
如需获得删除 Principal Access Boundary Policy 的政策绑定所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
针对组织的 Principal Access Boundary User (
roles/iam.principalAccessBoundaryUser
) -
删除绑定到员工身份池的 Principal Access Boundary Policy 的政策绑定:针对目标员工身份池的 IAM Workforce Pool Admin (
roles/iam.workforcePoolAdmin
) -
删除绑定到工作负载身份池的 Principal Access Boundary Policy 的政策绑定:拥有目标工作负载身份池的项目的 IAM Workload Identity Pool Admin (
roles/iam.workloadIdentityPoolAdmin
) -
获取删除引用工作负载身份池的绑定的长时间运行操作的状态:拥有目标工作负载身份池的项目的 IAM Operation Viewer (
roles/iam.operationViewer
) -
删除绑定到 Google Workspace 网域的 Principal Access Boundary Policy 的政策绑定:针对组织的 Workspace Pool IAM Admin (
roles/iam.workspacePoolAdmin
) -
删除绑定到项目主账号集的 Principal Access Boundary Policy 的政策绑定:针对项目的 Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
获取删除引用项目主账号集的绑定的长时间运行操作的状态:针对项目的 IAM Operation Viewer (
roles/iam.operationViewer
) -
删除绑定到文件夹主账号集的 Principal Access Boundary Policy 的政策绑定:针对文件夹的 Folder IAM Admin (
roles/resourcemanager.folderIamAdmin
) -
删除绑定到组织主账号集的 Principal Access Boundary Policy 的政策绑定:针对组织的 Organization Administrator (
roles/resourcemanager.organizationAdmin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色可提供删除主账号访问边界政策的政策绑定所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
删除主账号访问边界政策的政策绑定需要以下权限:
-
针对组织的
iam.principalaccessboundarypolicies.unbind
权限 -
删除绑定到员工身份池的主账号访问边界政策的政策绑定:针对目标员工身份池的
iam.workforcePools.deletePolicyBinding
-
删除绑定到工作负载身份池的主账号访问边界政策的政策绑定:针对拥有目标工作负载身份池的项目的
iam.workloadIdentityPools.deletePolicyBinding
-
获取删除引用工作负载身份池的绑定的长时间运行操作的状态:针对拥有目标工作负载身份池的项目的
iam.operations.get
-
删除绑定到 Google Workspace 网域的主账号访问边界政策的政策绑定:针对组织的
iam.workspacePools.deletePolicyBinding
-
删除绑定到项目的主账号集的主账号访问边界政策的政策绑定:针对项目的
resourcemanager.projects.deletePolicyBinding
-
获取长时间运行的操作的状态,以便删除引用项目主账号集的绑定:针对项目的
iam.operations.get
-
删除绑定到文件夹的主账号集的主账号访问边界政策的政策绑定:针对文件夹的
resourcemanager.folders.deletePolicyBinding
-
删除绑定到组织的主账号集的主账号访问边界政策的政策绑定:针对组织的
resourcemanager.organizations.deletePolicyBinding
为移除主账号访问边界政策做准备
在移除主账号访问边界政策之前,请决定您要实现以下哪个目标:
- 让主账号集中的主账号有资格访问所有资源
- 减少主账号集中的主账号有资格访问的资源数量
以下各部分介绍了实现以上各目标所需执行的步骤。
让主账号有资格访问所有资源
如果您想让主账号集中的主账号有资格访问所有资源,请执行以下操作:
- 确定绑定到主账号集的所有主账号访问边界政策。
- 通过删除相关的政策绑定,移除绑定到主账号集的所有主账号访问边界政策。
如果主账号不受任何主账号访问边界政策的约束,则该主账号有资格访问所有 Trusted Cloud 资源。
有资格访问资源并不一定意味着用户能够访问资源。如需了解详情,请参阅政策评估。
减少主账号有资格访问的资源
如果主账号集中的主账号受多项主账号访问边界政策的约束,则您可以通过移除主账号受约束的一项或多项主账号访问边界政策,减少主账号有资格访问的资源数量。不过,在任何时候都不要移除主账号受约束的所有主账号访问边界政策,否则主账号将有资格访问所有 Trusted Cloud 资源。
如需移除主账号访问边界政策,同时确保主账号集中的主账号始终受至少一项主账号访问边界政策约束,请按照以下步骤操作:
- 确定绑定到主账号集的所有主账号访问边界政策。
确定仅包含您希望主账号集中的主账号有资格访问的资源的主账号访问边界政策。这些是您不会从主账号集中移除的政策。
如果您没有任何此类政策,请创建新的主账号访问边界政策,其中仅包含您希望主账号有资格访问的资源。然后,将该政策附加到主账号集。
确定包含您不希望主账号集中的主账号有资格访问的资源的主账号访问边界政策。然后,通过删除相关的政策绑定来移除这些主账号访问边界政策。
如果您想减少特定主账号的访问权限,请为政策绑定添加条件,而不是删除它。
如果您想减少主账号有资格访问的资源数量,但不想移除任何主账号访问边界政策,则可以改为修改主账号受约束的主账号访问边界政策。如需了解如何修改主账号访问边界政策,请参阅修改主账号访问边界政策。
从主账号集中移除主账号访问边界政策
在从主账号集中移除主账号访问边界政策之前,请先为移除该政策做准备。然后,通过删除将该政策绑定到主账号集的政策绑定来移除该政策。
您可以使用 Trusted Cloud 控制台、gcloud CLI 或 IAM REST API 删除政策绑定。
控制台
在 Trusted Cloud 控制台中,前往 Principal Access Boundary Policy 页面。
选择拥有您要删除其绑定的主账号访问边界政策的组织。
点击您要删除其绑定的主账号访问边界政策的政策 ID。
点击绑定标签页。
找到您要删除的绑定的 ID。在该绑定所在的行中,点击
操作,然后点击删除绑定。在确认对话框中点击删除。
gcloud
gcloud iam policy-bindings delete
命令可删除政策绑定。在使用下面的命令数据之前,请先进行以下替换:
-
BINDING_ID
:您要删除的政策绑定的 ID,例如example-binding
。 -
RESOURCE_TYPE
:政策绑定是其子级的 Resource Manager 资源(项目、文件夹或组织)的类型。使用值project
、folder
或organization
。资源类型取决于政策绑定中的主账号集。如需了解要使用哪种资源类型,请参阅支持的主账号类型。
RESOURCE_ID
:政策绑定是其子级的项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud iam policy-bindings delete BINDING_ID \ --RESOURCE_TYPE=RESOURCE_ID --location=global
Windows (PowerShell)
gcloud iam policy-bindings delete BINDING_ID ` --RESOURCE_TYPE=RESOURCE_ID --location=global
Windows (cmd.exe)
gcloud iam policy-bindings delete BINDING_ID ^ --RESOURCE_TYPE=RESOURCE_ID --location=global
响应包含表示请求的长时间运行的操作。如需了解如何获取长时间运行的操作的状态,请参阅本页面上的检查长时间运行的操作的状态。
Delete request issued for: [example-binding] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374724030-6181fcd1520c5-d21b0a12-b704e1ce] to complete...done. Deleted policyBinding [example-binding].
REST
policyBindings.delete
方法可删除政策绑定。在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:政策绑定是其子级的 Resource Manager 资源(项目、文件夹或组织)的类型。使用值projects
、folders
或organizations
。资源类型取决于政策绑定中的主账号集。如需了解要使用哪种资源类型,请参阅支持的主账号类型。
RESOURCE_ID
:政策绑定是其子级的项目、文件夹或组织的 ID。项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。-
BINDING_ID
:您要删除的政策绑定的 ID,例如example-binding
。
HTTP 方法和网址:
DELETE https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID
如需发送您的请求,请展开以下选项之一:
响应包含表示请求的长时间运行的操作。如需了解如何获取长时间运行的操作的状态,请参阅本页面上的检查长时间运行的操作的状态。
{ "name": "organizations/123456789012/locations/global/operations/operation-1715373190994-6181f71b4daad-6d8168c1-13cc6600", "metadata": { "@type": "type.googleapis.com/google.iam.v3.OperationMetadata", "createTime": "2024-05-10T20:33:11.165728913Z", "target": "organizations/123456789012/locations/global/policyBindings/example-binding", "verb": "delete", "requestedCancellation": false, "apiVersion": "v3" }, "done": false }
删除主账号访问边界政策
在删除主账号访问边界政策之前,我们建议您确定并删除所有引用该主账号访问边界政策的主账号访问边界政策绑定。
如果您删除包含现有政策绑定的主账号访问边界政策,则这些绑定最终也会被删除。不过,在删除之前,政策绑定仍会计入可引用单个主账号集的 10 个绑定的上限。
您可以使用 Trusted Cloud 控制台、gcloud CLI 或 IAM REST API 删除 Principal Access Boundary Policy。
控制台
在 Trusted Cloud 控制台中,前往 Principal Access Boundary Policy 页面。
选择拥有您要删除其绑定的主账号访问边界政策的组织。
找到您要删除的政策的 ID。在该政策所在的行中,点击
操作,然后点击删除政策。在确认对话框中,确认您要删除政策:
- 如需只有在政策没有任何与之关联的绑定的情况下删除该政策,请点击删除。
- 如需删除政策和所有关联的绑定,请选中强制删除政策复选框,然后点击删除。
gcloud
gcloud iam gcloud iam principal-access-boundary-policies delete
命令可删除主账号访问边界政策和所有关联的绑定。在使用下面的命令数据之前,请先进行以下替换:
-
PAB_POLICY_ID
:您要删除的主账号访问边界政策的 ID,例如example-policy
。 ORG_ID
:拥有主账号访问边界政策的组织的 ID。组织 ID 是数字,例如123456789012
。FORCE_FLAG
:可选。如需强制该命令删除政策(即使现有政策绑定中引用了该政策),请使用--force
标志。如果未设置此标志,并且现有政策绑定中引用了该政策,则该命令会失败。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud iam principal-access-boundary-policies delete PAB_POLICY_ID \ --organization=ORG_ID --location=global FORCE_FLAG
Windows (PowerShell)
gcloud iam principal-access-boundary-policies delete PAB_POLICY_ID ` --organization=ORG_ID --location=global FORCE_FLAG
Windows (cmd.exe)
gcloud iam principal-access-boundary-policies delete PAB_POLICY_ID ^ --organization=ORG_ID --location=global FORCE_FLAG
响应包含表示请求的长时间运行的操作。如需了解如何获取长时间运行的操作的状态,请参阅本页面上的检查长时间运行的操作的状态。
Delete request issued for: [example-policy] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374811191-6181fd2471ab4-f0947406-85778c43] to complete... Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374811191-6181fd2471ab4-f0947406-85778c43] to complete...done. Deleted principalAccessBoundaryPolicy [example-policy].
REST
principalAccessBoundaryPolicies.delete
方法可删除主账号访问边界政策和所有关联的绑定。在使用任何请求数据之前,请先进行以下替换:
ORG_ID
:拥有主账号访问权限边界政策的组织的 ID。组织 ID 是数字,例如123456789012
。-
PAB_POLICY_ID
:您要删除的主账号访问边界政策的 ID,例如example-policy
。 -
FORCE_DELETE
:可选。如需强制请求删除政策(即使现有政策绑定中引用了该政策),请添加查询参数force=true
。如果未设置此查询参数,并且现有政策绑定中引用了该政策,则请求会失败。
HTTP 方法和网址:
DELETE https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?FORCE_DELETE
如需发送您的请求,请展开以下选项之一:
响应包含表示请求的长时间运行的操作。如需了解如何获取长时间运行的操作的状态,请参阅本页面上的检查长时间运行的操作的状态。
{ "name": "organizations/123456789012/locations/global/operations/operation-1715373190994-6181f71b4daad-6d8168c1-13cc6600", "metadata": { "@type": "type.googleapis.com/google.iam.v3.OperationMetadata", "createTime": "2024-05-10T20:33:11.165728913Z", "target": "organizations/123456789012/locations/global/policyBindings/example-policy", "verb": "delete", "requestedCancellation": false, "apiVersion": "v3" }, "done": false }
检查长时间运行的操作的状态
使用 REST API 或客户端库时,任何更改主账号访问边界政策或绑定的方法都会返回长时间运行的操作 (LRO)。长时间运行的操作会跟踪请求的状态,并指示政策或绑定更改是否已完成。
REST
operations.get
方法可返回长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
-
OPERATION_NAME
:操作的完整名称。您将在原始请求的响应中收到此名称。操作名称格式如下:
RESOURCE_TYPE/RESOURCE_ID/locations/global/operations/OPERATION_ID
HTTP 方法和网址:
GET https://iam.googleapis.com/v3/OPERATION_NAME
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "organizations/314340013352/locations/global/operations/operation-1732752311821-627edd607a3df-9a62cdea-2a7d9f07", "metadata": { "@type": "type.googleapis.com/google.iam.v3.OperationMetadata", "createTime": "2024-11-28T00:05:12.006289686Z", "endTime": "2024-11-28T00:05:12.192141801Z", "target": "organizations/314340013352/locations/global/principalAccessBoundaryPolicies/example-policy", "verb": "create", "requestedCancellation": false, "apiVersion": "v3" }, "done": true, "response": { PAB_POLICY } }
如果操作的
done
字段不存在,请重复获取操作,以持续监控其状态。使用截断指数退避算法在每个请求之间引入延迟。当done
字段设置为true
时,操作完成,您可以停止获取操作。后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-08。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-08。"],[[["Principal access boundary (PAB) policies can be deleted to remove access restrictions for principals, either by deleting the policy itself or by deleting the policy binding that links the policy to a principal set."],["Removing all PAB policies from a principal set grants those principals access to all Google Cloud resources, while removing some but not all will restrict them to resources defined in the remaining policies."],["To delete a PAB policy binding, specific IAM roles are required, varying depending on the type of principal set involved, such as workforce identity pools, workload identity pools, or project/folder/organization principal sets."],["Deleting a PAB policy can be done with or without deleting all bindings, however, deleting the policy with bindings can still have them count against their limit until they are eventually fully deleted."],["The deletion of policies or bindings can be done through the Google Cloud console, gcloud CLI, or the REST API, with each having its own required steps and parameters."]]],[]]