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á.
Gerenciamento de segredos
Segredos, como chaves de API e credenciais de banco de dados, são frequentemente usados por aplicativos para obter acesso a outros sistemas. Eles geralmente consistem em um nome de usuário e senha, um certificado ou uma chave de API. O acesso a esses segredos deve ser restrito a entidades específicas do IAM que estão usando o IAM e injetadas em contêineres em tempo de execução.
Os segredos podem ser facilmente injetados em contêineres do AWS Secrets Manager Amazon EC2 Systems Manager Parameter Store. Esses segredos podem ser referenciados em sua tarefa como qualquer um dos seguintes.
-
Elas são referenciadas como variáveis de ambiente que usam o parâmetro de definição de
secrets
contêiner. -
Eles são referenciados como
secretOptions
se sua plataforma de registro exigisse autenticação. Para obter mais informações, consulte as opções de configuração de registro. -
Eles são referenciados como segredos extraídos por imagens que usam o parâmetro de definição do
repositoryCredentials
contêiner se o registro de onde o contêiner está sendo retirado exigir autenticação. Use esse método ao extrair imagens da Galeria Pública do Amazon ECR. Para obter mais informações, consulte Autenticação de registro privado para tarefas.
Recomendações
Recomendamos que você faça o seguinte ao configurar o gerenciamento de segredos.
Use AWS Secrets Manager nosso Amazon EC2 Systems Manager Parameter Store para armazenar materiais secretos
Você deve armazenar com segurança chaves de API, credenciais de banco de dados e outros materiais secretos em AWS Secrets Manager ou como um parâmetro criptografado no Amazon EC2 Systems Manager Parameter Store. Esses serviços são semelhantes porque ambos são armazenamentos gerenciados de valores-chave usados AWS KMS para criptografar dados confidenciais. AWS Secrets Manager, no entanto, também inclui a capacidade de alternar segredos automaticamente, gerar segredos aleatórios e compartilhar segredos entre AWS contas. Se você considerar esses recursos importantes, use, AWS Secrets Manager caso contrário, use parâmetros criptografados.
nota
As tarefas que fazem referência a um segredo do AWS Secrets Manager Amazon EC2 Systems Manager Parameter Store exigem uma função de execução de tarefas com uma política que conceda ao Amazon ECS acesso ao segredo desejado e, se aplicável, AWS KMS à chave usada para criptografar e descriptografar esse segredo.
Importante
Os segredos referenciados nas tarefas não são alternados automaticamente. Se seu segredo mudar, você deverá forçar uma nova implantação ou iniciar uma nova tarefa para recuperar o valor secreto mais recente. Para obter mais informações, consulte os tópicos a seguir:
Recuperação de dados de um bucket criptografado do Amazon S3
Como o valor das variáveis de ambiente pode vazar inadvertidamente nos registros e ser revelado durante a execuçãodocker inspect
, você deve armazenar segredos em um bucket criptografado do Amazon S3 e usar funções de tarefas para restringir o acesso a esses segredos. Ao fazer isso, seu aplicativo deve ser gravado para ler o segredo do bucket do Amazon S3. Para obter instruções, consulte Configuração do comportamento padrão de criptografia do lado do servidor para buckets do Amazon S3.
Monte o segredo em um volume usando um contêiner auxiliar
Como há um risco elevado de vazamento de dados com variáveis de ambiente, você deve usar um contêiner auxiliar que leia seus segredos AWS Secrets Manager e os grave em um volume compartilhado. Esse contêiner pode ser executado e sair antes do contêiner do aplicativo usando o pedido de contêineres do Amazon ECS. Quando você faz isso, o contêiner do aplicativo monta posteriormente o volume em que o segredo foi gravado. Assim como o método de bucket do Amazon S3, seu aplicativo deve ser gravado para ler o segredo do volume compartilhado. Como o volume tem como escopo a tarefa, o volume é excluído automaticamente após a interrupção da tarefa. Para ver um exemplo de contêiner auxiliar, consulte o aws-secret-sidecar-injector
nota
No Amazon EC2, o volume no qual o segredo é gravado pode ser criptografado com uma chave gerenciada pelo AWS KMS cliente. AtivadoAWS Fargate, o armazenamento em volume é criptografado automaticamente usando uma chave gerenciada pelo serviço.
Recursos adicionais
-
Transmissão de segredos para contêineres em uma tarefa do Amazon ECS
-
Chamber
é um invólucro para armazenar segredos no Amazon EC2 Systems Manager Parameter Store