管理存取權政策

本頁面說明如何管理現有的存取權政策,您可以執行以下操作:

取得存取權政策的名稱和 etag

主控台

Google Cloud 控制台不支援管理存取權政策,如果您要管理存取權政策,必須使用 gcloud 指令列工具或 API。

gcloud

如要取得存取權政策的名稱,請使用 list 指令。gcloud 指令列工具的所有存取層級指令都需要存取權政策名稱才能執行。

gcloud access-context-manager policies list \
    --organization ORGANIZATION_ID

其中:

  • ORGANIZATION_ID 是您機構的數字 ID。

畫面會顯示類似以下的輸出:

NAME           ORGANIZATION  TITLE        ETAG
1034095178592  511928527926  Corp Policy  10bc3c76ca809ab2

API

如要取得存取權政策的名稱,請呼叫 accessPolicies.list

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies

要求主體

要求主體必須為空白。

回應主體

如果成功,回應主體將輸出類似以下內容:

{
  "accessPolicies": [
    {
      object(AccessPolicy)
    }
  ],
  "nextPageToken": string
}

其中:

設定 gcloud 指令列工具的預設存取權政策

使用 gcloud 指令列工具時,您可以設定預設存取權政策。設定預設政策後,您就不必每次使用 Access Context Manager 指令時都指定政策。

如要設定預設存取權政策,請使用 config 指令。

gcloud config set access_context_manager/policy POLICY_NAME

其中:

委派存取權政策

主控台

Google Cloud 控制台不支援管理存取權政策,如果您要管理存取權政策,必須使用 gcloud 指令列工具或 API。

gcloud

如要將主體和角色繫結至範圍限定的存取權政策,以便委派管理權,請使用 add-iam-policy-binding 指令。

gcloud access-context-manager policies add-iam-policy-binding \
[POLICY] --member=PRINCIPAL --role=ROLE

其中:

  • POLICY 是政策的 ID 或政策的完整修飾 ID。

  • PRINCIPAL 是您要新增繫結的主體。請按照下列格式指定:user|group|serviceAccount:emaildomain:domain

  • ROLE 是指派給主體的角色名稱。角色名稱是預先定義角色的完整路徑 (例如 roles/accesscontextmanager.policyEditor),或是自訂角色的角色 ID (例如 organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor)。

API

如要委派受限存取權政策的管理權,請按照下列步驟操作:

  1. 建立要求主體。

    {
    "policy": "IAM_POLICY",
    }

    其中:

    • IAM_POLICY 是繫結集合。繫結可將一或多個成員或原則與單一角色繫結。主體可以是使用者帳戶、服務帳戶、Google 群組和網域。角色是具名權限清單,每個角色可以是 IAM 預先定義的角色,或使用者建立的自訂角色。
  2. 呼叫 accessPolicies.setIamPolicy 來委派存取權政策。

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

回應主體

如果成功,回應主體會包含 policy 的例項。

描述存取權政策

主控台

Google Cloud 控制台不支援管理存取權政策,如果您要管理存取權政策,必須使用 gcloud 指令列工具或 API。

gcloud

如要描述存取權政策,請使用 describe 指令。

gcloud access-context-manager policies describe POLICY_NAME

其中:

  • POLICY_NAME 是政策以數字表示的名稱。

畫面會出現以下輸出結果:

name: accessPolicies/1034095178592
parent: organizations/511928527926
title: Corp Policy

API

如要描述存取權政策,請呼叫 accessPolicies.get

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME

其中:

  • POLICY_NAME 是政策以數字表示的名稱。

要求主體

要求主體必須為空白。

回應主體

如果成功,回應主體會包含 AccessPolicy 物件

更新存取權政策

主控台

Google Cloud 控制台不支援管理存取權政策,如果您要管理存取權政策,必須使用 gcloud 指令列工具或 API。

gcloud

如要更新存取權政策,請使用 update 指令。目前您只能變更政策的標題。

gcloud access-context-manager policies update POLICY_NAME \
    --title=POLICY_TITLE

其中:

  • POLICY_NAME 是政策以數字表示的名稱。

  • POLICY_TITLE 是指政策的可理解文字標題。

畫面會出現以下輸出結果:

Waiting for PATCH operation [accessPolicies/POLICY_NAME/update/1542234231134882]...done.

API

目前,您只能變更存取權政策的標題。

更新政策的方式如下:

  1. 建立要求主體。

    {
     "parent": "ORGANIZATION_ID",
     "title": "POLICY_TITLE"
    }

    其中:

    • ORGANIZATION_ID 是您機構的數字 ID。

    • POLICY_TITLE 是指政策的可理解文字標題。

  2. 呼叫 accessPolicies.patch

    PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/UPDATE_MASK
    

    其中:

    • POLICY_NAME 是政策以數字表示的名稱。

    • UPDATE_MASK 是代表待更新值的字串,例如:title

    回應主體

    如果成功,呼叫的回應主體會包含 Operation 資源,其中提供有關 PATCH 作業的詳細資料。

刪除存取權政策

主控台

Google Cloud 控制台目前不支援管理存取權政策,如果您要管理存取權政策,必須使用 gcloud 指令列工具或 API。

gcloud

刪除存取權政策的方式如下:

  1. 使用 delete 指令。

    gcloud access-context-manager policies delete POLICY_NAME

    其中:

    • POLICY_NAME 是政策以數字表示的名稱。
  2. 確認您要刪除存取權政策。

    例如:

    You are about to delete policy [POLICY_NAME]
    
    Do you want to continue (Y/n)?
    

    畫面會出現以下輸出結果:

    Deleted policy [1034095178592].
    

API

如要刪除存取權政策,請呼叫 accessPolicies.delete

DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME

其中:

  • POLICY_NAME 是政策以數字表示的名稱。

要求主體

要求主體必須為空白。

回應主體

如果成功,呼叫的回應主體會包含 Operation 資源,其中提供有關 DELETE 作業的詳細資料。

後續步驟