As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando criptografia do lado do servidor com filas do Amazon SQS
Você pode usar o AWS SDK for Java para adicionar criptografia do lado do servidor (SSE) a uma fila do Amazon SQS. Cada fila usa uma chave KMS AWS Key Management Service (AWS KMS) para gerar as chaves de criptografia de dados. Este exemplo usa a chave KMS AWS gerenciada para o Amazon SQS. Para obter mais informações sobre como usar a SSE e a função da chave do KMS, consulte Criptografia em repouso na Amazon SQS.
Adicionar SSE a uma fila existente
Para habilitar a criptografia no lado do servidor para uma fila existente, use o método SetQueueAttributes
para definir o atributo KmsMasterKeyId
.
O exemplo de código a seguir define a AWS KMS key como a chave KMS AWS gerenciada para o Amazon SQS. O exemplo também define o período de reutilização de AWS KMS key como 140 segundos.
Antes de executar o código de exemplo, verifique se você definiu suas AWS credenciais. Para obter mais informações, consulte Configurar AWS credenciais e região para desenvolvimento no Guia do AWS SDK for Java 2.x desenvolvedor.
// 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);
Desabilitar a SSE para uma fila
Para desabilitar a criptografia no lado do servidor para uma fila existente, defina o atributo KmsMasterKeyId
como uma string vazia usando o método SetQueueAttributes
.
Importante
null
não é um valor válido para KmsMasterKeyId
.
Criar uma fila com SSE
Para habilitar a SSE ao criar a fila, adicione o atributo KmsMasterKeyId
ao método da API CreateQueue
.
O exemplo a seguir cria uma fila nova com a SSE habilitada. A fila usa a chave do KMS gerenciada pela AWS para o Amazon SQS. O exemplo também define o período de reutilização de AWS KMS key como 160 segundos.
Antes de executar o código de exemplo, verifique se você definiu suas AWS credenciais. Para obter mais informações, consulte Configurar AWS credenciais e região para desenvolvimento no Guia do AWS SDK for Java 2.x desenvolvedor.
// 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);
Recuperar atributos de SSE
Para obter informações sobre como recuperar atributos da fila, consulte Exemplos na Referência da API do Amazon Simple Queue Service.
Para recuperar o ID da chave do KMS ou o período de reutilização da chave de dados de uma fila específica, execute o método GetQueueAttributes
e recupere os valores KmsMasterKeyId
e KmsDataKeyReusePeriodSeconds
.