サーバー側の暗号化 (SSE) の使用 - Amazon Simple Queue Service

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

サーバー側の暗号化 (SSE) の使用

「」を使用できます。AWS SDK for JavaAmazon SQS キューにサーバー側の暗号化 (SSE) を追加します。各キューはAWS Key Management Service(AWS KMS) カスタマーマスターキー (CMK) を使用して、データ暗号化キーを生成します。この例ではを使用します。AWSAmazon SQS のマネージド CMK. SSE および CMK のロールの使用の詳細については、「」保管時の暗号化

既存のキューへの SSE の追加

既存のキューに対してサーバー側の暗号化を有効にするには、SetQueueAttributesメソッドを使用して、KmsMasterKeyId属性。

次のコード例では、マスターキーをAWSAmazon SQS のマネージド CMK. また、この例では設定していますマスターキー再利用期間を 140 秒に設定します。

サンプルコードを実行する前に、設定していることを確認してくださいAWS認証情報。詳細については、「」を参照してください。セットアップAWS開発用の認証情報とリージョン()AWS SDK for Java 2.x開発者ガイド

// Create an SqsClient for the specified Region. SqsClient sqsClient = SqsClient.builder().region(Region.US_WEST_1).build(); // Get the URL of your queue. String myQueueName = "my queue"; GetQueueUrlResponse getQueueUrlResponse = sqsClient.getQueueUrl(GetQueueUrlRequest.builder().queueName(myQueueName).build()); String queueUrl = getQueueUrlResponse.queueUrl(); // Create a hashmap for the attributes. Add the key alias and reuse period to the hashmap. HashMap<QueueAttributeName, String> attributes = new HashMap<QueueAttributeName, String>(); final String kmsMasterKeyAlias = "alias/aws/sqs"; // the alias of the AWS managed CMK for Amazon SQS. attributes.put(QueueAttributeName.KMS_MASTER_KEY_ID, kmsMasterKeyAlias); attributes.put(QueueAttributeName.KMS_DATA_KEY_REUSE_PERIOD_SECONDS, "140"); // Create the SetQueueAttributesRequest. SetQueueAttributesRequest set_attrs_request = SetQueueAttributesRequest.builder() .queueUrl(queueUrl) .attributes(attributes) .build(); sqsClient.setQueueAttributes(set_attrs_request);

キューの SSE を無効にする

既存のキューに対してサーバー側の暗号化を無効にするには、KmsMasterKeyIdを使用して空の文字列に属性SetQueueAttributesメソッド。

重要

null は、KmsMasterKeyId の有効な値ではありません。

SSE を使用したキューの作成

キューの作成時に SSE を有効にするには、KmsMasterKeyId属性をCreateQueueAPI メソッド。

次に SSE をイネーブルにした新しいキューを作成する例を示します。キューは、AWSAmazon SQS のマネージド CMK. また、この例では設定していますマスターキー再利用期間を 160 秒に設定します。

サンプルコードを実行する前に、設定していることを確認してくださいAWS認証情報。詳細については、「」を参照してください。セットアップAWS開発用の認証情報とリージョン()AWS SDK for Java 2.x開発者ガイド

// Create an SqsClient for the specified Region. SqsClient sqsClient = SqsClient.builder().region(Region.US_WEST_1).build(); // Create a hashmap for the attributes. Add the key alias and reuse period to the hashmap. HashMap<QueueAttributeName, String> attributes = new HashMap<QueueAttributeName, String>(); final String kmsMasterKeyAlias = "alias/aws/sqs"; // the alias of the AWS managed CMK for Amazon SQS. attributes.put(QueueAttributeName.KMS_MASTER_KEY_ID, kmsMasterKeyAlias); attributes.put(QueueAttributeName.KMS_DATA_KEY_REUSE_PERIOD_SECONDS, "140"); // Add the attributes to the CreateQueueRequest. CreateQueueRequest createQueueRequest = CreateQueueRequest.builder() .queueName(queueName) .attributes(attributes) .build(); sqsClient.createQueue(createQueueRequest);

SSE 属性の取得

キュー属性の取得については、「」()Amazon Simple Queue Service API リファレンス

特定のキューの CMK ID またはデータキーの再利用期間を取得するには、GetQueueAttributesメソッドを呼び出し、KmsMasterKeyIdおよびKmsDataKeyReusePeriodSeconds値.