Como posso usar o AWS KMS para criptografar uma pasta específica de um bucket do Amazon S3?

3 minuto de leitura
0

Quero criptografar uma pasta específica de um bucket do Amazon Simple Storage Service (Amazon S3) com uma chave do AWS Key Management Service (AWS KMS).

Resolução

Use o console do Amazon S3

  1. Abra o console do Amazon S3.
  2. Navegue até a pasta que você deseja criptografar.
    Aviso: se sua pasta contiver um grande número de objetos, você poderá enfrentar um erro de controle de utilização. Para evitar erros de controle de utilização, aumente seus limites de solicitação do Amazon S3 em seu bucket do Amazon S3. Para obter mais dicas de solução de problemas sobre erros de controle de utilização, consulte Por que estou recebendo um erro ThrottlingExceptions ao fazer solicitações para o AWS KMS?
  3. Selecione a pasta e, em seguida, escolha Ações.
  4. Selecione Editar criptografia do lado do servidor.
  5. Em Ativar a criptografia do lado do servidor, escolha Ativar.
  6. Para a sua chave do AWS Key Management Service (SSE-KMS), selecione Tipo de chave de criptografia.
  7. Selecione a chave do AWS KMS que você deseja usar para criptografia de pastas.
    Observação: a chave chamada aws/s3 é uma chave padrão gerenciada pelo AWS KMS. Você pode criptografar a pasta com a chave padrão ou uma chave personalizada.
  8. Selecione Salvar alterações.

Use a AWS CLI

Você não pode alterar a criptografia de uma pasta existente a partir de um comando da AWS Command Line Interface (AWS CLI). Em vez disso, execute um comando que copia a pasta sobre si mesma com a criptografia do AWS KMS ativada.

Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar usando a versão mais recente da AWS CLI.

Para criptografar os arquivos usando a chave padrão do AWS KMS (aws/s3), execute o seguinte comando:

aws s3 cp s3://awsexamplebucket/abc s3://awsexamplebucket/abc --recursive --sse aws:kms

Essa sintaxe de comando copia a pasta sobre si mesma com a criptografia do AWS KMS.

Para criptografar os arquivos usando uma chave personalizada do AWS KMS, execute o seguinte comando:

aws s3 cp s3://awsexamplebucket/abc s3://awsexamplebucket/abc --recursive --sse aws:kms --sse-kms-key-id a1b2c3d4-e5f6-7890-g1h2-123456789abc

Observação: substitua --sse-kms-key-id pelo seu próprio ID de chave.

Exija que uploads futuros criptografem objetos com o AWS KMS

Depois de alterar a configuração de criptografia, isso criptografa somente os objetos que já estão na pasta. Você pode fazer upload de objetos após essa alteração sem criptografia. Para exigir que uploads futuros criptografem objetos com o AWS KMS, use uma política de bucket como o exemplo a seguir:

{
  "Version": "2012-10-17",
  "Id": "PutObjPolicy",
  "Statement": [
    {
      "Sid": "DenyIncorrectEncryptionHeader",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::awsexamplebucket/awsexamplefolder/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    },
    {
      "Sid": "DenyUnEncryptedObjectUploads",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::awsexamplebucket/awsexamplefolder/*",
      "Condition": {
        "Null": {
          "s3:x-amz-server-side-encryption": true
        }
      }
    }
  ]
}

Essa política de bucket nega o acesso a s3:PutObject em docexamplebucket/docexamplefolder/*, a menos que a solicitação inclua criptografia do lado do servidor com o AWS KMS.

Informações relacionadas

Como usar criptografia do lado do servidor com o AWS KMS (SSE-KMS)

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses