管理多個機構資源

多個 Google Cloud 組織資源可讓您將業務單位或部門視為獨立實體,不需集中管理。在大多數情況下,請使用Google Cloud 資源階層中單一組織資源下的資料夾。組織資源會建立其下專案和資料夾的擁有權。每個 Google Workspace 或 Cloud Identity 帳戶都會對應至一個主網域 (例如 example.com),並建立一個組織資源。如要進一步瞭解身分網域選項,請參閱「新增使用者別名網域或次要網域」和「變更 Google Workspace 的主網域」。或者,您也可以使用獨立機構,這類機構獨立運作,不需要 Cloud Identity 或 Google Workspace 帳戶。

使用多項組織資源的影響

如果您不希望某個 Google Cloud、Google Workspace 或 Cloud Identity 帳戶的使用者,存取其他帳戶使用者建立的資源,請使用多個組織資源。將資源分成多個組織資源會導致下列情況:

  • 根據預設,任何使用者都無法集中查看及控管所有資源。

  • 子組織通用的政策必須在每個組織資源上複製。

  • 不支援將資料夾從某個組織資源移至另一個組織資源。詳情請參閱「在組織資源之間遷移專案」。

  • 每個 Cloud Identity 機構資源都需要 Google Workspace 帳戶。因此,如要操作多個 Cloud Identity 機構資源,您必須擁有多個 Google Workspace 帳戶,並能管理這些帳戶的身分。

使用單一組織資源

大多數想要維護獨立子組織的組織,都可以使用單一組織資源和資料夾來達成。如果您只有一個 Google Workspace 帳戶,這個帳戶會對應至組織資源,子組織則會對應至資料夾。

選擇組織管理員

Google Workspace 和 Cloud Identity 使用者可以按照下列操作說明,選擇一或多位使用者擔任組織資源的 IAM 組織管理員。

如需為獨立機構設定 IAM 的操作說明,請參閱「新增機構擁有者」。

如要新增組織管理員,可以使用 Google Cloud 控制台、Google Cloud CLI 或 Resource Manager API。

控制台

  1. 以 Google Workspace 或 Cloud Identity 超級管理員身分登入 Google Cloud 控制台,然後前往「IAM & Admin」(IAM 與管理) 管理頁面:

    開啟「IAM & admin」(IAM 與管理) 頁面

  2. 選取要編輯的組織資源:

    1. 按一下頁面頂端的專案下拉式選單。

    2. 在「Select from」(可用的選項) 對話方塊中,按一下組織下拉式清單,然後選取要新增組織管理員的組織資源。

    3. 在顯示的清單中,按一下組織資源,開啟「IAM Permissions」(IAM 權限) 頁面。

  3. 按一下「Add」(新增),然後輸入要設為組織管理員的一或多位使用者電子郵件地址。

  4. 在「Select a role」(請選擇角色) 下拉式選單中,依序選取「Resource Manager」>「Organization Administrator」(組織管理員),然後按一下「Save」(儲存)。

    組織管理員可以執行下列操作:

    • 完全掌控組織資源。Google Workspace 或 Cloud Identity 超級管理員與 Google Cloud管理員之間的職責劃分已確立。

    • 指派相關 IAM 角色,委派重要函式的責任。

gcloud

如要新增組織管理員,請執行 gcloud organizations add-iam-policy-binding 指令:

gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member="user:EMAIL_ADDRESS" \
    --role="roles/resourcemanager.organizationAdmin"

更改下列內容:

  • ORGANIZATION_ID:組織資源的專屬 ID。
  • EMAIL_ADDRESS:要新增為組織管理員的使用者電子郵件地址。

API

如要新增組織管理員,請對組織資源呼叫 setIamPolicy 方法。

  1. 取得組織資源目前的 IAM 政策:

    POST https://cloudresourcemanager.googleapis.com/v3/organizations/ORGANIZATION_ID:getIamPolicy
    
  2. 更新傳回的政策,將成員新增至 roles/resourcemanager.organizationAdmin 角色。

  3. 設定更新後的政策:

    POST https://cloudresourcemanager.googleapis.com/v3/organizations/ORGANIZATION_ID:setIamPolicy
    {
      "policy": {
        "bindings": [
          {
            "role": "roles/resourcemanager.organizationAdmin",
            "members": [
              "user:EMAIL_ADDRESS"
            ]
          }
        ],
        "etag": "ETAG_VALUE"
      }
    }
    

    更改下列內容:

    • ORGANIZATION_ID:組織資源的專屬 ID。
    • EMAIL_ADDRESS:要新增為組織管理員的使用者電子郵件地址。
    • ETAG_VALUE:第一步傳回的政策 etag 值。

