AWS SDK または CLI で GenerateRandom
を使用する
以下のコード例は、GenerateRandom
の使用方法を示しています。
- CLI
-
- AWS CLI
-
例 1: 256 ビットのランダムバイト文字列を生成するには (Linux または macOs)
次の
generate-random
の例は、256 ビット (32 バイト) の base64 でエンコードされたランダムバイト文字列を生成します。この例は、バイト文字列をデコードしてランダムファイルに保存します。このコマンドを実行する際は、
number-of-bytes
パラメーターを使用してランダム値の長さをバイト単位で指定する必要があります。このコマンドを実行する際は、KMS キーは指定しません。ランダムバイト文字列は KMS キーとは関係ありません。
デフォルトでは、AWS KMS は乱数を生成します。ただし、カスタムキーストア<https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html>を指定すると、カスタムキーストアに関連付けられた AWS CloudHSM クラスターでランダムバイト文字列が生成されます。
この例は以下のパラメータと値を使用します。
32 バイト (256 ビット) の文字列をリクエストするには、
32
の値を持つ必須の--number-of-bytes
パラメータを使用します。JSON の代わりにテキスト出力を AWS CLI が返すようにするには、text
の値を持つ--output
パラメータを使用します。レスポンスからPlaintext
プロパティの値を抽出するには--query parameter
を使用します。base64
ユーティリティへのコマンドの出力をパイプ ( | ) します。これは、抽出された出力を復号します。リダイレクト演算子 ( > ) を使用して、バイト文字列をExampleRandom
ファイルに保存します。リダイレクト演算子 ( > ) を使用して、バイナリ暗号文をファイルに保存します。aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom
このコマンドでは何も出力されません。
詳細については、「AWS Key Management Service API リファレンス」の「GenerateRandom」を参照してください。
例 2: 256 ビットの乱数を生成するには (Windows コマンドプロンプト)
次の例は、
generate-random
コマンドを使用して、base64 でエンコードされた 256 ビット (32 バイト)のランダムバイト文字列を生成します。この例は、バイト文字列をデコードしてランダムファイルに保存します。この例は前の例と同じですが、Windows のcertutil
のユーティリティを使用して、ランダムバイト文字列を base64 でデコードしてからファイルに保存する点が異なります。最初に base64 でエンコードされたランダムバイト文字列を生成し、テンポラリファイル (
ExampleRandom.base64
) に保存します。aws kms generate-random \ --number-of-bytes
32
\ --outputtext
\ --queryPlaintext
>
ExampleRandom.base64
generate-random
コマンドの出力はファイルに保存されるため、この例では何も出力されません。次に、
certutil -decode
コマンドを使用して、ExampleRandom.base64
ファイル内の base64 でエンコードされたバイト文字列をデコードします。その後、デコードされたバイト文字列をExampleRandom
ファイルに保存します。certutil -decode ExampleRandom.base64 ExampleRandom
出力:
Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.
詳細については、「AWS Key Management Service API リファレンス」の「GenerateRandom」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「GenerateRandom
」を参照してください。
-
- Rust
-
- SDK for Rust
-
注記
GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 async fn make_string(client: &Client, length: i32) -> Result<(), Error> { let resp = client .generate_random() .number_of_bytes(length) .send() .await?; // Did we get an encrypted blob? let blob = resp.plaintext.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 リファレンスの「GenerateRandom
」を参照してください。
-
AWS SDK デベロッパーガイドとコード例の完全なリストについては、「このサービスを AWS SDK で使用する」を参照してください。このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。