使用政策自動調度管理工具的必要條件

本頁面說明在 VM Manager 中使用政策自動調度管理工具功能的必要條件。

建立及管理政策自動化調度管理工具所需的角色和權限

政策自動調度管理工具可以安裝及管理專案、資料夾或組織中虛擬機器 (VM) 執行個體上的軟體套件,因此授予建立或更新政策自動調度管理工具的權限,等同於授予在目標 VM 上執行程式碼的權限。設定政策自動化調度管理工具時,Identity and Access Management (IAM) 權限會控管政策自動化調度管理工具資源的存取權。遵循最小權限原則,只授予各主體必要的存取權。

如要取得建立及管理政策自動調度管理工具所需的權限,請要求管理員授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備建立及管理政策自動化調度工具所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能建立及管理政策自動調度管理工具:

  • 建立政策自動化調度管理工具:
    • osconfig.policyOrchestrators.create
    • osconfig.operations.get
  • 更新政策自動調度管理工具:
    • osconfig.policyOrchestrators.update
    • osconfig.operations.get
  • 刪除政策自動化調度管理工具:
    • osconfig.policyOrchestrators.delete
    • osconfig.operations.get
  • 查看及列出政策自動化調度管理工具:
    • osconfig.policyOrchestrators.get
    • osconfig.policyOrchestrators.list
    • osconfig.locations.get
    • osconfig.locations.list
    • osconfig.operations.get
  • 使用配額專案,在資料夾和組織層級執行自動化調度管理:serviceusage.services.use

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

使用 gcloud CLI 指令設定政策自動化調度管理工具必要條件

本節列出您必須執行的所有 gcloud 指令,才能使用政策自動化調度管理功能。

必要的角色

如要取得執行政策自動調度管理工具必要指令所需的權限,請要求管理員授予您下列 IAM 角色:

  • 設定並使用配額專案,以便在資料夾和組織層級進行自動化調度管理:配額專案的服務使用情形消費者 (roles/serviceusage.serviceUsageConsumer)
  • 啟用 OS Config API 和 Progressive Rollout API:專案或配額專案的服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin)
  • 建立 OS Config 和漸進式推出服務代理:專案、資料夾或組織的服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin)
  • 授予服務代理專案存取權:專案的專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin)
  • 授予服務代理資料夾存取權:資料夾的資料夾 IAM 管理員 (roles/resourcemanager.folderIamAdmin) 或資料夾管理員 (roles/resourcemanager.folderAdmin)
  • 授予服務代理機構存取權:機構的機構管理員 (roles/resourcemanager.organizationAdmin)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備執行政策自動調度管理工具必要指令所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能執行政策自動調度管理工具的必要指令:

  • 設定及使用配額專案,進行資料夾層級和組織層級的自動化調度管理:serviceusage.services.use
  • 啟用 OS Config API 和 Progressive Rollout API:serviceusage.services.enable
  • 建立服務代理: serviceusage.services.generateServiceIdentity
  • 授予服務代理專案存取權:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • 將資料夾存取權授予服務代理:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • 授予服務代理組織存取權:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

專案

下列指令會執行建立專案層級自動化調度管理所需的工作:

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Enable Progressive Rollout API
  gcloud services enable progressiverollout.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/progressiverollout.serviceAgent"

更改下列內容:

  • PROJECT_ID:要建立服務代理的專案數字 ID。
  • PROJECT_NUMBER:Google 在您建立專案時指派的專案資源編號。

詳情請參閱「專案資源」。

資料夾

下列指令會執行建立資料夾層級自動化調度管理所需的工作:

  # Set up the quota project
  gcloud config set billing/quota_project QUOTA_PROJECT_ID

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
  --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
  --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
  --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/progressiverollout.serviceAgent"
  

更改下列內容:

  • QUOTA_PROJECT_ID:配額專案的專案 ID。您可以選擇任何已啟用計費功能的專案。
  • FOLDER_NUMBER:要建立服務代理的資料夾數值 ID。

機構

下列指令會執行建立組織層級自動化調度管理所需的工作:

  # Set up the quota project
  gcloud config set billing/quota_project QUOTA_PROJECT_ID

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
  --role="roles/progressiverollout.serviceAgent"

更改下列內容:

  • QUOTA_PROJECT_ID:配額專案的專案 ID。您可以選擇任何已啟用計費功能的專案。
  • 將 ORGANIZATION_NUMBER 替換成要建立服務代理的組織數字 ID。

為組織和資料夾自動化調度設定配額或計費專案