為子機構建立資料夾

在機構資源下,為每個子機構建立資料夾。

您必須在父項層級擁有資料夾管理員或資料夾建立者角色,才能建立資料夾。舉例來說,如要在組織層級建立資料夾,您必須具備組織層級的其中一個角色。

在建立資料夾的過程中,您必須指定資料夾名稱。資料夾名稱必須符合以下要求:

  • 名稱可以包含字母、數字、空格、連字號和底線。
  • 資料夾顯示名稱的開頭和結尾必須是字母或數字。
  • 名稱必須介於 3 至 30 個半形字元之間。
  • 名稱不得與同一父項下的其他資料夾相同。

如要建立資料夾,請按照下列步驟操作:

控制台

如要建立資料夾,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面:

    開啟「Manage resources」(管理資源) 頁面

  2. 按一下「建立資料夾」,然後選取下列其中一個選項:

  3. 在「Folder name」(資料夾名稱) 方塊中輸入新的資料夾名稱。

  4. 在「Parent resource」(上層資源) 下方,按一下「Browse」(瀏覽),然後選取要在哪個組織資源或資料夾下建立新資料夾。

    1. 點選「建立」。

gcloud

您可以使用 Google Cloud CLI,透過程式輔助方式建立資料夾。

如要使用 gcloud 指令列工具在組織資源下建立資料夾,請執行下列指令。

gcloud resource-manager folders create \
   --display-name=DISPLAY_NAME \
   --organization=ORGANIZATION_ID

若要在其他資料夾下建立資料夾:

gcloud resource-manager folders create \
   --display-name=DISPLAY_NAME \
   --folder=FOLDER_ID

更改下列內容:

  • DISPLAY_NAME:資料夾的顯示名稱。同一父項下的資料夾不能使用相同的顯示名稱。顯示名稱的開頭和結尾必須是字母或數字。顯示名稱可包含字母、數字、空格、連字號和底線,且長度不可超過 30 個字元。
  • ORGANIZATION_ID:如果父項是組織資源,則為父項組織資源的 ID。
  • FOLDER_ID:上層資料夾的 ID (如果上層是資料夾)。

API

您可以透過 API 要求來建立資料夾。

JSON 要求:

request_json= '{
  display_name: DISPLAY_NAME,
  parent: ORGANIZATION_NAME
}'

「建立資料夾」curl 要求:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders

其中:

  • DISPLAY_NAME:新資料夾的顯示名稱,例如「My Awesome Folder」。
  • ORGANIZATION_NAME:您要在其中建立資料夾的組織資源名稱,例如 organizations/123。

「建立資料夾」回應:

如果呼叫成功註冊作業,回應主體會包含 Operation 的執行個體。

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "CREATE"
  }
}

「取得作業」curl 要求:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789

「取得作業」回應:

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "CREATE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "organizations/123",
    "displayName": "DISPLAY_NAME",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-19T23:29:26.046Z"
  }
}

授予資料夾管理員角色

對您建立的每個子機構資料夾,授予資料夾管理員角色給一或多個使用者。這些使用者對資料夾管理員角色具有管理控制權。這些使用者對資料夾及其代表的子機構擁有管理控制權。

若要設定資料夾的存取權,您必須在父項層級擁有資料夾 IAM 管理員或資料夾管理員角色。

控制台

  1. 在 Google Cloud 控制台中,開啟「Manage Resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 按一下左上角的「Organization」(組織) 下拉式選單,然後選取組織資源。

  3. 找出要變更權限的專案,然後勾選旁邊的核取方塊。

    1. 在右側「Info panel」(資訊面板) 的「Permissions」(權限) 下方,輸入要新增的成員的電子郵件地址。

    2. 在「Select a role」(選取角色) 下拉式選單中,選取要授予這些成員的角色。

    3. 按一下「Add」(新增)。系統會顯示通知,確認成員的新角色已新增或更新。

