将 GenerateDataKeyWithoutPlaintext 与 AWS SDK 或 CLI 配合使用
以下代码示例演示如何使用 GenerateDataKeyWithoutPlaintext。
- CLI
-
- AWS CLI
-
生成不带明文密钥的 256 位对称数据密钥
以下
generate-data-key-without-plaintext示例请求 256 位对称数据密钥的加密副本以供在 AWS 外部使用。准备好使用数据密钥时,可以调用 AWS KMS 对其进行解密。要请求 256 位数据密钥,请使用值为
AES_256的key-spec参数。要请求 128 位数据密钥,请使用值为AES_128的key-spec参数。对于所有其他数据密钥长度,请使用number-of-bytes参数。您指定的 KMS 密钥必须是对称加密 KMS 密钥,即 KeySpec 值为 SYMMETRIC_DEFAULT 的 KMS 密钥。
aws kms generate-data-key-without-plaintext \ --key-id"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"\ --key-specAES_256输出:
{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" }CiphertextBlob(加密数据密钥)以 base64 编码的格式返回。有关更多信息,请参阅《AWS 密钥管理服务开发人员指南》中的数据密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GenerateDataKeyWithoutPlaintext
。
-
- Rust
-
- 适用于 Rust 的 SDK
-
注意
查看 GitHub,了解更多信息。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key_without_plaintext() .key_id(key) .key_spec(DataKeySpec::Aes256) .send() .await?; // Did we get an encrypted blob? let blob = resp.ciphertext_blob.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }-
有关 API 详细信息,请参阅《AWS SDK for Rust API 参考》中的 GenerateDataKeyWithoutPlaintext
。
-
有关 AWS SDK 开发人员指南和代码示例的完整列表,请参阅 将此服务与 AWS 开发工具包结合使用。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。
GenerateDataKey
GenerateRandom