本頁說明使用 VM 管理工具的政策自動調度管理工具功能時,必須符合的必要條件。
為機構和資料夾協調作業設定配額專案
使用政策自動化調度管理工具管理機構或資料夾中的 OS 政策資源時,您會向以用戶端為基礎的 API 發出要求。以用戶端為準的 API 必須使用配額專案。如要進一步瞭解以用戶端為準的 API 和配額專案設定,請參閱「配額專案總覽」。
使用 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 設定 API。
詳情請參閱「啟用 OS Config API」。
為專案啟用 Progressive Rollout API
主控台
在 Trusted Cloud 控制台中,選取要啟用 API 的 Trusted Cloud 專案,然後前往「APIs & Services」(API 和服務) 頁面:
點選「啟用 API 和服務」。
搜尋「Progressive Rollout」。
在搜尋結果中,按一下「Progressive Rollout API」。
如果 API 尚未啟用,請點選「啟用」。
gcloud
如要查看是否已啟用 Progressive Rollout API,請執行下列指令,並將
PROJECT_ID
替換為要啟用 API 的專案 ID:gcloud services list --project=PROJECT_ID
如果輸出結果中出現
progressiverollout.googleapis.com
,表示 API 已啟用。如果 API 未啟用,請執行下列指令來啟用:
gcloud services enable progressiverollout.googleapis.com
詳情請參閱
gcloud services
。
設定 OS Config 服務代理程式
政策自動化調度管理工具會使用 OS 設定服務代理程式,在專案中執行動作。此外,這項服務也依附 Progressive Rollout API,而該 API 有自己的服務代理。詳情請參閱服務代理程式。
您必須為建立政策協調器的每個專案、資料夾或機構建立服務代理程式。
如要建立服務代理程式,請按照下列步驟操作。
查看各項資源的服務專員電子郵件地址格式:
專案
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。如要為特定 API 和資源建立服務代理程式,請使用
gcloud beta services identity create
指令:專案
gcloud beta services identity create --service=osconfig.googleapis.com --project=PROJECT_NUMBER
gcloud beta services identity create --service=progressiverollout.googleapis.com --project=PROJECT_NUMBER
將
PROJECT_NUMBER
替換為要建立服務代理程式的專案的數值 ID。資料夾
gcloud beta services identity create --service=osconfig.googleapis.com --folder=FOLDER_NUMBER
gcloud beta services identity create --service=progressiverollout.googleapis.com --folder=FOLDER_NUMBER
將
FOLDER_NUMBER
替換為要建立服務代理程式的資料夾的數值 ID。機構
gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
gcloud beta services identity create --service=progressiverollout.googleapis.com --organization=ORGANIZATION_NUMBER
將
ORGANIZATION_NUMBER
替換為要建立服務代理程式的機構的數值 ID。
將 IAM 角色授予服務代理
如要讓政策協調器正常運作,您必須在協調器的父項資源中,將所有必要的服務代理角色授予相應的服務帳戶:
- @gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com 帳戶的 OSConfig 服務代理程式 (
roles/osconfig.serviceAgent
) - @gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com 帳戶的 OSConfig Rollout 服務代理程式 (
roles/osconfig.rolloutServiceAgent
) - Progressiverollout 服務代理人 (
roles/progressiverollout.serviceAgent
) for the @gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com account
如要將 IAM 角色授予服務代理,請使用 Trusted Cloud 控制台或 add-iam-policy-binding
指令。
詳情請參閱「將角色授予服務代理程式」。
必要的角色
-
如要取得授予服務代理程式存取權所需的權限,請管理員在您要授予存取權的專案、資料夾或機構中,授予下列 IAM 角色:
-
授予服務代理程式專案存取權:
專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin
) -
授予服務代理程式資料夾存取權:
資料夾管理員 (
roles/resourcemanager.folderAdmin
) -
授予服務代理人專案、資料夾和機構的存取權:
機構管理員 (
roles/resourcemanager.organizationAdmin
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備授予服務代理人存取權所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要授予服務代理人存取權,必須具備下列權限:
-
授予服務代理專案存取權:
-
resourcemanager.projects.getIamPolicy
-
resourcemanager.projects.setIamPolicy
-
-
授予服務代理人資料夾存取權:
-
resourcemanager.folders.getIamPolicy
-
resourcemanager.folders.setIamPolicy
-
-
授予服務代理機構存取權:
-
resourcemanager.organizations.getIamPolicy
-
resourcemanager.organizations.setIamPolicy
-
-
授予服務代理程式專案存取權:
專案 IAM 管理員 (
如要授予服務代理程式角色,請執行 gcloud add-iam-policy-binding
,如下所示:
專案
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"
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"
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 (數字)。
資料夾
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"
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"
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 (數字)。
機構
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"
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"
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。
後續步驟
- 瞭解如何使用政策自動化調度管理工具管理 OS 政策指派作業。
- 瞭解如何查看及編輯政策協調器。