gcloud

您可以使用 Google Cloud CLI 或 REST API,透過程式輔助方式設定資料夾存取權。

gcloud resource-manager folders \
    add-iam-policy-binding FOLDER_ID \
    --member=user:email1@example.com \
    --role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
    add-iam-policy-binding FOLDER_ID \
    --member=user:email1@example.com \
    --role=roles/resourcemanager.folderViewer

您也可以使用以下程式碼:

gcloud resource-manager folders \
    set-iam-policy FOLDER_ID POLICY_FILE

更改下列內容:

  • FOLDER_ID:新資料夾的 ID
  • POLICY_FILE:資料夾政策檔案的路徑

API

setIamPolicy 方法會設定資料夾的存取控管政策,取代任何現有政策。resource 欄位應為資料夾的資源名稱,例如 folders/1234。

 request_json= '{
   policy: {
     version: "1",
     bindings: [
       {
         role: "roles/resourcemanager.folderEditor",
         members: [
           "user:email1@example.com",
           "user:email2@example.com",
         ]
       }
     ]
   }
 }'

curl 要求:

   curl -X POST -H "Content-Type: application/json" \
   -H "Authorization: Bearer ${bearer_token}" \
   -d "$request_json" \
   https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID:setIamPolicy

將 FOLDER_ID 替換成要設定 IAM 政策的資料夾名稱,例如 folders/123。

限制子機構角色

每個資料夾管理員都可以限制專案建立者角色必須為其子機構的成員。他們也可以從組織資源的允許政策中,移除專案建立者角色中的網域。

Google Workspace 超級管理員具備不可撤銷的組織管理員權限。這些超級管理員通常負責管理身分和身分政策,而非 Google Cloud 資源和資源政策。

控制台

如要使用 Google Cloud 控制台移除預設指派給使用者的角色,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面:

    開啟「管理資源」頁面

  2. 按一下頁面頂端的「Organization」(組織) 下拉式選單,然後選取組織資源。

  3. 找出要變更權限的組織資源,然後勾選對應的核取方塊。如果您沒有資料夾資源,就不會看到組織資源。如要繼續操作,請參閱透過 IAM 頁面撤銷角色的操作說明。

  4. 在右側的「Info Panel」(資訊面板),按一下「Permissions」(權限) 下方的角色,展開要移除使用者的角色。

  5. 在展開的角色清單中,找到要移除角色權限的主體,然後按一下旁邊的「移除」圖示。UI 的螢幕擷取畫面

  6. 在顯示的「Remove principal?」(要移除主體嗎?) 對話方塊中,按一下「Remove」(移除),確認從指定主體移除角色。

  7. 對要移除的每個角色重複上述兩個步驟。

範例

下圖顯示某個組織使用資料夾區分兩個部門。工程和財務部門的負責人具有管理控管權,其他使用者無法建立專案。

階層圖

在主要機構資源下管理多個機構

如果貴組織有多個 Google Workspace 帳戶,則預設會有多個組織資源。為維持集中控管和掌握全盤資訊,請選擇一個組織資源做為主要組織資源。與主要組織資源相關聯的 Google Workspace 帳戶超級管理員,對該組織中的所有資源擁有管理控制權。他們不會自動控管其他組織中的資源。其他 Google Workspace 帳戶的使用者可以取得主要組織資源下資料夾的存取權,並在其中建立專案。

選擇組織管理員

選擇一或多位使用者,擔任組織資源的 IAM 組織管理員。

如要新增組織管理員,可以使用 Google Cloud 控制台、Google Cloud CLI 或 Resource Manager API。

控制台

  1. 以 Google Workspace 或 Cloud Identity 超級管理員身分登入 Google Cloud 控制台,然後前往「IAM & Admin」(IAM 與管理) 管理頁面:

    開啟「IAM & admin」(IAM 與管理) 頁面

  2. 選取要編輯的組織資源:

    1. 按一下頁面頂端的專案下拉式選單。

    2. 在「Select from」(可用的選項) 對話方塊中,按一下組織下拉式清單,然後選取要新增組織管理員的組織資源。

    3. 在顯示的清單中,按一下組織資源,開啟「IAM Permissions」(IAM 權限) 頁面。

  3. 按一下「Add」(新增),然後輸入要設為組織管理員的一或多位使用者電子郵件地址。

  4. 在「Select a role」(請選擇角色) 下拉式選單中,依序選取「Resource Manager」>「Organization Administrator」(組織管理員),然後按一下「Save」(儲存)。

    組織管理員可以執行下列操作:

    • 完全掌控組織資源。Google Workspace 或 Cloud Identity 超級管理員與 Google Cloud管理員之間的職責劃分已確立。

    • 指派相關 IAM 角色,委派重要函式的責任。

