适合企业客户的政策设计方案

本文介绍如何设计一组政策来让您的公司(一家名为 EnterpriseExampleOrganization 的虚构企业客户)能够使用 Google Cloud

企业客户通常运营历史悠久,其间形成了企业的组织结构和内部政策。通过收购、合并或自然市场拓展并入多家法人实体,这些客户建立起了拥有众多员工的复杂组织结构。在如此复杂的环境中,设定集中控制、法规遵从和职责分离至关重要。

通常,您必须扩展用于管理本地资产的流程和工具,将云资源纳入其中。本文介绍了如何设计政策,让 EnterpriseExampleOrganization 能以满足下列要求的方式使用 Google Cloud:

  • 保留一个本地身份系统供所有 EnterpriseExampleOrganization 用户使用。
  • 仅允许 EnterpriseExampleOrganization 成员访问资源。
  • 将管理工作委派给各个团队或部门,使其能够管理所预配的 Google Cloud 资源。
  • 跨团队及其开发的产品分配交叉收费项。
  • 使用自助式工具来预配设备和计算资源请求,并强制执行公司控制措施。必须扩展此工具,使其涵盖 Google Cloud 资源。
  • 经由核心财务团队作出采购决策。
  • 经由一个统合的团队管理安全和网络控制情况。
  • 监控 EnterpriseExampleOrganization 的 Google Cloud 帐号中发生的活动。
  • 仅允许开发者使用那些他们拥有访问权限(经由自助工具授予)的资源。
  • 仅由经过授权的部署工程师登录和启动从质量检查到生产的部署。

治理和可见性

以下部分介绍了有助于 EnterpriseExampleOrganization 满足这些要求的各种 Google Cloud 方法。

身份管理

EnterpriseExampleOrganization 要求包括:

  • 保留一个本地身份系统供所有 EnterpriseExampleOrganization 用户使用。

Google Cloud 使用 Google 帐号进行身份验证和访问权限管理。要向 EnterpriseExampleOrganization 授予 Google Cloud 资源的访问权限,前提条件是员工必须具备一个 Google 身份。由于您将在实施 Google Cloud 的同时继续使用您的身份系统,因此必须设置一个 Cloud Identity 帐号,让 EnterpriseExampleOrganization 能够使用 Cloud Directory Sync 与本地身份系统同步。您还需要实现 SAML 单点登录,确保由您的身份系统来管理身份验证。如需了解详情,请参阅身份验证和身份信息及下图内容。

企业政策结构

Cloud Directory Sync

通过配置 Cloud Identity 和使用 Cloud Directory Sync,您可以在本地身份系统和云之间进行同步。这样,您即可精确控制您希望向其授予 Google Cloud 资源的直接访问权限的公司用户。这些用户通常是开发者、数据科学家和运维人员。

使用 SAML

Google Cloud 支持 SAML 2.0 单点登录,其中 Google 充当服务提供商 (SP),第三方身份服务公司充当身份提供商。这可确保将身份验证工作委托给身份提供商。

组织设置

EnterpriseExampleOrganization 要求包括:

  • 仅允许 EnterpriseExampleOrganization 成员访问资源。
  • 将管理工作委派给各个团队或部门,使其能够管理所预配的 Google Cloud 资源。
  • 跨团队及其开发的产品分配交叉收费项。

EnterpriseExampleOrganization 要求进行集中管理,因此您需要实现组织资源。这样,EnterpriseExampleOrganization 管理员才能全面了解和控制公司资产。

组织资源就位后,您可以将组织映射到资源层次结构。在此分层组织中,您可将 Cloud Folders 用作项目和其他文件夹的容器。借助 Cloud Folders,用户可将项目分组到文件夹下,从而实现大规模的资源和政策管理。

下图简略地展示了这一结构。

组织设置

该结构与组织或其母公司下属子公司的部门结构类似。EnterpriseExampleOrganization 还可以使用文件夹来封装与成本中心、部门或应用项目关联的所有项目和资产。

借助 Cloud Folders,您可以在文件夹层级管理访问权限管理政策。该文件夹下的所有项目均沿用此政策。

组织安全控制

EnterpriseExampleOrganization 要求包括:

  • 仅允许 EnterpriseExampleOrganization 成员访问资源。
  • 监控 EnterpriseExampleOrganization 的 Google Cloud 帐号中发生的活动。
  • 使用自助式工具来预配设备和计算资源请求,并强制执行公司控制措施。必须扩展此工具,使其涵盖 Google Cloud 资源。
  • 经由一个统合的团队管理安全和网络工具。
  • 仅允许开发者使用自助工具授予他们的资源。
  • 只有经过授权的部署工程师才能审查和启动(从质量检查环境到生产环境的)各项部署。

借助组织政策服务,可以对 EnterpriseExampleOrganization 的云资源进行集中编程控制。该服务提供了一种简单的机制,让您能够在整个云资源层次结构中实施允许的配置。在此场景中,政策是指组织政策,它们让您能够控制云资源的组织级配置。

组织政策具有下列优势:

  • 您可以对每个项目、每个文件夹或每个组织设置政策。
  • 政策沿资源层次结构由上至下继承,政策管理员可以在可设置组织政策的任何级层将其替换。
  • 由组织政策管理员(而非资源所有者)管理政策。这意味着个人用户和项目所有者无法替换组织政策。

资源控制

您可以通过实施组织政策来规定 Google Cloud 信任边界(文件夹、项目或其他组织级层)内可用的资源。

  • 借助 Cloud Identity and Access Management,您能够通过定义谁(身份)对哪些资源具有哪种访问权限(角色)来管理访问权限控制。要为用户授予角色,您可以创建 Cloud IAM 政策,这是一组定义谁拥有何种访问权限的语句集合。政策与资源关联,用于在每次访问该资源时强制执行访问权限控制。
  • Resource Manager 为访问权限控制和组织政策提供了连接点和继承关系。借助 Resource Manager API,您可以与组织、文件夹和项目进行交互。
  • 在任何情况下,您都需要仔细考虑要部署哪些访问权限控制、谁需要访问权限,以及在哪些位置应用最小特权原则。

借助 Cloud Deployment Manager,您可以使用相应的资源和 IAM 政策自动创建项目。您可以将模板用作自助系统的一部分。

职能角色

您需要将 EnterpriseExampleOrganization 的职能角色映射到相应的 Cloud IAM 角色。

通过按群组管理用户,您可以更改能执行特定职能的人员。无需更新政策即可调整群组成员资格。请使用 EnterpriseExampleOrganization 的术语对群组进行命名,使其反映出职能角色。

由于您将使用自助工具来启用 API 并部署 Deployment Manager 模板,因此您需要具有相应权限的服务帐号。

下例中的 Cloud IAM 政策可以帮助 EnterpriseExampleOrganization 满足其要求:

Cloud IAM 政策说明 功能
要应用政策的资源级层:组织

需要授予的角色:Billing Admin

要绑定的成员:财务团队
借助 Billing Admin 角色,财务团队在无权查看项目内容的情况下也可管理付款和帐单。
要授予政策的资源级层:组织

需要授予的角色:Billing UserProject Creator

要绑定的成员:用于自动创建项目和对象的服务帐号
Project Creator 角色为用于自助工具的服务帐号提供创建项目的权限。Billing User 角色让服务帐号能够启用结算功能(将项目与组织中所有项目的结算帐号相关联)。
要应用政策的资源级层:组织

需要授予的角色:Network Admin

要绑定的成员:网络管理团队
Network Admin 角色授予创建、修改和删除网络资源的权限。如果在组织级层将此权限授予网络管理团队,则表示该团队的成员可以管理组织中所有项目的网络配置。

审核

Cloud Audit Logs 可让您查看近期的审核日志。它记录了 Google Cloud 服务生成的管理员活动日志和数据访问日志,可帮助回答“哪些用户何时在何处执行过哪些操作?”这一问题。

您可在 Cloud Logging 中将各审核日志条目保留指定时长,该产品的信息中心显示近期的项目活动。Logging 日志记录配额政策说明了日志条目的保留时长,但您不能删除或修改审核日志或其条目。如需延长保留期限,您可以导出审核日志条目到 Cloud Storage 存储分区、BigQuery 数据集、Pub/Sub 主题或上述三者的任意组合中。

跟踪和了解支出

EnterpriseExampleOrganization 要求包括:

  • 经由核心财务团队作出采购决策。
  • 跨团队及其开发的产品分配交叉收费项。

与 Cloud Resource Manager 和结算功能一并实现的单个结算帐号可以满足 EnterpriseExampleOrganization 的要求。结算功能包括:

  • 用于组织资源的项目。按项目显示费用,并且导出的结算数据中包括项目 ID。
  • 使用标签对项目进行注释以指明附加分组信息,例如 environment=test。标签随附在导出的结算数据中,可让您将费用进行细分。虽然标签随时可能更改,但仍然很有用。
  • 将成本中心编码为 Project NameID,以便更容易地将成本追溯到成本中心。
  • 直接导出结算数据到 BigQuery 进行详细分析。

下图展示了与 Resource Manager 一并应用的单个结算帐号。

结算结构

如需集中管理帐单,您必须向结算帐号授予 Billing Admin 角色,并将此 Cloud IAM 角色绑定到财务团队中的用户。

组织和身份管理政策提案

下图显示了所建议的 EnterpriseExampleOrganization 组织政策。

组织政策

上图中有五个主要特征:

  1. 用于强制实行限制条件与合规要求的组织政策。

  2. 交叉记账的法人实体和部门的文件夹。

  3. 团队和应用的项目。

  4. 通过身份同步或单点登录使用现有的公司身份。

  5. 预创建组以管理 Cloud IAM 权限。

网络配置和安全控制

EnterpriseExampleOrganization 要求包括:

  • 经由一个统合的团队管理安全和网络控制情况。

EnterpriseExampleOrganization 有一个管理安全和网络控制情况的中心团队,并希望在使用 Google Cloud 时维护此模型。该团队要求从其办公室可靠、安全地连接到 Google Cloud。 与使用互联网连接相比,Cloud Interconnect 提供了可用性更高且/或延迟更低的连接。

共享 VPC

借助共享 VPC,您可以通过中央宿主项目管理常见的网络资源,如 VPC 网络和子网。其他项目也可访问这些资源。通过此设置及其 Cloud IAM 控件,简化了中央网络的管理。

借助共享 VPC,您可以拥有跨多个项目的 VPC 网络,例如普通专用 RFC 1918 IP 空间。您可以将任何项目中的实例添加到此 VPC 网络或其子网中。您也可将 VPN 连接到单个 VPC 网络,让其可供全部或部分项目使用。

共享 VPC 具有以下功能:

  • 允许存在一组与项目管理员分开的集中式网络管理员。
  • 让您能够指定一组管理员来通过 Cloud IAM 控件管理共享 VPC。
  • 让您能够轻松创建单独的管理员集。每个 Google Cloud 项目的管理员都可以在 VPC 网络中创建和使用实例。
  • 允许网络管理员隶属于集中式管理团队,同时不同 EnterpriseExampleOrganization 部门的用户可以共享 VPC 网络或子网。
  • 提供一种集中管理 IP 地址和子网等网络资源的方法。
  • 让您能够应用一致的政策并在整个组织中强制实施。
  • 网络管理员可以定义一组常用防火墙规则、网关、安全政策和 NAT,只需定义一次即可将其应用于所有子网。各个项目中的这些政策无需进行多次定义和维护。

网络安全控制

EnterpriseExampleOrganization 要求包括:

  • 仅允许开发者使用自助工具授予他们的资源。
  • 经由核心团队管理安全和网络控制情况。
  • 仅由经过授权的部署工程师登录和启动从质量检查到生产的部署。

EnterpriseExampleOrganization 希望以一种安全且良好规划的方式将测试环境中的构建资产直接推送到其生产环境。此处描述的网络模型满足了对适当安全控制措施的需求。

在上一部分中已讨论过组织安全控制措施。这些控制与网络特定的安全控制一起协作,以满足在本部分中确定的要求。

IAM 网络角色

要满足 EnterpriseExampleOrganization 的要求,您必须实现相应的网络和安全 Cloud IAM 控件。

功能 必需的 Cloud IAM 政策的说明
中心团队管理网络和安全控件。所有项目共享一个网络。
  • 按照最佳做法,设置一个组,其中包含集中管理网络和安全性的用户的身份。在满足此要求所需的 Cloud IAM 政策中使用此组。
  • 通过使用共享 VPC,您可以映射集中管理团队来管理网络配置。
  • 在云资源层次结构的组织级层上向该组分配网络管理员共享 VPC 管理员 (XPNAdmin) 角色。此外,通过在组织级层向此管理员组授予 Security Admin 角色,可提供管理防火墙规则和 SSL 证书所需的权限。
使用自助工具创建项目 此功能需要一个专用项目,其中存在能够创建项目的服务帐号。

自助工具将使用此服务帐号。请向该服务帐号授予 Billing UserProject Creator 角色,并在组织级层设置它们。

彼此分离的团队可以管理每个服务项目,让您能够将开发、测试和生产项目分开。

下图显示了满足 EnterpriseExampleOrganization 集中控制要求的最简单的模型。可由同一团队来管理开发和生产 VPC 网络。

集中控制要求的架构。

防火墙规则

防火墙规则可管理源子网与目标子网和/或带标记或使用特定服务帐号的实例之间的流量。这些规则供了必要的控制,保证在开发、测试和生产环境之间部署了足够的闸门。

参考

要求 参考
身份管理
组织设置
结算
网络和安全控制

后续步骤