快速入门

本快速入门介绍了如何使用 Google Cloud Key Management Service 创建和使用加密密钥。

本快速入门使用命令行将请求发送到 Cloud KMS API。如需了解使用客户端库向 Cloud KMS API 发送请求的编程示例,请参阅加密和解密

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册新帐号

  2. 在 GCP Console 中,转到管理资源页面,然后选择项目或创建项目。

    转到“管理资源”页面

  3. 确保您的 Google Cloud Platform 项目已启用结算功能。

    了解如何启用结算功能

  4. 启用 Cloud KMS API。

    启用 API

  5. 安装并初始化 Cloud SDK

密钥环和密钥

要对内容进行加密和解密,您需要一个 Cloud KMS 密钥,该密钥是密钥环的一部分。

创建名为 test 的密钥环和名为 quickstart 的密钥。如需了解有关这些对象及其相互关系的更多信息,请参阅对象层次结构概览

gcloud kms keyrings create test --location global
gcloud kms keys create quickstart --location global \
  --keyring test --purpose encryption

您可以使用 list 选项查看刚刚创建的密钥的名称和元数据。

gcloud kms keys list --location global --keyring test

您应该会看到以下结果:

NAME                                                                    PURPOSE          PRIMARY_STATE
projects/PROJECT_ID/locations/global/keyRings/test/cryptoKeys/quickstart  ENCRYPT_DECRYPT  ENABLED

加密数据

现在您有了密钥,您可以使用该密钥对文本或二进制内容进行加密。

将“some text to be encrypted”存储在名为“mysecret.txt”的文件中。

echo -n "Some text to be encrypted" > mysecret.txt

要使用 gcloud kms encrypt 对数据进行加密,请提供密钥信息,指定要加密的纯文本文件的名称,然后指定包含加密后内容的文件的名称。

gcloud kms encrypt --location global \
  --keyring test --key quickstart \
  --plaintext-file mysecret.txt \
  --ciphertext-file mysecret.txt.encrypted

encrypt 方法将会把加密后的内容保存在 --ciphertext-file 标志指定的文件中。

对密文进行解密

要使用 gcloud kms decrypt 数据进行解密,请提供密钥信息,指定要解密的已加密文件(密文文件)的名称,然后指定包含解密后内容的文件的名称。

gcloud kms decrypt --location global \
  --keyring test --key quickstart \
  --ciphertext-file mysecret.txt.encrypted \
  --plaintext-file mysecret.txt.decrypted

decrypt 方法将会把解密后的内容保存在 --plaintext-file 标志指定的文件中。

要对已加密内容进行解密,您必须使用加密该内容时使用的相同密钥。

清理

为避免系统因本快速入门中使用的资源向您的 GCP 帐号收取费用,请执行以下操作:

列出可供您的密钥使用的版本:

gcloud kms keys versions list --location global \
  --keyring test --key quickstart

要销毁某一版本,请运行以下命令,将 VERSION_NUMBER 替换为要销毁的版本号:

gcloud kms keys versions destroy VERSION_NUMBER \
  --location global --keyring test --key quickstart

后续步骤

  • 开始学习使用 API
  • 查看 API 参考
  • 阅读操作指南,以开始创建、轮替和设置对密钥的权限。
  • 查看概念,以更好地了解对象层次结构、密钥状态和密钥轮替。
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud KMS