Utilizzo della crittografia lato server con le code Amazon SQS - Amazon Simple Queue Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della crittografia lato server con le code Amazon SQS

Puoi utilizzare la AWS SDK for Java per aggiungere la crittografia lato server (SSE) a una coda Amazon SQS. Ogni coda utilizza una chiave AWS Key Management Service (AWS KMS) KMS per generare le chiavi di crittografia dei dati. Questo esempio utilizza la chiave KMS AWS gestita per Amazon SQS. Per ulteriori informazioni su come utilizzare la chiave KMS predefinita, consulta Crittografia inattiva in Amazon SQS.

Aggiunta di SSE a una coda esistente

Per abilitare la crittografia lato server per una coda esistente, utilizza il metodo SetQueueAttributes per impostare l'attributo KmsMasterKeyId.

Il seguente esempio di codice imposta AWS KMS key come chiave KMS AWS gestita per Amazon SQS. L'esempio imposta inoltre il periodo di riutilizzo di AWS KMS key su 140 secondi.

Prima di eseguire il codice di esempio, assicurati di aver impostato le AWS credenziali. Per ulteriori informazioni, consulta Configurare AWS le credenziali e la regione per lo sviluppo nella Guida per gli AWS SDK for Java 2.x sviluppatori.

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

Disabilitazione di SSE per una coda

Per disabilitare la crittografia lato server per una coda esistente, imposta l'attributo KmsMasterKeyId su una stringa vuota tramite l'operazione SetQueueAttributes.

Importante

null non è un valore valido per KmsMasterKeyId.

Creazione di una coda con SSE

Per abilitare SSE quando crei la coda, aggiungi l'attributo KmsMasterKeyId al metodo API CreateQueue.

L'esempio seguente spiega come creare una coda con SSE abilitato. La coda utilizza la chiave KMS gestita da AWS per Amazon SQS. L'esempio imposta inoltre il periodo di riutilizzo di AWS KMS key su 160 secondi.

Prima di eseguire il codice di esempio, assicurati di aver impostato le AWS credenziali. Per ulteriori informazioni, consulta Configurare AWS le credenziali e la regione per lo sviluppo nella Guida per gli AWS SDK for Java 2.x sviluppatori.

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

Recupero degli attributi SSE

Per informazioni sul recupero degli attributi di coda, consulta Examples nella Documentazione di riferimento delle API di Amazon Simple Queue Service.

Per recuperare l'ID della chiave KMS o il periodo di riutilizzo della chiave dati per una particolare coda, esegui il metodo GetQueueAttributes e recupera i valori KmsMasterKeyId e KmsDataKeyReusePeriodSeconds.