Quem controla a chave

Usando a segurança da AWS para desenvolvedores

Rahul Singh

Technical Product Manager

Dois tipos de chave KMS

Gerenciada pela AWS

  • Criada pelo serviço, alias aws/s3
  • Política legível, não editável
  • Sem cobrança mensal

Duas cartas empilhadas comparando uma chave gerenciada pela AWS com uma chave gerenciada pelo cliente nas mesmas três linhas: política da chave, rotação e custo. A linha da política da chave da carta gerenciada pelo cliente está destacada. Cada carta mostra seu alias: aws barra s3 e alias barra reports.

Usando a segurança da AWS para desenvolvedores

Dois tipos de chave KMS

Gerenciada pela AWS

  • Criada pelo serviço, alias aws/s3
  • Política legível, não editável
  • Sem cobrança mensal

Gerenciada pelo cliente

  • Criada por você, alias alias/reports, política é sua para definir
  • Período de rotação é você quem define
  • Um dólar por mês, por chave

Duas cartas empilhadas comparando uma chave gerenciada pela AWS com uma chave gerenciada pelo cliente nas mesmas três linhas: política da chave, rotação e custo. A linha da política da chave da carta gerenciada pelo cliente está destacada. Cada carta mostra seu alias: aws barra s3 e alias barra reports.

Usando a segurança da AWS para desenvolvedores

Dois portões, e ambos devem abrir

Uma solicitação de decrypt se aproximando do primeiro de dois portões. O portão de política do IAM é sólido e numerado um; atrás, o portão de política da chave é tracejado e cinza; nenhum respondeu ainda.

  1. Política do IAM: o que quem chama pode solicitar
Usando a segurança da AWS para desenvolvedores

Dois portões, e ambos devem abrir

Uma solicitação de decrypt passando da esquerda para a direita por dois portões numerados, marcador um a política do IAM e marcador dois a política da chave, antes de alcançar a chave KMS. Um colchete sob os dois portões os rotula como respostas independentes.

  1. Política do IAM: o que quem chama pode solicitar
  2. Política da chave: a quem a chave responderá

Política padrão da chave: delega ao IAM

Grants: operações específicas da chave para um principal, revogáveis à parte

Usando a segurança da AWS para desenvolvedores

A chave nunca toca seus dados

Amazon S3, agindo em seu nome, chama o AWS KMS no marcador um, e o KMS retorna uma data key em cópia plaintext e uma cópia criptografada. A cópia criptografada é armazenada ao lado do ciphertext do objeto, e um caminho de retorno tracejado no marcador dois a leva de volta por uma chamada de decrypt.

Envelope encryption

Criptografia direta: limite de 4 KB

Usando a segurança da AWS para desenvolvedores

A chave nunca toca seus dados

Amazon S3, agindo em seu nome, chama o AWS KMS no marcador um, e o KMS retorna uma data key em cópia plaintext e uma cópia criptografada. A cópia criptografada é armazenada ao lado do ciphertext do objeto, e um caminho de retorno tracejado no marcador dois a leva de volta por uma chamada de decrypt.

Envelope encryption

Criptografia direta: limite de 4 KB

  1. GenerateDataKey, duas cópias de volta
  2. kms:Decrypt na cópia armazenada
Usando a segurança da AWS para desenvolvedores

Entre contas, ninguém vê as duas metades

Conta de quem chama

  • Ação permitida no IAM
  • Recurso: o ARN da chave

Dois painéis de conta tracejados separados por um limite de conta. A função e a política do IAM de quem chama estão no painel superior; a política da chave e a chave KMS, no inferior; e a solicitação cruza o limite entre eles.

Usando a segurança da AWS para desenvolvedores

Entre contas, ninguém vê as duas metades

Conta de quem chama

  • Ação permitida no IAM
  • Recurso: o ARN da chave

Conta dona da chave

  • Política da chave nomeando quem chama
  • A conta ou uma função nela

Dois painéis de conta tracejados separados por um limite de conta. A função e a política do IAM de quem chama estão no painel superior; a política da chave e a chave KMS, no inferior; e a solicitação cruza o limite entre eles.

Usando a segurança da AWS para desenvolvedores

