Serverseitige Verschlüsselung mit Amazon SQS SQS-Warteschlangen verwenden - Amazon Simple Queue Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Serverseitige Verschlüsselung mit Amazon SQS SQS-Warteschlangen verwenden

Sie können das verwenden AWS SDK for Java , um serverseitige Verschlüsselung (SSE) zu einer Amazon SQS SQS-Warteschlange hinzuzufügen. Jede Warteschlange verwendet einen AWS Key Management Service (AWS KMS) KMS-Schlüssel, um die Datenverschlüsselungsschlüssel zu generieren. In diesem Beispiel wird der AWS verwaltete KMS-Schlüssel für Amazon SQS verwendet. Weitere Informationen zum Verwenden von SSE und zur Rolle des KMS-Schlüssels finden Sie unter Verschlüsselung im Ruhezustand in Amazon SQS.

Hinzufügen von SSE zu einer vorhandenen Warteschlange

Um die serverseitige Verschlüsselung für eine vorhandene Warteschlange zu aktivieren, verwenden Sie die SetQueueAttributes-Methode, um das KmsMasterKeyId-Attribut festzulegen.

Im folgenden Codebeispiel wird der AWS KMS key als AWS verwalteter KMS-Schlüssel für Amazon SQS festgelegt. Das Beispiel legt außerdem den Zeitraum für die AWS KMS key -Wiederverwendung auf 140 Sekunden fest.

Bevor Sie den Beispielcode ausführen, stellen Sie sicher, dass Sie Ihre AWS Anmeldeinformationen festgelegt haben. Weitere Informationen finden Sie unter Einrichten von AWS Anmeldeinformationen und Region für die Entwicklung im AWS SDK for Java 2.x Entwicklerhandbuch.

// 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 KMS key 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);

Deaktivieren von SSE für eine Warteschlange

Um die serverseitige Verschlüsselung für eine vorhandene Warteschlange zu deaktivieren, setzen Sie das Attribut KmsMasterKeyId mit der Aktion SetQueueAttributes auf eine leere Zeichenfolge.

Wichtig

null ist kein gültiger Wert für KmsMasterKeyId.

Erstellen einer Warteschlange mit SSE

Um SSE beim Erstellen der Warteschlange zu aktivieren, fügen Sie das KmsMasterKeyId-Attribut der CreateQueue-API-Methode hinzu.

Das folgende Beispiel erstellt eine neue Warteschlange mit aktivierter SSE. Die Warteschlange verwendet den von AWS verwalteten KMS-Schlüssel für Amazon SQS. Das Beispiel legt außerdem den Zeitraum für die AWS KMS key -Wiederverwendung auf 160 Sekunden fest.

Bevor Sie den Beispielcode ausführen, stellen Sie sicher, dass Sie Ihre AWS Anmeldeinformationen festgelegt haben. Weitere Informationen finden Sie unter Einrichten von AWS Anmeldeinformationen und Region für die Entwicklung im AWS SDK for Java 2.x Entwicklerhandbuch.

// 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 KMS key 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);

Abrufen der SSE-Attribute

Informationen zum Abrufen von Warteschlangenattributen finden Sie unter Beispiele in der Amazon-Simple-Queue-Service-API-Referenz.

Um die KMS-Schlüssel-ID oder den Zeitraum für die Wiederverwendung des Datenschlüssels für eine bestimmte Warteschlange abzurufen, führen Sie die GetQueueAttributes-Methode aus und rufen Sie die Werte KmsMasterKeyId und KmsDataKeyReusePeriodSeconds ab.