AWSSDK を使用してクライアント側の暗号化用のプレーンテキストデータキーを生成 - AWSSDK コードサンプル

AWSDocAWS SDKGitHub サンプルリポジトリには、さらに多くの SDK サンプルがあります

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSDK を使用してクライアント側の暗号化用のプレーンテキストデータキーを生成

次のコード例は、クライアント側の暗号化用の一意の対称データキーをから生成する方法を示していますAWS KMS key。キーには、プレーンテキスト版と暗号文版の両方が含まれています。

Python
SDK for Python (Boto3)
注記

他にもありますGitHub。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

class KeyManager: def __init__(self, kms_client): self.kms_client = kms_client self.created_keys = [] def generate_data_key(self, key_id): """ Generates a symmetric data key that can be used for client-side encryption. """ answer = input( f"Do you want to generate a symmetric data key from key {key_id} (y/n)? ") if answer.lower() == 'y': try: data_key = self.kms_client.generate_data_key(KeyId=key_id, KeySpec='AES_256') except ClientError as err: logger.error( "Couldn't generate a data key for key %s. Here's why: %s", key_id, err.response['Error']['Message']) else: pprint(data_key)
  • API の詳細については、「AWSSDK for Python (Boto3) API リファレンス」のを参照してくださいGenerateDataKey

Rust
SDK for Rust
注記

これはプレビューリリースの SDK に関するドキュメントです。SDK は変更される場合があり、本稼働環境では使用しないでください。

注記

他にもありますGitHub。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key() .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 の詳細については、SDK for Rust API リファレンスGenerateDataKeyの「AWSSDK for Rust API リファレンス」を参照してください。