建立存取權政策

本頁說明如何為機構建立機構層級存取權政策,以及為機構中的資料夾和專案建立範圍限定政策。

事前準備

  • 確認您具備使用 Access Context Manager 的適當權限

建立組織層級存取權政策

如果機構已有機構層級存取權政策,您就無法為該機構建立機構層級存取權政策。

主控台

您在建立存取層級時,系統會自動建立預設的存取權政策;您不需要進行額外手動設定。

gcloud

如要建立組織層級存取權政策,請使用 create 指令。

gcloud access-context-manager policies create \
--organization ORGANIZATION_ID --title POLICY_TITLE

其中:

  • ORGANIZATION_ID 是您機構的數字 ID。

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

您應該會看到類似以下的輸出內容 (其中 POLICY_NAME 是 Google Cloud指派的政策專屬數字 ID):

Create request issued
Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.
Created.

接著,請設定預設政策

API

如要建立組織層級存取權政策,請按照下列步驟操作:

  1. 建立要求主體。

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

    其中:

    • ORGANIZATION_ID 是您機構的數字 ID。

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

  2. 呼叫 accessPolicies.create 來建立存取權政策。

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

回應主體

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

建立有範圍的存取權政策並委派政策

只有 VPC Service Controls 支援建立範圍限定的存取權政策。您必須繼續為 Google Cloud服務 (例如 Identity-Aware Proxy (IAP)) 使用機構層級政策。

主控台

  1. 在 Google Cloud 控制台導覽選單中,依序點選「Security」(安全性) 和「VPC Service Controls」

    前往「VPC Service Controls」頁面

  2. 如果系統提示,請選取您的機構、資料夾或專案。

  3. 在「VPC Service Controls」頁面中,選取範圍政策的父項存取政策。例如,您可以選取 default policy 機構政策。

  4. 按一下「管理政策」

  5. 在「管理 VPC Service Controls」頁面上,按一下「建立」

  6. 在「Create access policy」(建立存取權政策) 頁面的「Access policy name」(存取權政策名稱) 方塊中,輸入有範圍的存取權政策名稱。

    範圍限定存取權政策名稱的長度上限為 50 個字元,且開頭必須為英文字母,只能包含 ASCII 拉丁字母 (a-z、A-Z)、數字 (0-9) 或底線 (_)。範圍限定存取權政策名稱會區分大小寫,且必須在組織的存取權政策中不重複。

  7. 如要指定存取權政策的範圍,請按一下「範圍」

  8. 指定專案或資料夾做為存取權政策的範圍。

    • 如要選取要新增至存取權政策範圍的專案,請按照下列步驟操作:

      1. 在「範圍」窗格中,按一下「新增專案」

      2. 在「Add project」對話方塊中,選取該專案的核取方塊。

      3. 按一下 [完成]。新增的專案會顯示在「範圍」部分。

    • 如要選取要加入存取權政策範圍的資料夾,請按照下列步驟操作:

      1. 在「範圍」窗格中,按一下「新增資料夾」

      2. 在「新增資料夾」對話方塊中,選取資料夾的核取方塊。

      3. 按一下 [完成]。新增的資料夾會顯示在「範圍」部分。

  9. 如要委派受控範圍存取權政策的管理權,請按一下「主體」

  10. 如要指定要繫結至存取權政策的主體和角色,請按照下列步驟操作:

    1. 在「主體」窗格中,按一下「新增主體」

    2. 在「Add principals」對話方塊中,選取主體,例如使用者名稱或服務帳戶。

    3. 選取要與主體建立關聯的角色,例如編輯者和讀取者角色。

    4. 按一下 [儲存]。新增的主體和角色會顯示在「主體」部分。

  11. 在「建立存取權政策」頁面中,按一下「建立存取權政策」

gcloud

如要建立有範圍的存取權政策,請使用 gcloud access-context-manager policies create 指令。

gcloud access-context-manager policies create \
--organization ORGANIZATION_ID [--scopes=SCOPE] --title POLICY_TITLE

其中:

  • ORGANIZATION_ID 是您機構的數字 ID。

  • POLICY_TITLE 是指政策的可理解文字標題。政策名稱的長度上限為 50 個半形字元,開頭必須為英文字母,且只能包含 ASCII 拉丁字母 (a-z、A-Z)、數字 (0-9) 或底線 (_)。政策名稱會區分大小寫,且必須是組織內的存取權政策中唯一的名稱。

  • SCOPE 是這項政策適用的資料夾或專案。您只能指定一個資料夾或專案做為範圍,且範圍必須位於指定機構內。如果未指定範圍,政策就會套用至整個機構。

畫面會顯示以下輸出結果 (POLICY_NAME 是 Google Cloud指派的政策專屬數字 ID):

Create request issued
Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.
Created.

如要將主體和角色繫結至範圍限定的存取權政策,以便委派管理權,請使用 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.policyReader),或是自訂角色的角色 ID (例如 organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyReader)。

API

如要建立有範圍限制的存取權政策,請按照下列步驟操作:

  1. 建立要求主體。

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

    其中:

    • ORGANIZATION_ID 是您機構的數字 ID。

    • SCOPE 是這項政策適用的資料夾或專案。

    • POLICY_TITLE 是指政策的可理解文字標題。政策名稱的長度上限為 50 個半形字元,開頭必須為英文字母,且只能包含 ASCII 拉丁字母 (a-z、A-Z)、數字 (0-9) 或底線 (_)。政策名稱會區分大小寫,且必須是組織內的存取權政策中唯一的名稱。

  2. 呼叫 accessPolicies.create 來建立存取權政策。

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

回應主體

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

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

  1. 建立要求主體。

    {
     "policy": "IAM_POLICY",
    }

    其中:

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

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

回應主體

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

後續步驟