Mova segredos codificados para AWS Secrets Manager - AWS Secrets Manager

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

Mova segredos codificados para 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 duas IAM funções para gerenciar a permissão do seu segredo:

  • Um perfil que gerencia os segredos da organização. Para obter mais informações, consulte Permissões de administrador do Secrets Manager. Você criará e alternará o segredo usando esse perfil.

  • Uma função que pode usar o segredo em tempo de execução, por exemplo, neste tutorial que você usaRoleToRetrieveSecretAtRuntime. 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.

Etapa 1: criar o segredo

A primeira etapa é copiar o segredo codificado existente para o Secrets Manager. Se o segredo estiver relacionado a um AWS recurso, 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)
  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Selecione Armazenar um novo segredo.

  3. Na página Choose secret type (Selecionar tipo de segredo), faça o seguinte:

    1. Em Tipo de segredo, escolha Outro tipo de segredo.

    2. Digite seu segredo como pares de chave-valor ou em texto não criptografado. Alguns exemplos:

      API key

      Insira como pares de chave/valor:

      ClientID : my_client_id

      ClientSecret : wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

      OAuth token

      Insira como texto sem formatação:

      AKIAI44QH8DHBEXAMPLE

      Digital certificate

      Insira como texto sem formatação:

      -----BEGIN CERTIFICATE----- EXAMPLE -----END CERTIFICATE-----
      Private key

      Insira como texto sem formatação:

      –--- BEGIN PRIVATE KEY ---- EXAMPLE ––-- END PRIVATE KEY –---
    3. 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.

    4. Escolha Próximo.

  4. Na página Choose secret type (Selecionar tipo de segredo), faça o seguinte:

    1. Insira um Secret name (Nome de segredo) descritivo e uma Description (Descrição).

    2. Em Resource permissions (Permissões do recurso), escolha Edit permissions (Editar permissões). Cole a política a seguir, que RoleToRetrieveSecretAtRuntime permite recuperar o segredo, e escolha Salvar.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountId:role/RoleToRetrieveSecretAtRuntime" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
    3. Na parte inferior da página, selecione a opção Próximo.

  5. Na página Configure rotation (Configurar alternância), mantenha a alternância ligada. Escolha Próximo.

  6. 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 a IAM função RoleToRetrieveSecretAtRuntime para poder recuperar o segredo. Para obter mais informações, consulte Mudando para uma IAM função (AWS API).

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
  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Na página Secrets (Segredos), escolha o segredo.

  3. 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
  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Escolha Secrets (Segredos) e escolha o segredo.

  3. Na página Secret details (Detalhes do segredo), role para baixo e escolha Retrieve secret value (Recuperar valor do segredo) e depois Edit (Editar).

  4. 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: