WKLD.03 — Use segredos efêmeros ou um serviço de gerenciamento de segredos - AWS Orientação prescritiva

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á.

WKLD.03 — Use segredos efêmeros ou um serviço de gerenciamento de segredos

Os segredos de aplicações consistem principalmente em credenciais, como pares de chaves, tokens de acesso, certificados digitais e credenciais de login. A aplicação usa esses segredos para obter acesso a outros serviços dos quais depende, como um banco de dados. Para ajudar a proteger esses segredos, recomendamos que sejam efêmeros (gerados no momento da solicitação e de curta duração, como com IAM funções) ou recuperados de um serviço de gerenciamento de segredos. Isso evita a exposição acidental por meio de mecanismos menos seguros, como a persistência em arquivos de configuração estáticos. E também facilita promover o código da aplicação desde os ambientes de desenvolvimento até os de produção.

Para um serviço de gerenciamento de segredos, recomendamos usar uma combinação do Parameter Store, uma capacidade de AWS Systems Manager, e: AWS Secrets Manager

  • Use o Parameter Store para gerenciar segredos e outros parâmetros que são pares individuais de chave-valor baseados em strings de tamanho geral curto e acessados com frequência. Você usa uma chave AWS Key Management Service (AWS KMS) para criptografar o segredo. Não há cobrança para armazenar parâmetros no nível padrão do Parameter Store. Para obter mais informações sobre níveis de parâmetros, consulte Gerenciamento de níveis de parâmetros (documentação do Systems Manager).

  • Use o Secrets Manager para armazenar segredos que estão em formato de documento (como vários pares de chave-valor relacionados), são maiores que 4 KB (como certificados digitais) ou que se beneficiariam da rotação automática.

Você pode usar o Parameter Store APIs para recuperar segredos armazenados no Secrets Manager. Isso permite padronizar o código em sua aplicação ao usar uma combinação dos dois serviços.

Para gerenciar segredos no Parameter Store
  1. Crie uma AWS KMS chave simétrica (AWS KMS documentação).

  2. Crie um SecureString parâmetro (documentação do Systems Manager). Os segredos no Parameter Store usam o tipo de dados SecureString.

  3. Em seu aplicativo, recupere um parâmetro do Parameter Store usando o AWS SDK para sua linguagem de programação. Para ver um exemplo em Java, consulte GetParameter.java (Catálogo de exemplos de código da AWS).

Para gerenciar no Secrets Manager
  1. Criar um segredo (documentação do Secrets Manager).

  2. Recuperar segredos do AWS Secrets Manager no código (documentação do Secrets Manager).

    É importante ler Use bibliotecas de cache AWS Secrets Manager do lado do cliente para melhorar a disponibilidade e a latência do uso de seus segredos (AWS postagem no blog). Usar o lado do clienteSDKs, que já tem as melhores práticas implementadas, deve acelerar e simplificar o uso e a integração do Secrets Manager.