本页面介绍了如何使用组织政策服务自定义限制条件来限制 对以下 Google Cloud 资源执行的特定操作:
config.googleapis.com/Deploymentconfig.googleapis.com/Preview
如需详细了解组织政策,请参阅自定义组织政策。
组织政策和限制条件简介
借助 Google Cloud 组织政策服务,您可以对组织的资源进行程序化集中控制。作为组织政策管理员,您可以定义组织政策,这是一组称为限制条件的限制,会应用于 Google Cloud 资源层次结构中的Google Cloud 资源及其后代。您可以在组织、文件夹或项目级强制执行组织政策。
组织政策为各种 Google Cloud 服务提供内置的托管式限制。但是,如果您想要更精细地控制和自定义组织政策中受限的特定字段,还可以创建自定义限制条件并在组织政策中使用这些自定义限制条件。
政策继承
如果您对资源强制执行政策,默认情况下,该资源的后代会继承组织政策。例如,如果您对某个文件夹强制执行一项政策, Google Cloud 会对该文件夹中的所有项目强制执行该政策。如需详细了解此行为及其更改方式,请参阅层次结构评估规则。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud的新用户, 请创建账号,以评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init - 请确保您知道您的 组织 ID。
所需的角色
如需获得管理组织政策所需的权限,请让您的管理员为您授予以下 IAM 角色:
- Organization Policy Administrator (
roles/orgpolicy.policyAdmin) 组织资源的 -
如需创建或更新部署或预览部署:
Infra Manager Admin (
roles/config.admin) 项目资源的
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含管理组织政策所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
管理组织政策需要以下权限:
-
orgpolicy.*组织资源的 -
如需创建或更新部署或预览部署:
-
config.deployments.create项目资源的 -
项目资源的
config.deployments.update -
项目资源的
config.previews.create
-
Infrastructure Manager 支持的资源
下表列出了您可以在自定义限制条件中引用的 Infrastructure Manager 资源。| 资源 | 字段 |
|---|---|
| config.googleapis.com/Deployment |
resource.artifactsGcsBucket
|
resource.importExistingResources
| |
resource.name
| |
resource.quotaValidation
| |
resource.serviceAccount
| |
resource.terraformBlueprint.gcsSource
| |
resource.terraformBlueprint.gitSource.directory
| |
resource.terraformBlueprint.gitSource.ref
| |
resource.terraformBlueprint.gitSource.repo
| |
resource.terraformBlueprint.inputValues[*].inputValue
| |
resource.tfVersionConstraint
| |
resource.workerPool
| |
| config.googleapis.com/Preview |
resource.artifactsGcsBucket
|
resource.deployment
| |
resource.name
| |
resource.previewMode
| |
resource.serviceAccount
| |
resource.terraformBlueprint.gcsSource
| |
resource.terraformBlueprint.gitSource.directory
| |
resource.terraformBlueprint.gitSource.ref
| |
resource.terraformBlueprint.gitSource.repo
| |
resource.terraformBlueprint.inputValues[*].inputValue
| |
resource.tfVersionConstraint
| |
resource.workerPool
|
设置自定义限制条件
自定义限制条件是在 YAML 文件中,由实施组织政策的服务所支持的资源、方法、条件和操作定义的。自定义限制条件的条件使用通用表达式语言 (CEL) 进行定义。如需详细了解如何使用 CEL 构建自定义限制条件中的条件,请参阅创建和管理自定义限制条件的 CEL 部分。
控制台
如需创建自定义限制条件,请执行以下操作: