加密和解密数据

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 标志中指定的文件,其中包含明文文件的加密内容。

解密数据

如需解密数据,请使用 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 标志中指定的文件包含解密后的数据。