本文档介绍了如何使用 gdcloud CLI 通过密钥管理系统 (KMS) 密钥加密和解密数据。
本文档面向应用操作员群组中的用户,这些用户需要在 GDC 项目中执行加密操作。如需了解详情,请参阅 GDC 网闸隔离配置文档的受众群体。
准备工作
在加密或解密数据之前,您必须拥有必要的权限并准备好环境。
申请 IAM 角色
如需加密和解密数据,请与组织 IAM 管理员联系,请求在项目命名空间中授予 KMS Developer (kms-developer) 角色。
准备环境
如果您尚未下载并安装 gdcloud CLI,请执行此操作。
加密数据
如需加密数据,请使用 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标志中指定的文件包含解密后的数据。