主體存取邊界 (PAB) 政策可限制一組主體可存取的資源。如果不想再對一組主體強制執行主體存取邊界政策,可以刪除將政策繫結至該組主體的政策繫結。如要從繫結的所有主體集移除主體存取邊界政策,可以刪除該政策。
從主體集移除主體存取邊界政策會產生下列影響:
- 如果主體組合中的主體不受任何其他主體存取邊界政策限制,就能存取所有Google Cloud 資源。
- 如果主體集中的主體受到其他主體存取邊界政策的限制,則只能存取這些政策中的資源。
事前準備
設定驗證方法。
Select the tab for how you plan to use the samples on this page:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
閱讀主體存取邊界政策總覽。
刪除主體存取邊界政策所需的角色
如要取得刪除主體存取權範圍政策所需的權限,請要求管理員為您授予機構的主體存取權範圍管理員 (
roles/iam.principalAccessBoundaryAdmin
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備
iam.principalaccessboundarypolicies.delete
權限,可刪除主體存取邊界政策。刪除主體存取邊界政策繫結所需的角色
如要刪除主體存取邊界政策的政策繫結,所需權限取決於繫結至政策的主體集。
如要取得刪除主體存取權範圍政策的政策繫結所需的權限,請要求管理員授予下列 IAM 角色:
-
主體存取權範圍政策使用者 (
roles/iam.principalAccessBoundaryUser
) 貴機構 -
刪除繫結至工作團隊身分集區的主體存取邊界政策的政策繫結:
目標工作團隊身分集區的身分與存取權管理工作團隊集區管理員 (
roles/iam.workforcePoolAdmin
) -
刪除繫結至工作負載身分集區的主體存取邊界政策的政策繫結:
目標工作負載身分集區所屬專案的「身分與存取權管理 Workload Identity 集區管理員」 (
roles/iam.workloadIdentityPoolAdmin
) -
取得長時間執行的作業狀態,以刪除參照工作負載身分集區的繫結:
身分與存取權管理作業檢視者 (
roles/iam.operationViewer
) 在擁有目標工作負載身分集區的專案中 -
刪除繫結至 Google Workspace 網域的主體存取權範圍政策的政策繫結:
Workspace Pool IAM 管理員 (
roles/iam.workspacePoolAdmin
) 組織 -
刪除繫結至專案主體集的政策主體存取邊界政策:
專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin
) 專案 -
取得刪除參照專案主體集的繫結時,長時間執行的作業狀態:
專案的 IAM 作業檢視器 (
roles/iam.operationViewer
) -
刪除繫結至資料夾主體集的政策繫結:
資料夾的資料夾 IAM 管理員 (
roles/resourcemanager.folderIamAdmin
) -
刪除繫結至機構主體集的機構主體存取邊界政策的政策繫結:
機構的機構管理員 (
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
在機構上
準備移除主體存取邊界政策
移除主體存取邊界政策前,請先決定要達成下列哪個目標:
- 讓主體集中的主體有權存取所有資源
- 減少主體集中的主體可存取的資源數量
以下各節將說明如何達成這些目標。
讓主體有權存取所有資源
如要讓主體集中的主體有權存取所有資源,請執行下列步驟:
- 找出繫結至主體組合的所有主體存取邊界政策。
- 刪除相關政策繫結,移除繫結至主體集的所有主體存取邊界政策。
如果主體不受任何主體存取邊界政策限制,則主體有權存取所有 Google Cloud 資源。
有權存取資源不一定代表使用者可以存取資源。詳情請參閱「政策評估」。
減少主體可存取的資源
如果主體組合中的主體受到多項主體存取邊界政策的限制,您可以移除主體受限的一或多項主體存取邊界政策,減少主體可存取的資源數量。不過,請勿在任何時間點移除主體適用的所有主體存取邊界政策,否則主體將可存取所有 Google Cloud 資源。
如要移除主體存取邊界政策,同時確保主體集中的主體一律受至少一項主體存取邊界政策約束,請按照下列步驟操作:
- 找出繫結至主體組合的所有主體存取邊界政策。
找出只包含資源的主體存取邊界政策,讓主體集中的主體有權存取這些資源。這些是您不會從主體集移除的政策。
如果沒有這類政策,請建立新的主體存取邊界政策,只納入您希望主體有權存取的資源。然後,將政策附加至主體組合。
找出含有資源的主體存取邊界政策,您不希望主體組合中的主體有權存取這些資源。然後刪除相關政策繫結,移除這些主體存取邊界政策。
如要減少特定主體的存取權,請在政策繫結中加入條件,而非刪除政策繫結。
如要減少主體可存取的資源數量,但不想移除任何主體存取邊界政策,可以修改主體適用的主體存取邊界政策。如要瞭解如何修改主體存取邊界政策,請參閱「編輯主體存取邊界政策」。
測試刪除主體存取邊界政策或繫結
建議您先測試變更對主體存取權的影響,再決定是否要刪除主體存取權範圍政策或繫結。您可以使用政策模擬器模擬刪除作業,瞭解可能造成的影響。
如要測試刪除作業,請參閱「政策智慧」文件中的下列程序:
如要進一步瞭解如何使用政策模擬器測試主體存取邊界政策,請參閱「主體存取邊界政策的政策模擬器」。
從主體集移除主體存取邊界政策
從主體集移除主體存取邊界政策前,請先準備移除政策。接著,刪除將政策繫結至主體集的政策繫結,即可移除政策。
您可以使用 Google Cloud 控制台、gcloud CLI 或 IAM REST API 刪除政策繫結。
控制台
前往 Google Cloud 控制台的「Principal Access Boundary policies」(主體存取權界線政策) 頁面。
選取擁有主體存取權範圍政策的機構,並刪除您要刪除的繫結。
按一下要刪除繫結的主體存取邊界政策 ID。
按一下「Bindings」(繫結) 分頁標籤。
找出要刪除的繫結 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 個繫結限制。
您可以使用 Google Cloud 控制台、gcloud CLI 或 IAM REST API 刪除主體存取權界線政策。
控制台
前往 Google Cloud 控制台的「Principal Access Boundary policies」(主體存取權界線政策) 頁面。
選取擁有主體存取權範圍政策的機構,並刪除您要刪除的繫結。
找出要刪除的政策 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
時,即代表作業完成,您可以停止取得作業。後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-04 (世界標準時間)。