在 T-Systems Sovereign Cloud 中,所有数据都需要使用 Cloud External Key Manager (Cloud EKM) 密钥加密,这些密钥是连接到外部密钥管理器(也缩写为 EKM)的加密密钥。虽然客户可以设置和使用自己的 Cloud EKM,但我们还会为客户提供由 Google Cloud 和 T-Systems Sovereign Cloud 预配的项目。在此项目(称为密钥管理项目)中,您可以使用由 T-Systems International (TSI) 代表客户运营的外部密钥管理器来创建密钥。
本主题介绍了在 TSI 支持的情况下使用 Cloud KMS 的步骤。
概览
如需在 T-Systems Sovereign Cloud 中使用 Cloud EKM 创建和管理密钥,您将使用一个名为“问题跟踪器”的工单系统。您会在欢迎电子邮件中收到指向问题跟踪器工具的链接,以及关键的管理员访问权限群组信息。所有关键管理员都必须添加到访问权限群组。然后,这些管理员将有权访问问题跟踪器组件,以便向 TSI 提交工单,TSI 将代表您执行密钥管理操作。
所有 TSI 管理的密钥都应在预配的密钥管理项目中创建。您可以将数据托管在 Cloud KMS 密钥所在项目以外的另一个项目中。此功能可支持对密钥管理员和数据管理员之间进行职责分离的最佳实践。
查找特定于客户的信息
在开始创建密钥之前,请在初始欢迎电子邮件中找到以下信息:
- Cloud KMS 项目编号
- 关键管理员访问权限群组
- 问题跟踪器链接
配置访问权限群组
密钥管理员访问权限群组是供贵组织中的密钥管理员使用的私密 Google 群组,即将被授予 Cloud KMS 管理员 Identity and Access Management (IAM) 角色的用户。关键管理员访问权限组由您维护。
您会在欢迎电子邮件中收到您的访问权限群组。其格式为:
<customer-name>-<KMS-project-number>-key-admin@googlegroups.com
将您希望在项目中授予 Cloud KMS Admin 角色的用户添加到 Google 群组。如需详细了解如何管理群组,请参阅向群组添加用户。
创建 Cloud EKM 密钥
Cloud EKM 密钥用于对 Google Cloud中的数据进行加密。如需使用 TSI 外部密钥管理器中的密钥,您首先需要创建一个 Cloud EKM 密钥。此与 TSI 关联的 Cloud EKM 密钥用于引用 TSI 的 EKM 中的特定密钥,并且只能在预配的密钥管理项目中创建。
创建密钥环
创建一个密钥环来存放 Cloud EKM 密钥。对于 T-Systems Sovereign Cloud,密钥环位置始终必须为 europe-west3
。将 KEY_RING_NAME 占位符替换为您要为密钥环指定的名称:
gcloud
gcloud kms keyrings create KEY_RING_NAME \ --location europe-west3
获取 Cloud EKM 连接资源名称
接下来,您需要在密钥管理项目中获取 TSI 的 Cloud EKM 连接资源名称。该方法将被称为 default-ekm-connection
。
gcloud
运行以下命令,然后找到包含连接名称 default-ekm-connection 的 Cloud EKM 连接资源名称。其格式为 projects/[PROJECT-ID]/locations/europe-west3/ekmConnections/default-ekm-connection
:
gcloud kms ekm-connections list \ --location europe-west3
示例输出:
NAME: projects/test-project/locations/europe-west3/ekmConnections/default-ekm-connection SERVICE_DIRECTORY_SERVICE: projects/host-project/locations/europe-west3/namespaces/tsi-ekm-000000001/services/tsi-ekm-00000001 HOSTNAME: test_host.example.com
复制完整资源名称的名称,即 NAME
部分中的突出显示文本。在创建对称密钥和/或非对称密钥时,此值将用作 --crypto-key-backend
值。
创建对称加密密钥
如需创建对称 Cloud EKM 密钥,请在 Google Cloud CLI 中使用以下命令:
gcloud
gcloud kms keys create KEY_NAME \ --keyring KEY_RING_NAME \ --location europe-west3 \ --purpose encryption \ --protection-level external-vpc \ --default-algorithm external-symmetric-encryption \ --skip-initial-version-creation \ --crypto-key-backend EKM_CONNECTION
标志 --skip-initial-version-creation
用于防止创建密钥版本。将 Cloud KMS 与 TSI Sovereign Cloud 搭配使用时,TSI 负责为您创建密钥版本。
密钥的用途为 encryption
表示该密钥是对称加密密钥。由于 TSI 的 EKM 是通过 VPC 连接使用 EKM 连接到 Cloud KMS,因此您必须使用 external-vpc
保护级别。
将 EKM_CONNECTION 替换为您在上面的获取 Cloud EKM 连接资源名称部分中复制的 EKM 连接名称(使用完整资源名称)。
上述步骤会在密钥环中创建一个空对称加密密钥。如需创建密钥版本,请按照下文最后一步部分中的说明操作。
创建非对称签名密钥
创建非对称签名密钥与创建对称加密密钥类似。主要区别在于密钥的用途和默认算法。
创建新密钥时,请务必添加 --skip-initial-version-creation
,以防止创建密钥版本。将 Cloud KMS 与 T-Systems Sovereign Cloud 搭配使用时,TSI 负责为您创建密钥版本。
gcloud
gcloud kms keys create KEY_NAME \ --keyring KEY_RING_NAME \ --location europe-west3 \ --purpose asymmetric-signing \ --protection-level external-vpc \ --skip-initial-version-creation \ --default-algorithm ec-sign-p256-sha256 \ --crypto-key-backend EKM_CONNECTION
将密钥的用途设置为 asymmetric-signing
,以指定该密钥为非对称签名密钥。由于 TSI 的 EKM 是通过 VPC 连接使用 EKM 连接到 Cloud KMS,因此您必须使用 external-vpc
保护级别。
将 EKM_CONNECTION 替换为您在上面的获取 Cloud EKM 连接资源名称部分中复制的 EKM 连接名称(使用完整资源名称)。
上述步骤会在密钥环中创建一个空的非对称加密密钥。如需创建密钥版本,请按照下文最后一步部分中的说明操作。
最后的步骤
在 Google Cloud中创建 Cloud EKM 密钥后,最后一步是使用问题跟踪器请求表单向 TSI 提交工单。执行此操作可创建第一个密钥版本。您的请求将转给 TSI,以便他们完成密钥预配。
如需详细了解其他密钥管理操作(例如创建或轮替密钥版本),请参阅 TSI 管理的密钥操作。