通过组织政策服务,您可以对您的 组织 Google Cloud 资源进行集中程序化控制。身为 组织政策管理员, 您可以配置整个 资源层次结构的限制条件。
福利
- 集中控制以配置关于如何使用组织资源的限制。
- 为开发团队界定和建立界限,以确保始终遵从法规。
- 帮助项目所有者及其团队快速行动,无需担心违反法规。
常见使用场景
借助组织政策,您可以执行以下操作:
此外,您还可以通过更多限制条件对组织的资源进行精细控制。如需了解详情,请参阅 所有组织政策限制条件的列表。
与 Identity and Access Management 的区别
Identity and Access Management 侧重于人,可让管理员授权用户根据权限对特定资源执行操作。
组织政策侧重于什么,管理员可以对特定资源设置 限制,以决定它们的配置方式。
组织政策的工作原理
组织政策用于配置限制一项或多项服务的单个限制条件, 这些服务 Google Cloud 。组织政策在组织、文件夹或项目资源上设置,以对该资源和任何子资源强制执行限制条件。
组织政策包含一条或多条规则,用于指定如何以及是否强制执行限制条件。 例如,组织政策可以包含一条规则,该规则仅对标记为
environment=development 的资源强制执行限制条件;还可以包含另一条规则,该规则可防止对其他资源强制执行限制条件。
组织政策所挂接资源的后代会继承该组织政策。 继承通过将组织政策应用于组织资源,组织政策管理员可以控制在整个组织中强制执行该组织政策和配置限制条件。
限制条件
限制条件是针对某项
Google Cloud 服务或一组
服务 Google Cloud 的特定限制类型。您可以将限制条件视为定义受控行为的蓝图, 例如,您可以使用
compute.storageResourceUseRestrictions 限制条件来限制项目资源访问 Compute Engine 存储资源。
该蓝图随后作为组织政策应用于资源层次结构中的资源,以实施限制条件中定义的规则。映射到该限制条件并与 该资源相关联的 Google Cloud 服务会强制执行组织 政策中配置的限制条件。
组织政策在 YAML 或 JSON 文件中定义,由其强制执行的限制条件以及(可选)强制执行限制条件所依据的条件定义。每项组织政策在有效模式、试运行模式或两种模式下都只会强制执行一项限制条件。
托管式限制条件具有列表或布尔值参数,这些参数由 强制执行的 Google Cloud 服务决定。 自定义限制条件在功能上与具有布尔值参数的托管式限制条件类似,并且可能会强制执行,也可能不会强制执行。旧版托管式限制条件具有一条或多条列表规则或布尔值规则,具体取决于限制条件类型。列表规则是允许或拒绝的值的集合。 布尔值规则可以允许所有值、拒绝所有值,或确定是否强制执行限制条件。
托管式限制条件
托管式限制条件旨在取代等效的旧版托管式 限制条件,但具有额外的灵活性,并且可以从 Policy Intelligence 工具获得更多洞见。这些限制条件与自定义组织政策限制条件具有相似的结构,但由 Google 管理。
如果等效的旧版托管式限制条件的限制条件类型为布尔值,则托管式限制条件可以以相同的方式强制执行或不强制执行。例如,以下组织政策强制执行
iam.managed.disableServiceAccountCreation,该限制条件与 iam.disableServiceAccountCreation 等效:
name: organizations/1234567890123/policies/iam.managed.disableServiceAccountCreation
spec:
rules:
- enforce: true
如果等效的旧版托管式限制条件的限制条件类型为列表,则托管式限制条件支持定义参数,这些参数定义了受限制条件限制的资源和行为。例如,以下组织政策强制执行一项托管式限制条件,该限制条件仅允许将 example.com 和 altostrat.com 网域添加到 organizations/1234567890123 的重要联系人:
name: organizations/1234567890123/policies/essentialcontacts.managed.allowedContactDomains
spec:
rules:
- enforce: true
parameters:
allowedDomains:
- @example.com
- @altostrat.com
如需详细了解如何使用托管式限制条件,请参阅 创建组织政策。
自定义限制条件
与托管式限制条件类似,自定义限制条件允许或限制资源创建和更新。不过,自定义限制条件由您的组织管理,而不是由 Google 管理。您可以使用 Policy Intelligence 工具来测试和分析 您的自定义组织政策。
如需查看支持自定义限制条件的服务资源列表,请参阅 自定义限制条件支持的服务。
如需详细了解如何使用自定义组织政策,请参阅 创建自定义限制条件。
如需查看自定义限制条件的示例列表,请参阅 GitHub 上的 自定义组织政策库。
托管式限制条件(旧版)
旧版托管式限制条件具有列表或布尔值的限制条件类型,该类型决定了可用于检查强制执行情况的值。 强制执行的 Google Cloud 服务将评估限制条件类型和值,以 确定强制执行的限制条件。
这些旧版限制条件之前称为预定义限制条件。
列表规则
具有列表规则的旧版托管式限制条件允许或禁止组织政策中定义的值列表。这些旧版限制条件之前称为列表限制条件。
允许或拒绝值列表以层次结构子树字符串的形式表示。子树字符串指定了其适用的资源类型。例如,旧版托管式限制条件
constraints/compute.trustedImageProjects采用
形式的项目 ID 列表。projects/PROJECT_ID
您可以指定允许所有值、拒绝所有值,或允许或拒绝特定值列表。当您指定允许或拒绝值列表时,组织政策会隐式评估仅允许或拒绝这些值。例如,如果您有一个仅允许 projects/PROJECT_ID 的限制条件,则所有其他值都会被隐式拒绝。
对于支持这些值的限制条件,您可以为值添加 prefix:value 形式的前缀,以便为值赋予其他含义:
is:- 针对确切的值应用比较。此行为与未加前缀时的行为一样;当值包含冒号时,必需使用此前缀。under:- 针对值及其所有子值应用比较。如果允许或拒绝使用该前缀的资源,则其子资源也会被允许或拒绝。提供的值必须是组织、文件夹或项目资源的 ID。in:- 针对包含此值的所有资源应用比较。例如,您可以将in:us-locations添加到constraints/gcp.resourceLocations限制条件的拒绝列表中,以屏蔽us区域中包含的所有位置。
如果您未提供值列表,或者组织政策设置为 Google 管理的默认值,则限制条件的默认行为会生效,该行为要么允许所有值,要么拒绝所有值。
以下组织政策强制执行一项旧版托管式限制条件,该限制条件允许 organizations/1234567890123 中的 Compute Engine 虚拟机实例 vm-1 和 vm-2 访问外部 IP 地址:
name: organizations/1234567890123/policies/compute.vmExternalIpAccess
spec:
rules:
- values:
allowedValues:
- is:projects/project_a/zones/us-central1-a/instances/vm-1
- is:projects/project_b/zones/us-central1-a/instances/vm-2
布尔值规则
具有布尔值规则的旧版托管式限制条件可能会强制执行,也可能不会强制执行。例如,constraints/compute.disableSerialPortAccess 有两种可能的状态:
- 强制执行 - 强制执行限制条件,并且不允许串行端口访问。
- 不强制执行 - 不强制执行或检查
disableSerialPortAccess限制条件,因此允许串行端口访问。
如果组织政策设置为 Google 管理的默认值,则限制条件的默认行为会生效。
这些旧版限制条件之前称为布尔值限制条件。
以下组织政策强制执行一项旧版托管式限制条件,该限制条件会禁止在 organizations/1234567890123 中创建外部服务账号:
name: organizations/1234567890123/policies/iam.disableServiceAccountCreation
spec:
rules:
- enforce: true
有条件的组织政策
标记提供了一种根据资源是否有特定标记,有条件地强制执行限制条件的方法。您可以使用标记并有条件地强制执行限制条件,以便集中控制层次结构中的资源。
如需详细了解标记,请参阅 标记概览。如需了解如何使用标记设置 有条件的组织政策,请参阅 使用标记限定组织政策的范围。
继承
在资源上设置组织政策时,默认情况下,该资源的所有后代都会继承该组织政策。如果您在组织资源上设置组织政策,则该政策定义的限制配置将传递给所有后代文件夹、项目和服务资源。
您可以在后代资源上设置组织政策,该政策会覆盖继承的组织政策或继承父资源的组织政策。强制执行旧版托管式限制条件的组织政策会根据层次结构评估规则进行合并。此系统可精确控制组织政策在整个组织中的应用方式,以及需要进行例外处理的地方。
如需了解详情,请参阅 层次结构评估。
违规
如果 Google Cloud 服务的表现或状态与其资源层次结构范围内的组织政策限制配置相反,则表示存在违规行为。 Google Cloud 服务将强制执行限制条件来防止违规,但新组织政策的效力通常不会追溯既往。如果组织政策限制强制追溯既往 ,则其会在 组织政策限制 页面上标出。
如果新组织政策对服务所执行的操作或服务所处的状态设定限制,则该政策被视为违规,但服务不会停止其原来的行为。您将需要手动解决该违规问题。这样做可防止新组织政策完全关闭您的业务连续性。
Policy Intelligence
Policy Intelligence 是一套旨在帮助您管理安全政策的工具。这些工具可帮助您了解资源使用情况、了解和改进现有安全政策,以及防止政策配置错误。
某些 Policy Intelligence 工具专门用于帮助测试和分析组织政策。我们建议您测试并试运行对组织政策的所有更改。借助 Policy Intelligence,您可以执行以下任务:
- 测试更改对 组织政策和限制条件的更改,并识别在拟议 政策下不合规的资源(预览版)。
- 测试组织政策 以监控政策更改对工作流的影响。
- 分析现有组织政策 以了解哪些 Google Cloud 资源受哪些 组织政策的约束。
如需详细了解这些工具和其他 Policy Intelligence 工具,请参阅 Policy Intelligence 概览。
后续步骤
- 阅读 创建和管理组织资源 页面,了解如何获取组织资源。