Criptografia em repouso no Amazon SQS - Amazon Simple Queue Service

Criptografia em repouso no Amazon SQS

A criptografia no lado do servidor (SSE) permite que você transmita dados sigilosos em filas criptografadas. O SSE protege o conteúdo de mensagens nas filas usando chaves de criptografia gerenciadas pelo SQS (SSE-SQS) ou chaves gerenciadas no AWS Key Management Service (SSE-KMS). Para obter informações sobre como gerenciar SSE usando o Console de gerenciamento da AWS, consulte o seguinte:

Para obter informações sobre como gerenciar a SSE usando o AWS SDK para Java (e as ações CreateQueue, SetQueueAttributes e GetQueueAttributes), consulte os exemplos a seguir:

A SSE criptografa mensagens assim que o Amazon SQS as recebe. As mensagens são armazenadas no formato criptografado e o Amazon SQS as descriptografa apenas quando elas são enviadas a um consumidor autorizado.

Importante

Todas as solicitações para filas com SSE habilitada devem usar HTTPS e o Signature versão 4.

Uma fila criptografada que usa a chave padrão (chave do KMS gerenciada pela AWS para Amazon SQS) não pode invocar uma função Lambda em outra Conta da AWS.

Alguns recursos dos produtos da AWS que podem enviar notificações para o Amazon SQS usando a ação AssumeRole do AWS Security Token Service são compatíveis com SSE, mas funcionam somente com filas padrão:

Para obter informações sobre a compatibilidade de outros produtos com filas criptografadas, consulte Configurar permissões do KMS para serviços da AWS e a documentação do seu produto.

AWS KMSO combina hardware e software seguros e altamente disponíveis para fornecer um sistema de gerenciamento de chaves escalado para a nuvem. Quando você usa o Amazon SQS com o AWS KMS, as chaves de dados que criptografam os dados da mensagem também são criptografadas e armazenadas com os dados que protegem.

Os benefícios de usar o são os seguintes AWS KMS:

  • É possível criar e gerenciar AWS KMS keys por conta própria:

  • Você também pode usar a chave do KMS gerenciada pela AWS para o Amazon SQS, que é exclusiva para cada conta e região.

  • Os padrões de segurança do AWS KMS podem ajudá-lo a atender aos requisitos de compatibilidade relacionados à criptografia.

Para obter mais informações, consulte O que é o AWS Key Management Service? no Guia do desenvolvedor do AWS Key Management Service.

Escopo de criptografia

A SSE criptografa o corpo de uma mensagem em uma fila do Amazon SQS.

A SSE não criptografa o seguinte:

  • Metadados de fila (nome e atributos da fila)

  • Metadados de mensagens (ID de mensagem, carimbo de data/hora e atributos)

  • Métricas por fila

A criptografia de uma mensagem torna indisponível seu conteúdo para usuários não autorizados ou anônimos. Com a SSE habilitada, as solicitações anônimas SendMessage e ReceiveMessage à fila criptografada serão rejeitadas. As práticas recomendadas de segurança do Amazon SQS não aconselham o uso de solicitações anônimas. Se você quiser enviar solicitações anônimas a uma fila do Amazon SQS, desabilite o SSE. Isso não afeta o funcionamento normal do Amazon SQS:

  • Uma mensagem só será criptografada se for enviada após a habilitação da criptografia de uma fila. O Amazon SQS não criptografa mensagens com lista de pendências.

  • Qualquer mensagem criptografada permanecerá dessa forma mesmo se a criptografia de sua fila for desabilitada.

A transferência de uma mensagem para uma dead letter queue não afeta sua criptografia:

  • Quando o Amazon SQS move uma mensagem de uma fila de origem criptografada para uma fila de mensagens não entregues não criptografada, a mensagem permanece criptografada.

  • Quando o Amazon SQS move uma mensagem de uma fila de origem não criptografada para uma fila de mensagens não entregues criptografada, a mensagem permanece descriptografada.

Principais termos

Os seguintes termos-chave podem ajudar você a entender melhor a funcionalidade da SSE. Para obter descrições detalhadas, consulte a Referência da API do Amazon Simple Queue Service.

Chave de dados

A chave (DEK) responsável por criptografar o conteúdo de mensagens do Amazon SQS.

Para obter mais informações, consulte Chaves de dados no Guia do desenvolvedor do AWS Key Management Service no Guia do desenvolvedor do AWS Encryption SDK.

Período de reutilização de chaves de dados

O tempo, em segundos, durante o qual o Amazon SQS pode reutilizar uma chave de dados para criptografar ou descriptografar as mensagens antes de chamar o AWS KMS novamente. Um número inteiro que representa segundos, entre 60 segundos (1 minuto) e 86.400 segundos (24 horas). O padrão é 300 (5 minutos). Para obter mais informações, consulte Entender o período de reutilização de chaves de dados.

nota

No evento improvável de não ser possível acessar o AWS KMS, o Amazon SQS continua a usar a chave de dados armazenada em cache até que uma conexão seja restabelecida.

ID da chave do KMS

O alias, o ARN do alias, o ID de chave ou o ARN da chave de uma chave do KMS gerenciada pela AWS ou uma chave do KMS personalizada, em sua conta ou em outra. Embora o alias da chave do KMS gerenciada pela AWS para o Amazon SQS seja sempre alias/aws/sqs, o alias de uma chave do KMS personalizada pode, por exemplo, ser alias/MyAlias. Você pode usar essas chaves do KMS para proteger as mensagens em filas do Amazon SQS.

nota

Lembre-se do seguinte:

  • Se você não especificar uma chave do KMS personalizada, o Amazon SQS usa a chave do KMS gerenciada pela AWS para o Amazon SQS.

  • Na primeira vez que você usar o Console de gerenciamento da AWS para especificar a chave do KMS gerenciada pela AWS para o Amazon SQS para uma fila, o AWS KMS cria a chave do KMS gerenciada pela AWS para o Amazon SQS.

  • Alternativamente, na primeira vez que você usar a ação SendMessage ou SendMessageBatch em uma fila com SSE habilitada, o AWS KMS cria a chave do KMS gerenciada pela AWS para o Amazon SQS.

Você pode criar chaves do KMS, definir as políticas que controlam como as chaves do KMS podem ser usadas e auditar o uso da chave do KMS utilizando a seção Customer managed keys (Chaves gerenciadas pelo cliente) do console do AWS KMS ou a ação AWS KMS do CreateKey. Para obter mais informações, consulte Chaves do KMS e Como criar chaves do KMS no Guia do desenvolvedor da AWS Key Management Service. Para obter mais exemplos de identificadores de chave do KMS, consulte KeyId na Referência da API do AWS Key Management Service. Para obter informações sobre como encontrar identificadores de chave do KMS, consulte Encontrar o ID da chave e o ARN no Guia do desenvolvedor do AWS Key Management Service.

Importante

Não há custos adicionais por usar o AWS KMS. Para obter mais informações, consulte Estimar os custos do AWS KMS e Definição de preço do AWS Key Management Service.

Criptografia de envelope

A segurança dos dados criptografados depende em parte da proteção da chave de dados que pode descriptografá-los. O Amazon SQS usa a chave do KMS para criptografar a chave de dados. Em seguida, a chave de dados criptografada é armazenada com a mensagem criptografada. Essa prática de uso de uma chave do KMS para criptografar chaves de dados é conhecida como criptografia de envelope.

Para obter mais informações, consulte Criptografia de envelope no Guia do desenvolvedor do AWS Encryption SDK.