使用政策自動化調度管理工具管理組織或資料夾中的 OS 政策資源時,您會向用戶端 API 提出要求。用戶端 API 必須有配額專案。如要進一步瞭解用戶端 API 和設定配額專案,請參閱「配額專案總覽」。

必要的角色

如要取得使用配額專案進行組織層級和資料夾層級自動化調度所需的權限,請要求管理員授予您配額專案的服務使用情形消費者 (roles/serviceusage.serviceUsageConsumer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 serviceusage.services.use 權限,可使用配額專案進行組織層級和資料夾層級的自動化調度管理。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

使用 gcloud CLI 或 REST API 呼叫政策自動化調度管理工具方法時,請按照下列方式指定配額專案:

gcloud

在 gcloud CLI 設定屬性中設定配額專案:

gcloud config set billing/quota_project QUOTA_PROJECT_ID

將 QUOTA_PROJECT_ID 替換為配額專案的專案 ID。

或者,您也可以使用 --billing-project 旗標,為特定指令設定配額專案,這項設定的優先順序高於設定屬性。

REST

新增 x-goog-user-project HTTP 標頭,在每項要求中指定配額專案。詳情請參閱「使用 REST 要求設定配額專案」。

啟用 OS Config API

如要使用 VM 管理員 的政策自動化調度管理工具功能,請在下列專案中啟用 OS Config API:

  • 如果是組織層級和資料夾層級的工作流程,請為配額專案啟用 OS Config API。
  • 如果是專案層級的自動調度管理,請在建立政策自動調度管理工具的專案中啟用 OS Config API。

必要的角色

如要取得啟用 OS Config API 所需的權限,請要求管理員授予您專案或配額專案的 Service Usage 管理員 (roles/serviceusage.serviceUsageAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 serviceusage.services.enable 權限,可啟用 OS Config API。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

詳情請參閱「啟用 OS Config API」。

為專案啟用 Progressive Rollout API

必要的角色

如要取得啟用 Progressive Rollout API 所需的權限,請要求管理員授予您專案的服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 serviceusage.services.enable 權限,可啟用 Progressive Rollout API。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

控制台

  1. 在 Cloud de Confiance 控制台中,選取要啟用 API 的 Cloud de Confiance 專案,然後前往「APIs & Services」(API 和服務) 頁面:

    前往「APIs & Services」(API 和服務)

  2. 點選「啟用 API 和服務」。

  3. 搜尋「Progressive Rollout」。

  4. 在搜尋結果中,點選「Progressive Rollout API」。

  5. 如果 API 尚未啟用,請點選「啟用」。

gcloud

  1. 如要查看是否已啟用 Progressive Rollout API,請列出專案已啟用的服務:

     gcloud services list --project=PROJECT_ID
    

    將 PROJECT_ID 替換為要啟用 API 的專案 ID。

    如果輸出內容中顯示 progressiverollout.googleapis.com,表示 API 已啟用。

  2. 如果 API 尚未啟用,請執行下列指令來啟用:

     gcloud services enable progressiverollout.googleapis.com
    

    詳情請參閱 gcloud services。

設定 OS Config 服務代理

政策自動化調度管理工具會使用 OS Config 服務代理,在專案中執行動作。此外,這項服務也仰賴 Progressive Rollout API,該 API 有自己的服務代理。詳情請參閱「服務代理」。

您必須為建立政策自動調度管理工具的每個專案、資料夾或組織建立服務代理。為確保政策自動化調度管理工具正常運作,請在自動化調度管理工具的父項資源,為這些服務代理授予必要的 IAM 角色:

  • @gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com 帳戶的 OSConfig 服務代理 (roles/osconfig.serviceAgent)
  • @gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com 帳戶的 OSConfig 推出服務代理 (roles/osconfig.rolloutServiceAgent)
  • @gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com 帳戶的 Progressiverollout 服務代理 (roles/progressiverollout.serviceAgent)

如要將 IAM 角色授予服務代理,請使用 Cloud de Confiance 控制台或 add-iam-policy-binding 指令。詳情請參閱「將角色授予服務代理」。

必要的角色

如要取得建立服務代理並授予存取權所需的權限,請要求管理員在您建立政策自動調度管理工具的專案、資料夾或組織中,授予您下列 IAM 角色:

  • 建立服務代理:服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin)
  • 授予服務代理專案存取權:專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin)
  • 將資料夾存取權授予服務代理:資料夾 IAM 管理員 (roles/resourcemanager.folderIamAdmin) 或資料夾管理員 (roles/resourcemanager.folderAdmin)
  • 授予服務代理存取專案、資料夾和組織的權限:組織管理員 (roles/resourcemanager.organizationAdmin)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備建立服務代理並授予存取權所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

您必須具備下列權限,才能建立服務代理並授予存取權:

  • 建立服務代理: serviceusage.services.generateServiceIdentity
  • 授予服務代理專案存取權:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • 將資料夾存取權授予服務代理:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • 授予服務代理組織存取權:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

如要建立服務代理,請按照下列步驟操作。

  1. 查看各項資源的服務代理電子郵件地址格式:

    專案

    • service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    將 PROJECT_NUMBER 替換為您建立政策自動調度管理工具的專案數字 ID。

    資料夾

    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    將 FOLDER_NUMBER 替換為您建立政策自動調度管理工具的資料夾數字 ID。

    機構

    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com

    將 ORGANIZATION_NUMBER 替換為您要建立政策自動調度管理工具的組織數字 ID。

  2. 如要為指定的 API 和資源建立服務代理,請使用 gcloud beta services identity create 指令:

    專案

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER
    
    # Create a Progressive Rollout service agent
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER
    

    將 PROJECT_NUMBER 替換為要建立服務代理的專案數字 ID。

    資料夾

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER
    
    # Create a Progressive Rollout service agent
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER
    

    將 FOLDER_NUMBER 替換為要建立服務代理的資料夾數字 ID。

    機構

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
    
    # Create a Progressive Rollout service agent
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER
    

    將 ORGANIZATION_NUMBER 替換為要建立服務代理的組織數字 ID。

將 IAM 角色授予服務代理

建立 OS Config 和 Progressive Rollout 服務代理後,請在建立政策自動調度管理工具的專案、資料夾或組織中,授予這些代理必要的 IAM 角色 (roles/osconfig.serviceAgent、roles/osconfig.rolloutServiceAgent 和 roles/progressiverollout.serviceAgent)。

必要的角色

如要取得授予服務代理存取權所需的權限,請要求管理員在您要授予存取權的專案、資料夾或組織中,授予您下列 IAM 角色:

  • 授予服務代理專案存取權:專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin)
  • 將資料夾存取權授予服務代理:資料夾 IAM 管理員 (roles/resourcemanager.folderIamAdmin) 或資料夾管理員 (roles/resourcemanager.folderAdmin)
  • 授予服務代理存取專案、資料夾和組織的權限:組織管理員 (roles/resourcemanager.organizationAdmin)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備授予服務代理存取權所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

您必須具備下列權限,才能授予服務代理存取權:

  • 授予服務代理專案存取權:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • 將資料夾存取權授予服務代理:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • 授予服務代理組織存取權:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

如要授予服務代理角色,請執行 gcloud add-iam-policy-binding,如下所示:

專案

# Grant the required role to the OS config rollout service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

 # Grant the required role to the OS config service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

 # Grant the required role to the Progressive Rollout service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

將 PROJECT_NUMBER 替換為要新增 IAM 政策繫結的專案數字 ID。

資料夾

# Grant the required role to the OS config rollout service agent
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

# Grant the required role to the OS config service agent
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

# Grant the required role to the Progressive Rollout service agent
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
--member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

將 FOLDER_NUMBER 替換為要新增 IAM 政策繫結的資料夾數字 ID。

機構

# Grant the required role to the OS config rollout service agent
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

 # Grant the required role to the OS config service agent
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

 # Grant the required role to the Progressive Rollout service agent
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

將 ORGANIZATION_NUMBER 替換為要新增 IAM 政策繫結的組織數字 ID。

設定 VPC Service Controls perimeter 內專案的存取權

如果專案受 VPC Service Controls 保護,且您使用組織層級或資料夾層級的政策自動調度管理工具,則必須授予 OSConfig 推出服務代理存取 VPC Service Controls service perimeter 的權限。如未授予這項存取權,政策自動化調度管理工具就無法為這些專案建立、更新或刪除 OS 政策指派作業。

必要的角色

