Recuperação de segredos do Secrets Manager de forma programática no Amazon ECS - Amazon Elastic Container Service

Recuperação de segredos do Secrets Manager de forma programática no Amazon ECS

Use o Secrets Manager para proteger dados confidenciais e alternar, gerenciar e recuperar credenciais de banco de dados, chaves de API e outros segredos durante o ciclo de vida deles.

Em vez de codificar informações confidenciais em texto simples na aplicação, você pode usar o Secrets Manager para armazenar os dados confidenciais.

Recomendamos esse método de recuperação de dados confidenciais porque a aplicação recuperará automaticamente a versão mais recente do segredo se o segredo do Secrets Manager for atualizado posteriormente.

Crie um segredo no Secrets Manager. Após criar um segredo do Secrets Manager, atualize o código da aplicação para recuperá-lo.

Antes de proteger dados confidenciais no Secrets Manager, analise os seguintes fatores.

  • Somente segredos que armazenem dados de texto, criados com parâmetro SecretString API CreateSecret, são compatíveis. Segredos que armazenam dados binários, criados com o parâmetro SecretBinary da API CreateSecret, não são compatíveis.

  • Use os endpoints da VPC de interface para aprimorar os controles de segurança. É necessário criar endpoints da VPC de interface para o Secrets Manager. Para obter informações o endpoint da VPC, consulte Criar endpoints da VPC no Guia do usuário do AWS Secrets Manager.

  • A VPC usada por sua tarefa deve usar resolução de DNS.

Permissões obrigatórias do IAM

Para usar esse recurso, você deve ter o perfil de tarefas do Amazon ECS e fazer referência a ele na definição de tarefa. Para ter mais informações, consulte Perfil do IAM para tarefas do Amazon ECS.

Para fornecer acesso aos segredos do Secrets Manager criados por você, adicione manualmente as permissões a seguir ao perfil de execução da tarefa. Para obter informações sobre como gerenciar permissões, consulte Adicionar e remover permissões de identidade do IAM no Guia do usuário do IAM.

  • secretsmanager:GetSecretValue: obrigatório se você estiver fazendo referência a um segredo do Secrets Manager. Adiciona a permissão para recuperar o segredo do Secrets Manager.

O exemplo de política a seguir adiciona as permissões necessárias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" ] } ] }

Criar o segredo do Secrets Manager

É possível usar o console do Secrets Manager para criar um segredo para seus dados sigilosos. Para obter informações sobre como criar segredos, consulte Criar um segredo do AWS Secrets Manager no Guia do usuário do AWS Secrets Manager.

Atualizar sua aplicação para recuperar programaticamente segredos do Secrets Manager

É possível recuperar segredos com uma chamada diretamente da sua aplicação para as APIs do Secrets Manager. Para obter informações, consulte Retrieve secrets from AWS Secrets Manager no Guia do usuário do AWS Secrets Manager.

Para recuperar os dados confidenciais armazenados no AWS Secrets Manager, consulte Exemplos de código para AWS Secrets Manager usando AWS SDKs na Biblioteca de códigos de exemplos de códigos do AWS SDK.