使用 Fabric FAST 工具包进行企业设置

本页将向您介绍 Fabric FAST,以及如何使用它在Cloud de Confiance中配置可用于生产用途的组织。Fabric FAST 是一款高度可配置的 Terraform 工具包,用于设置组织。它体现了许多在可伸缩性、安全性和可维护性方面的最佳实践,并使用了许多 Google Cloud 客户都非常认可的模式。Fabric FAST 是为 Google Cloud 开发的,但完全支持Cloud de Confiance。

本页面适用于需要配置 Cloud de Confiance中的新组织的经验丰富的管理员。本指南侧重于初始资源设置,但提供了指向 Fabric FAST 详尽文档的链接,以便您进一步了解详情。

如果您是小型组织,或者正在开发概念验证,或者不太熟悉 Terraform,请考虑我们的基本设置,该设置可为您提供相对简单的组织,只需一步即可部署工作负载。如需了解详情,请参阅哪种 Fabric FAST 设置适合我?

我首先应该了解哪些信息?

在阅读本指南之前,您应该:

如果您已在 Google Cloud 上使用过 Fabric FAST,则可以跳过此部分,直接前往准备工作

Fabric FAST 阶段简介

Fabric FAST 使用阶段的概念来迭代构建组织。 例如,您可以先设置基本资源,然后添加安全性、网络等。每个阶段都包含一个或多个预配置的 YAML 数据集,用于指定您要创建的资源的类型和数量,以便您根据不同类型的组织和不同的技术需求选择最佳实践。例如,您可以根据自己的网络和安全需求,在不同的网络数据集之间进行选择。您可以按原样部署这些配置(除了提供您自己的详细信息,例如结算账号),也可以对其进行修改以满足您的特定需求。所提供的数据集经过验证,可在 Cloud de Confiance上正常运行,并且可用于引导启动完整的着陆区。

每个阶段还与典型的组织边界相一致,这让您可以将每个阶段的所有权委托给负责管理相应资源类型的团队。例如,顾名思义,网络阶段会设置所有网络元素,通常由组织内的专门网络团队负责。根据贵组织的规模和复杂程度,在学习本指南和 Fabric FAST 文档的过程中,您可能会在添加新阶段时将责任委托给不同的团队管理员。

Fabric FAST 阶段包括:

  • 组织设置:将组织级层的引导加载程序与资源层次结构的初始配置相结合。此阶段会配置高级别的 Identity and Access Management (IAM) 和组织政策,以及将组织划分为不同环境和范围的资源层次结构的初始层。Fabric FAST 为此阶段提供了一个特殊的 classic-gcd 数据集,可与您的媒体资源搭配使用。
  • VPC-SC:实现 VPC Service Controls 配置,并包含资源自动发现功能。
  • 网络:管理集中式网络资源,并提供一种将这些资源共享给应用和服务团队的方法。此阶段以 YAML 数据集的形式提供了多种不同的设计,包括采用 VPC 对等互连、VPN、NVA 和 NCC 的 hub-and-spoke。
  • 项目工厂:可使用基于 YAML 的配置文件简化文件夹层次结构和项目管理,帮助您设置项目组,以便由不同的应用团队或业务部门进行管理。
  • 安全性:用于管理集中式安全配置和资源(例如 Cloud KMS),并提供用于存放其他安全相关资源的空间。此阶段通常由中央安全团队负责。

除了组织设置之外,所有这些阶段都是可选的,是否使用取决于实际需求。本指南重点介绍组织设置阶段。如需详细了解此阶段创建的资源,请参阅 Fabric FAST 文档

准备工作

确保符合以下条件:

  • 您已为组织配置身份提供方 (IdP),并且已使用管理员 ID 登录 Cloud de Confiance 。
  • 您已设置 Google Cloud CLI 以与 Cloud de Confiance搭配使用。
  • 您已在本地机器上安装 gitterraform 工具:
  • 您已准备好以下信息:

    • 您选择的主账号,应向其授予贵组织的管理员权限。可以是您自己的 ID,也可以是您所属的管理员用户组(推荐)。
    • 核心项目的重要联系人电子邮件地址
    • 您的组织资源 ID。您可以在 Cloud de Confiance 控制台中找到此信息,也可以通过运行以下 Google Cloud CLI 命令找到此信息:

      gcloud organizations list
      

      该命令会列出您所属的所有组织(应该只有一个!),以及这些组织对应的 ID。

授予所需的权限

运行以下命令,向运行部署的正文授予所需的 IAM 权限:

export FAST_PRINCIPAL="PRINCIPAL_ID"

export FAST_ORG_ID="ORG_ID"

# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
  roles/billing.admin \
  roles/logging.admin \
  roles/iam.organizationRoleAdmin \
  roles/orgpolicy.policyAdmin \
  roles/resourcemanager.folderAdmin \
  roles/resourcemanager.organizationAdmin \
  roles/resourcemanager.projectCreator \
  roles/resourcemanager.tagAdmin \
  roles/owner"

for role in $FAST_ROLES; do
  gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
    --member $FAST_PRINCIPAL --role $role --condition None
done

替换以下内容:

  • PRINCIPAL_ID:相关主账号的标识符。如需详细了解如何指定员工身份联合中的身份和群组,请参阅主账号标识符
  • ORG_ID:您的组织资源 ID。

创建临时项目

Fabric FAST Terraform 需要至少一个现有项目才能运行,因为在初始设置期间,组织政策服务不会自动在组织根级层面上提供。如果您是首次在空组织中应用 Terraform,请按照以下步骤在新建组织的根目录下创建一个临时项目:

  1. 在组织中创建项目,并记下其项目 ID。
  2. 将项目设置为 Google Cloud CLI 的当前项目:

    gcloud config set project PROJECT_ID
    
  3. 运行以下命令,在项目中启用所需的服务:

    gcloud services enable \
     bigquery.googleapis.com \
     cloudbilling.googleapis.com \
     cloudresourcemanager.googleapis.com \
     essentialcontacts.googleapis.com \
     iam.googleapis.com \
     logging.googleapis.com \
     orgpolicy.googleapis.com \
     serviceusage.googleapis.com
    

完成设置后,您可以根据需要删除此项目。

获取 Terraform

运行以下命令,将 Fabric FAST 代码库克隆到本地机器:

git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git

将文件复制到您的机器后,将 Fabric FAST 组织设置阶段根目录更改为工作目录,以便开始操作。

cd cloud-foundation-fabric/fast/stages/0-org-setup

应用组织设置 Terraform

默认情况下,Fabric FAST 在此阶段使用 classic 数据集。不过,由于 Cloud de Confiance 在此级别上与 Google Cloud 存在显著差异(包括结算和端点),因此我们提供了一个特殊的 classic-gcd 数据集,可根据您的环境调整 classic 数据集。您必须使用此数据集,而不是默认版本。

按照 README-GCD 中的说明切换到 classic-gcd,并使用您在准备工作中收集的信息更新所有相关配置文件,然后再应用 Terraform。您可能还需要参阅阶段的README,了解更多信息。

应用其他阶段

按照 Fabric FAST 文档中的说明应用所需的任何其他阶段。其他阶段无需进行任何特殊自定义即可与 Cloud de Confiance搭配使用。

后续步骤