如要取得設定 OS 政策自動調度管理工具,以便在 VPC Service Controls 範圍內使用的權限,請要求管理員授予您組織的 Access Context Manager 編輯者 (roles/accesscontextmanager.policyEditor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備設定 OS 政策自動調度管理工具所需的權限,可在 VPC Service Controls 範圍內使用。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能設定 OS 政策自動調度管理工具,以便在 VPC Service Controls 範圍內使用:

  • accesscontextmanager.servicePerimeters.get
  • accesscontextmanager.servicePerimeters.update

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

建立輸入規則

如要允許服務代理存取受 VPC Service Controls 保護的資源,請在相關 service perimeter 新增輸入規則。

如要進一步瞭解如何建立輸入規則,請參閱「設定輸入和輸出政策」。

資料夾

控制台

  1. 前往 Cloud de Confiance 控制台的「VPC Service Controls」頁面。

    前往「VPC Service Controls」頁面

  2. 選取您的機構。
  3. 在「VPC Service Controls」頁面中,選取要更新的 service perimeter 所在的存取權政策。
  4. 按一下要更新的 service perimeter 名稱,然後點選「Edit」(編輯)。
  5. 按一下「輸入政策」。
  6. 按一下「Add an ingress rule」(新增輸入規則)。
  7. 在「From」(來源) 部分,指定服務代理的身分:
    1. 在「Identities」(身分) >「Identity」(身分) 部分,選取「Select identities & groups」(選取身分和群組)。
    2. 按一下「Add identities」(新增身分)。
    3. 輸入用來識別下列 OSconfig 推出服務代理的電子郵件地址:

      service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com

      將 FOLDER_NUMBER 替換為資料夾的數字 ID。

  8. 在「To」(目的地) 部分中,指定允許的操作:
    1. 在「Resources」(資源) >「Projects」(專案) 部分,選取「All projects」(所有專案)。
    2. 在「Operations or IAM roles」(作業或 IAM 角色) 部分,選取「Select operations」(選取作業)。
    3. 按一下「Add operations」(新增作業),然後新增下列作業:
      1. 新增 osconfig.googleapis.com 服務。
      2. 按一下「所有方法」。
  9. 按一下「完成」。
  10. 按一下「儲存」。

gcloud

如要新增輸入規則,請建立包含輸入規則的 YAML 檔案,並使用 gcloud access-context-manager perimeters update 指令和 --set-ingress-policies 旗標。

  1. 建立名為 ingress_policy.yaml 的輸入政策 YAML 檔案,並加入下列內容:

     - ingressFrom:
         identities:
         - serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
         sources:
         - accessLevel: '*'
       ingressTo:
         operations:
         - serviceName: osconfig.googleapis.com
           methodSelectors:
           - method: "*"
         resources:
         - "*"
    

    將 FOLDER_NUMBER 替換為資料夾的數字 ID。

  2. 將輸入政策新增至範圍:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
       --set-ingress-policies=ingress_policy.yaml
    

    將 PERIMETER_NAME 替換為 service perimeter 的名稱。例如:accessPolicies/1234567890/servicePerimeters/example_perimeter。

組織

控制台

  1. 前往 Cloud de Confiance 控制台的「VPC Service Controls」頁面。

    前往「VPC Service Controls」頁面

  2. 選取您的機構。
  3. 在「VPC Service Controls」頁面中,選取要更新的 service perimeter 所在的存取權政策。
  4. 按一下要更新的 service perimeter 名稱,然後點選「Edit」(編輯)。
  5. 按一下「輸入政策」。
  6. 按一下「Add an ingress rule」(新增輸入規則)。
  7. 在「From」(來源) 部分,指定服務代理的身分:
    1. 在「Identities」(身分) >「Identity」(身分) 部分,選取「Select identities & groups」(選取身分和群組)。
    2. 按一下「Add identities」(新增身分)。
    3. 輸入用來識別下列 OSconfig 推出服務代理的電子郵件地址:

      service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com

      將 ORGANIZATION_NUMBER 替換為組織的數字 ID。

  8. 在「To」(目的地) 部分中,指定允許的操作:
    1. 在「Resources」(資源) >「Projects」(專案) 部分,選取「All projects」(所有專案)。
    2. 在「Operations or IAM roles」(作業或 IAM 角色) 部分,選取「Select operations」(選取作業)。
    3. 按一下「Add operations」(新增作業),然後新增下列作業:
      1. 新增 osconfig.googleapis.com 服務。
      2. 按一下「所有方法」。
  9. 按一下「完成」。
  10. 按一下「儲存」。

gcloud

如要新增輸入規則,請建立包含輸入規則的 YAML 檔案,並使用 gcloud access-context-manager perimeters update 指令和 --set-ingress-policies 旗標。

  1. 建立名為 ingress_policy.yaml 的輸入政策 YAML 檔案,並加入下列內容:

     - ingressFrom:
         identities:
         - serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
         sources:
         - accessLevel: '*'
       ingressTo:
         operations:
         - serviceName: osconfig.googleapis.com
           methodSelectors:
           - method: "*"
         resources:
         - "*"
    

    將 ORGANIZATION_NUMBER 替換為組織的數字 ID。

  2. 將輸入政策新增至範圍:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --set-ingress-policies=ingress_policy.yaml
    

    將 PERIMETER_NAME 替換為 service perimeter 的名稱。例如:accessPolicies/1234567890/servicePerimeters/example_perimeter。

後續步驟