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á.
Mover segredos codificados para o AWS Secrets Manager
Caso você tenha segredos de texto simples no código, recomendamos alterná-los e armazená-los no Secrets Manager. Transferir o segredo para o Secrets Manager resolverá o problema de deixar o segredo visível para qualquer pessoa que visualizar o código, porque, a partir de então, seu código recuperará o segredo diretamente do Secrets Manager. Alternar o segredo revogará o segredo codificado atual para que não seja mais válido.
Para obter segredos de credenciais de banco de dados, consulte Mover credenciais de banco de dados codificadas para o AWS Secrets Manager.
Antes de começar, é necessário determinar quem precisa acessar o segredo. Recomendamos usar dois perfis do IAM para gerenciar a permissão para seu segredo:
-
Um perfil que gerencia os segredos da organização. Para ter mais informações, consulte Permissões de administrador do Secrets Manager. Você criará e alternará o segredo usando esse perfil.
-
Um perfil que pode usar o segredo no runtime, por exemplo, neste tutorial, você usa
RoleToRetrieveSecretAtRuntime
. Seu código assume esse perfil para recuperar o segredo. Neste tutorial, você concede ao perfil apenas a permissão para recuperar um valor de segredo e concede permissão usando a política de recursos do segredo. Para conhecer as alternativas, consulte Próximas etapas.
Etapas:
Etapa 1: criar o segredo
A primeira etapa é copiar o segredo codificado existente para o Secrets Manager. Se o segredo estiver relacionado a um recurso da AWS, armazene-o na mesma região do recurso. Caso contrário, armazene-o na região com a menor latência para seu caso de uso.
Para criar um segredo (console)
Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/
. -
Selecione Armazenar um novo segredo.
-
Na página Choose secret type (Selecionar tipo de segredo), faça o seguinte:
-
Em Secret type (Tipo de segredo), escolha Other type of secret (Outro tipo de segredo).
-
Digite seu segredo como pares de chave-valor ou em texto não criptografado. Alguns exemplos:
-
Em Encryption key (Chave de criptografia), escolha aws/secretsmanager para usar a Chave gerenciada pela AWS para Secrets Manager. Não há custo para o uso dessa chave. Você também pode usar sua própria chave gerenciada pelo cliente, por exemplo, para acessar o segredo de outra Conta da AWS. Para obter mais informações sobre os custos do uso de uma chave gerenciada pelo cliente, consulte Definição de preço.
-
Escolha Próximo.
-
-
Na página Choose secret type (Selecionar tipo de segredo), faça o seguinte:
-
Insira um Secret name (Nome de segredo) descritivo e uma Description (Descrição).
-
Em Resource permissions (Permissões do recurso), escolha Edit permissions (Editar permissões). Cole a política a seguir para permitir que
RoleToRetrieveSecretAtRuntime
recupere o segredo, e escolha Save (Salvar).{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
AccountId
:role/
" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }RoleToRetrieveSecretAtRuntime
-
Na parte inferior da página, selecione a opção Próximo.
-
-
Na página Configure rotation (Configurar alternância), mantenha a alternância ligada. Escolha Próximo.
-
Na página Review (Revisar), revise os detalhes do segredo e escolha Store (Armazenar).
Etapa 2: atualizar o código
Seu código deve assumir o perfil do IAM RoleToRetrieveSecretAtRuntime
para conseguir recuperar o segredo. Para obter mais informações, consulte Alternância para um perfil do IAM (API da AWS).
Em seguida, atualize o código para recuperar o segredo do Secrets Manager usando o código de exemplo fornecido pelo Secrets Manager.
Como encontrar o código de exemplo
Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/
. -
Na página Secrets (Segredos), escolha o segredo.
-
Role para baixo até Sample code (Código de exemplo). Escolha a linguagem de programação e copie o trecho de código.
Em sua aplicação, remova o segredo codificado e cole o trecho de código. Conforme o idioma do código, talvez seja necessário adicionar uma chamada ao perfil ou método no trecho de código.
Teste se sua aplicação funciona conforme o esperado com o segredo no lugar do segredo codificado.
Etapa 3: atualizar o segredo
A última etapa é revogar e atualizar o segredo codificado. Consulte a origem do segredo para encontrar instruções para revogá-lo e atualizá-lo. Por exemplo, talvez seja necessário desativar o segredo atual e gerar um novo segredo.
Para atualizar o segredo com o novo valor
Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/
. -
Escolha Secrets (Segredos) e escolha o segredo.
-
Na página Secret details (Detalhes do segredo), role para baixo e escolha Retrieve secret value (Recuperar valor do segredo) e depois Edit (Editar).
-
Atualize o segredo e escolha Save (Salvar).
Em seguida, teste se a aplicação funciona conforme o esperado com o novo segredo.
Próximas etapas
Depois de remover um segredo codificado de seu código, há algumas ideias a serem consideradas em seguida:
-
Para encontrar segredos codificados em suas aplicações Java e Python, recomendamos o Amazon CodeGuru Reviewer.
-
É possível melhorar a perfomance e reduzir custos armazenando segredos em cache. Para ter mais informações, consulte Obter segredos de AWS Secrets Manager.
-
Para segredos acessados de várias regiões, você pode replicar seu segredo para melhorar a latência. Para ter mais informações, consulte Replicar segredos do AWS Secrets Manager por regiões.
-
Neste tutorial, você concedeu permissão a
RoleToRetrieveSecretAtRuntime
somente para recuperar o valor do segredo. Para conceder mais permissões ao perfil, por exemplo, para obter metadados sobre o segredo ou para visualizar uma lista de segredos, consulte Políticas baseadas no recurso. -
Neste tutorial, você concedeu permissão a
RoleToRetrieveSecretAtRuntime
somente para recuperar o valor do segredo. Para saber outras formas de conceder permissão, consulte Políticas baseadas em identidade.