Leia a negativa, não o palpite

Baseada em identidade

  • AccessDeniedException, depois a cláusula que nomeia o portão

  • no identity-based policy allows

  • Corrija a política do IAM de quem chama

 

Uma solicitação de decrypt interrompida no primeiro portão, onde a política do IAM traz um X vermelho e a política da chave atrás está acinzentada e nunca é alcançada. Uma legenda abaixo do diagrama diz: no identity-based policy allows.

 

Usando a segurança da AWS para desenvolvedores

Leia a negativa, não o palpite

Baseada em identidade

  • AccessDeniedException, depois a cláusula que nomeia o portão

  • no identity-based policy allows

  • Corrija a política do IAM de quem chama

Baseada em recurso

  • no resource-based policy allows
  • Corrija a política da chave

Uma solicitação de decrypt interrompida no primeiro portão, onde a política do IAM traz um X vermelho e a política da chave atrás está acinzentada e nunca é alcançada. Uma legenda abaixo do diagrama diz: no identity-based policy allows.

Uma solicitação de decrypt passando por uma política do IAM com visto verde e então interrompida no segundo portão, onde a política da chave traz um X vermelho. Uma legenda abaixo do diagrama diz: no resource-based policy allows.

Usando a segurança da AWS para desenvolvedores

O que a rotação realmente muda

Rotação automática

  • Padrão 365 dias
  • Faixa de 90 a 2.560 dias

Três cartas informando os períodos mínimo, padrão e máximo de rotação automática em dias, acima de três linhas mostrando quais tipos de chave rodam e em qual agenda.

Usando a segurança da AWS para desenvolvedores

O que a rotação realmente muda

Rotação automática

  • Padrão 365 dias
  • Faixa de 90 a 2.560 dias

Sob demanda

  • RotateKeyOnDemand, até 25 vezes por chave

Dois limites

  • Chaves gerenciadas pela AWS, fixas em anual
  • Rotação automática: apenas simétricas, material gerado pelo KMS

Três cartas informando os períodos mínimo, padrão e máximo de rotação automática em dias, acima de três linhas mostrando quais tipos de chave rodam e em qual agenda.

Usando a segurança da AWS para desenvolvedores

O que a rotação não corrige

Quatro linhas comparadas em cada lado de uma linha de rotação. A linha do material da chave muda da versão um para a versão dois, enquanto o identificador da chave, o alias e a política da chave, e os objetos escritos antes são idênticos em ambos os lados.

Muda: o material de chave subjacente

Não muda: ID da chave, ARN, aliases, política da chave

Usando a segurança da AWS para desenvolvedores

O que a rotação não corrige

Quatro linhas comparadas em cada lado de uma linha de rotação. A linha do material da chave muda da versão um para a versão dois, enquanto o identificador da chave, o alias e a política da chave, e os objetos escritos antes são idênticos em ambos os lados.

Muda: o material de chave subjacente

Não muda: ID da chave, ARN, aliases, política da chave

  • Nada para mudar no seu código
  • Objetos antigos e uma política ampla demais: ambos inalterados
Usando a segurança da AWS para desenvolvedores

Então por que ativar

O que traz

  • Uma versão nunca cobre todos os seus dados
  • Regras de compliance e contratos que exigem rotação

Um cartão verde intitulado o que traz, sob o rótulo ativando a rotação. Ele mostra uma regra de auditoria dizendo rotacionar a cada 365 dias com um visto verde, e uma chave desenhada como três versões unidas, v1, v2 e v3, legendada que cada uma cobre apenas o que escreveu.

Usando a segurança da AWS para desenvolvedores

Então por que ativar

O que traz

  • Uma versão nunca cobre todos os seus dados
  • Regras de compliance e contratos que exigem rotação

 

O que custa

  • Sem mudar código, nada para recriptografar

O mesmo cartão verde o que traz, agora com um segundo cartão abaixo intitulado o que custa. Esse cartão mostra duas linhas: seu código, inalterado, e objetos antigos, sem recriptografia.

Usando a segurança da AWS para desenvolvedores

Vamos praticar!

Usando a segurança da AWS para desenvolvedores

Preparing Video For Download...