Devo usar uma chave gerenciada do AWS KMS ou uma chave do KMS gerenciada pelo cliente para criptografar meus objetos no Amazon S3?

Data da última atualização: 1/11/2021

Quero usar a criptografia do lado do servidor com o AWS Key Management Service (SSE-KMS) para meus objetos armazenados no Amazon Simple Storage Service (Amazon S3). Devo usar uma chave do AWS KMS gerenciada pelo cliente? Ou devo usar a chave gerenciada pelo AWS KMS chamada aws/s3? Qual é a diferença entre as duas?

Resolução

O AWS KMS gerencia a chave padrão do KMS,aws/s3, mas você tem controle total sobre uma chave gerenciada pelo cliente.

Uso da chave padrão do KMS, aws/s3

Observação: o nome da chave do KMS éaws/s3 no console do Amazon S3, mas você não especificará esse nome ou ID se usar a AWS Command Line Interface (AWS CLI).

Considere usar a chave padrão do KMS,aws/s3, se:

  • Você está carregando ou acessando objetos no S3 usando as entidades principais do AWS Identity and Access Management (IAM) que estão na mesma conta da AWS que a chave do KMS.
  • Você não quer gerenciar políticas para a chave do KMS.
  • Você não quer alternar a chave do KMS.

Para criptografar um objeto usando a chave padrão do KMS, aws/s3, defina o método de criptografia como SSE-KMS durante o carregamento, mas não especifique uma chave:

aws s3 cp ./mytextfile.txt s3://DOC-EXAMPLE-BUCKET/ --sse aws:kms

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

Uso de uma chave gerenciada pelo cliente

Considere usar uma chave gerenciada pelo cliente se:

  • Você quiser criar, alternar, desabilitar ou definir controles de acesso para a chave.
  • Você quiser conceder acesso entre contas aos seus objetos no S3. É possível configurar a política de uma chave gerenciada pelo cliente para permitir o acesso de outra conta.

Para criptografar um objeto usando umachave gerenciada pelo cliente, defina o método de criptografia como SSE-KMS durante o carregamento. Em seguida, especifique a chave gerenciada pelo cliente como a chave (--sse-kms-key-id):

aws s3 cp ./mytextfile.txt s3://DOC-EXAMPLE-BUCKET/ --sse aws:kms --sse-kms-key-id testkey

Para controlar o acesso à sua chave gerenciada pelo cliente, modifique a política de chaves. Para obter mais informações sobre como criar uma política de chaves, consulteExemplo de política de chaves.