gcloud

如要新增組織管理員,請執行 gcloud organizations add-iam-policy-binding 指令:

gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member="user:EMAIL_ADDRESS" \
    --role="roles/resourcemanager.organizationAdmin"

更改下列內容:

  • ORGANIZATION_ID:組織資源的專屬 ID。
  • EMAIL_ADDRESS:要新增為組織管理員的使用者電子郵件地址。

API

如要新增組織管理員,請對組織資源呼叫 setIamPolicy 方法。

  1. 取得組織資源目前的 IAM 政策:

    POST https://cloudresourcemanager.googleapis.com/v3/organizations/ORGANIZATION_ID:getIamPolicy
    
  2. 更新傳回的政策,將成員新增至 roles/resourcemanager.organizationAdmin 角色。

  3. 設定更新後的政策:

    POST https://cloudresourcemanager.googleapis.com/v3/organizations/ORGANIZATION_ID:setIamPolicy
    {
      "policy": {
        "bindings": [
          {
            "role": "roles/resourcemanager.organizationAdmin",
            "members": [
              "user:EMAIL_ADDRESS"
            ]
          }
        ],
        "etag": "ETAG_VALUE"
      }
    }
    

    更改下列內容:

    • ORGANIZATION_ID:組織資源的專屬 ID。
    • EMAIL_ADDRESS:要新增為組織管理員的使用者電子郵件地址。
    • ETAG_VALUE:第一步傳回的政策 etag 值。

刪除「專案建立者」角色

從組織資源中移除專案建立者角色,確保不會在其他組織資源中建立資源。

控制台

如要使用 Google Cloud 控制台移除預設指派給使用者的角色,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面:

    開啟「管理資源」頁面

  2. 按一下頁面頂端的「Organization」(組織) 下拉式選單,然後選取組織資源。

  3. 找出要變更權限的組織資源,然後勾選對應的核取方塊。如果您沒有資料夾資源,就不會看到組織資源。如要繼續操作,請參閱透過 IAM 頁面撤銷角色的操作說明。

  4. 在右側的「Info Panel」(資訊面板),按一下「Permissions」(權限) 下方的角色,展開要移除使用者的角色。

  5. 在展開的角色清單中,找到要移除角色權限的主體,然後按一下旁邊的「移除」圖示。UI 的螢幕擷取畫面

  6. 在顯示的「Remove principal?」(要移除主體嗎?) 對話方塊中,按一下「Remove」(移除),確認從指定主體移除角色。

  7. 對要移除的每個角色重複上述兩個步驟。

為 Google Workspace 帳戶建立資料夾

為每個 Google Workspace 帳戶在組織資源下建立資料夾。

您必須在父項層級擁有資料夾管理員或資料夾建立者角色,才能建立資料夾。舉例來說,如要在組織層級建立資料夾,您必須具備組織層級的其中一個角色。

在建立資料夾的過程中,您必須指定資料夾名稱。資料夾名稱必須符合以下要求:

  • 名稱可以包含字母、數字、空格、連字號和底線。
  • 資料夾顯示名稱的開頭和結尾必須是字母或數字。
  • 名稱必須介於 3 至 30 個半形字元之間。
  • 名稱不得與同一父項下的其他資料夾相同。

如要建立資料夾,請按照下列步驟操作:

控制台

如要建立資料夾,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面:

    開啟「Manage resources」(管理資源) 頁面

  2. 按一下「建立資料夾」,然後選取下列其中一個選項:

  3. 在「Folder name」(資料夾名稱) 方塊中輸入新的資料夾名稱。

  4. 在「Parent resource」(上層資源) 下方,按一下「Browse」(瀏覽),然後選取要在哪個組織資源或資料夾下建立新資料夾。

    1. 點選「建立」。

gcloud

您可以使用 Google Cloud CLI,透過程式輔助方式建立資料夾。

如要使用 gcloud 指令列工具在組織資源下建立資料夾,請執行下列指令。

gcloud resource-manager folders create \
   --display-name=DISPLAY_NAME \
   --organization=ORGANIZATION_ID

若要在其他資料夾下建立資料夾:

gcloud resource-manager folders create \
   --display-name=DISPLAY_NAME \
   --folder=FOLDER_ID

更改下列內容:

  • DISPLAY_NAME:資料夾的顯示名稱。同一父項下的資料夾不能使用相同的顯示名稱。顯示名稱的開頭和結尾必須是字母或數字。顯示名稱可包含字母、數字、空格、連字號和底線,且長度不可超過 30 個字元。
  • ORGANIZATION_ID:如果父項是組織資源,則為父項組織資源的 ID。
  • FOLDER_ID:上層資料夾的 ID (如果上層是資料夾)。

API

您可以透過 API 要求來建立資料夾。

JSON 要求:

request_json= '{
  display_name: DISPLAY_NAME,
  parent: ORGANIZATION_NAME
}'

「建立資料夾」curl 要求:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders

其中:

  • DISPLAY_NAME:新資料夾的顯示名稱,例如「My Awesome Folder」。
  • ORGANIZATION_NAME:您要在其中建立資料夾的組織資源名稱,例如 organizations/123。

「建立資料夾」回應:

如果呼叫成功註冊作業,回應主體會包含 Operation 的執行個體。

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "CREATE"
  }
}

「取得作業」curl 要求:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789

「取得作業」回應:

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "CREATE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "organizations/123",
    "displayName": "DISPLAY_NAME",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-19T23:29:26.046Z"
  }
}

授予資料夾管理員角色

對於所建立的每個資料夾,授予資料夾管理員角色給一或多位使用者。這些使用者會獲得資料夾和所代表子機構的管理控制權。

若要設定資料夾的存取權,您必須在父項層級擁有資料夾 IAM 管理員或資料夾管理員角色。

控制台

  1. 在 Google Cloud 控制台中,開啟「Manage Resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 按一下左上角的「Organization」(組織) 下拉式選單,然後選取組織資源。

  3. 找出要變更權限的專案,然後勾選旁邊的核取方塊。

    1. 在右側「Info panel」(資訊面板) 的「Permissions」(權限) 下方,輸入要新增的成員的電子郵件地址。

    2. 在「Select a role」(選取角色) 下拉式選單中,選取要授予這些成員的角色。

    3. 按一下「Add」(新增)。系統會顯示通知,確認成員的新角色已新增或更新。

gcloud

您可以使用 Google Cloud CLI 或 REST API,透過程式輔助方式設定資料夾存取權。

gcloud resource-manager folders \
    add-iam-policy-binding FOLDER_ID \
    --member=user:email1@example.com \
    --role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
    add-iam-policy-binding FOLDER_ID \
    --member=user:email1@example.com \
    --role=roles/resourcemanager.folderViewer

您也可以使用以下程式碼:

gcloud resource-manager folders \
    set-iam-policy FOLDER_ID POLICY_FILE

更改下列內容:

  • FOLDER_ID:新資料夾的 ID
  • POLICY_FILE:資料夾政策檔案的路徑

API

setIamPolicy 方法會設定資料夾的存取控管政策,取代任何現有政策。resource 欄位應為資料夾的資源名稱,例如 folders/1234。

 request_json= '{
   policy: {
     version: "1",
     bindings: [
       {
         role: "roles/resourcemanager.folderEditor",
         members: [
           "user:email1@example.com",
           "user:email2@example.com",
         ]
       }
     ]
   }
 }'

curl 要求:

   curl -X POST -H "Content-Type: application/json" \
   -H "Authorization: Bearer ${bearer_token}" \
   -d "$request_json" \
   https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID:setIamPolicy

將 FOLDER_ID 替換成要設定 IAM 政策的資料夾名稱,例如 folders/123。

然後,每個資料夾管理員可以將專案建立者角色授予關聯網域的使用者。

範例

下圖顯示一個機構,其主網域與收購的次要網域保持隔離。這兩個網域各有自己的 Google Workspace 帳戶,其中 hypothetical.com 是主要組織資源。

階層圖