AO 通过 Google Distributed Cloud (GDC) 气隙 CLI 使用 gRPC 客户端对 KMS 执行加密和解密操作。
准备工作
在执行加密操作之前,请下载、安装并配置 gdcloud CLI 以访问 Management API 服务器。为此,请参阅 gcloud CLI 概览。
如需获得执行加密操作所需的权限,请让您的组织 IAM 管理员为您授予 KMS Developer (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标志中指定的文件包含解密后的数据。