本文档介绍了如何使用 gdcloud CLI 通过密钥管理系统 (KMS) 密钥加密和解密数据。
本文档面向应用运维人员组内的受众,他们需要 在 GDC 项目中执行加密操作。 如需了解详情,请参阅 GDC 气隙文档的受众。
准备工作
在加密或解密数据之前,您必须拥有必要的权限并准备好环境。
申请 IAM 角色
如需加密和解密数据,请与组织 IAM 管理员联系,以在您的项目命名空间中申请 KMS 开发者 (kms-developer) 角色。
准备环境
所需权限
如需获得所需的权限,请让组织 IAM 管理员在您的项目中为您授予 KMS 开发者 (kms-developer) 角色。
加密数据
如需加密数据,请使用 gdcloud kms keys encrypt 命令。此命令使用 AEAD 密钥加密给定的明文文件,并将其写入指定的密文文件。
如需加密数据,请传入密钥名称和以下内容:
gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \ --plaintext-file=PLAINTEXT_PATH \ --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \ --ciphertext-file=CIPHERTEXT_PATH执行以下变量替换操作:
- NAMESPACE:项目命名空间,例如
kms-test1。 - KEY_NAME:用于加密
明文的密钥的名称,例如
key-1。 - PLAINTEXT_PATH:包含 要加密的明文的文件的路径。
- ADDITIONAL_AUTHENTICATED_DATA_FILE:一个可选 文件,其中包含额外的经过身份验证的数据 (AAD)。AAD 用于完整性检查,并保护您的数据免受混淆代理攻击。AAD 和明文的大小上限均为 64KB。
- CIPHERTEXT_PATH:包含 加密明文的文件的路径。
运行该命令后,您会看到在
--ciphertext-file标志中指定的文件,其中包含明文文件的加密内容。- NAMESPACE:项目命名空间,例如
解密数据
如需解密数据,请使用 gdcloud kms keys decrypt 命令。此命令使用 AEAD 密钥解密给定的密文文件,并将其写入指定的明文文件。
如需解密密文,请传入密钥名称和以下内容:
gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \ --ciphertext-file=CIPHERTEXT_PATH \ --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \ --plaintext-file=PLAINTEXT_PATH执行以下变量替换操作:
- NAMESPACE:项目命名空间。
- KEY_NAME:用于加密 明文的密钥的名称。
- CIPHERTEXT_PATH:您要 解密的文件路径。
- ADDITIONAL_AUTHENTICATED_DATA_FILE:一个可选 文件,其中包含额外的经过身份验证的数据 (AAD)。AAD 用于完整性检查,并保护您的数据免受混淆代理攻击。AAD 和明文的大小上限均为 64KB。
- PLAINTEXT_PATH:包含 解密明文的文件的路径。
运行该命令后,您会看到在
--plaintext-file标志中指定的文件,其中包含解密的数据。