本页介绍了在虚拟机管理器中使用政策编排器功能的前提条件。
为组织和文件夹编排设置配额项目
使用政策编排器管理组织或文件夹中的操作系统政策资源时,您需要向基于客户端的 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
如需在虚拟机管理器中使用政策编排器功能,请在以下项目中启用 OS Config API:
- 对于组织级和文件夹级编排,请为配额项目启用 OS Config API。
- 对于项目级编排,请在创建政策编排器的项目中启用 OS Config API。
如需了解详情,请参阅启用 OS Config API。
为项目启用渐进式发布 API
控制台
在 Google Cloud 控制台中,选择要为其启用该 API 的 Google Cloud 项目,然后转到 API 和服务页面:
点击启用 API 和服务。
搜索“渐进式发布”。
在搜索结果中,点击 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 Config 服务代理在您的项目中执行操作。它还取决于 Progressive Rollout API,该 API 具有自己的服务代理。如需了解详情,请参阅服务代理。
您必须为创建政策编排器的每个项目、文件夹或组织创建服务代理。
如需创建服务代理,请执行以下操作。
查看每项资源的服务代理电子邮件地址格式:
项目
service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com
service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
service-PROJECT_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com
将
PROJECT_NUMBER
替换为您创建政策编排器的项目的数字 ID。文件夹
service-folder-FOLDER_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com
service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
service-folder-FOLDER_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com
将
FOLDER_NUMBER
替换为您创建政策编排器的文件夹的数字 ID。组织
service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com
service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.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.iam.gserviceaccount.com 账号的 OSConfig Service Agent (
roles/osconfig.serviceAgent
) - 适用于 @gcp-sa-osconfig-rollout.iam.gserviceaccount.com 账号的 OSConfig Rollout Service Agent (
roles/osconfig.rolloutServiceAgent
) - 适用于 @gcp-sa-progrollout.iam.gserviceaccount.com 账号的 Progressiverollout Service Agent (
roles/progressiverollout.serviceAgent
)
如需向服务代理授予 IAM 角色,请使用 Google Cloud 控制台或 add-iam-policy-binding
命令。如需了解详情,请参阅向服务代理授予角色。
所需的角色
-
如需获得授予服务代理访问权限所需的权限,请让管理员向您授予要针对其授予访问权限的项目、文件夹或组织的以下 IAM 角色:
- 授予服务代理对项目的访问权限:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) - 向服务代理授予对文件夹的访问权限:
Folder Admin (
roles/resourcemanager.folderAdmin
) - 向服务代理授予对项目、文件夹和组织的访问权限:Organization Admin (
roles/resourcemanager.organizationAdmin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含授予服务代理访问权限所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
您需要具有以下权限才能向服务代理授予访问权限:
-
向服务代理授予对项目的访问权限:
-
resourcemanager.projects.getIamPolicy
-
resourcemanager.projects.setIamPolicy
-
-
向服务代理授予对文件夹的访问权限:
-
resourcemanager.folders.getIamPolicy
-
resourcemanager.folders.setIamPolicy
-
-
向服务代理授予对组织的访问权限:
-
resourcemanager.organizations.getIamPolicy
-
resourcemanager.organizations.setIamPolicy
-
- 授予服务代理对项目的访问权限:
Project IAM Admin (
如需授予服务代理角色,请按如下方式运行 gcloud add-iam-policy-binding
:
项目
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \ --role="roles/osconfig.rolloutServiceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \ --role="roles/osconfig.serviceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.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.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.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.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.iam.gserviceaccount.com" \ --role="roles/osconfig.rolloutServiceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \ --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \ --role="roles/osconfig.serviceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \ --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \ --role="roles/progressiverollout.serviceAgent"
将 ORGANIZATION_NUMBER
替换为要向其添加 IAM 政策绑定的组织的数字 ID。
后续步骤
- 了解如何使用政策编排器管理操作系统政策分配。
- 了解如何查看和修改政策编排器。