使用 Cloud KMS 创建加密密钥
本快速入门介绍如何在您拥有的项目中通过 Cloud Key Management Service 创建和使用加密密钥。以下说明使用 Google Cloud 控制台在 Cloud KMS 中创建密钥环、密钥和密钥版本。如需了解使用其他方法的说明,请参阅方法指南。
本快速入门使用命令行将请求发送到 Cloud KMS API。如需查看使用客户端库向 Cloud KMS API 发送请求的编程示例,请参阅加密和解密。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
启用 Cloud KMS API。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
启用 Cloud KMS API。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
密钥环和密钥
要对内容进行加密和解密,您需要一个 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
标志指定的文件中。
要对已加密内容进行解密,您必须使用加密该内容时使用的相同密钥。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
列出您的密钥可用的版本:
gcloud kms keys versions list \
--location "global" \
--keyring "test" \
--key "quickstart"
如需销毁版本,请运行以下命令,将 key-version 替换为要销毁的密钥版本的编号:
gcloud kms keys versions destroy key-version \ --location "global" \ --keyring "test" \ --key "quickstart"