Configure a alternância automática para segredos do Amazon RDS, do Amazon Aurora, do Amazon Redshift ou do Amazon DocumentDB - AWS Secrets Manager

Configure a alternância automática para segredos do Amazon RDS, do Amazon Aurora, do Amazon Redshift ou do Amazon DocumentDB

Este tutorial descreve como configurar Função do Lambda de alternância para segredos de banco de dados. Alternância é o processo de atualizar periodicamente um segredo. Quando o Secrets Manager alterna um segredo, você atualiza as credenciais tanto no segredo como no banco de dados. No Secrets Manager, você pode configurar a alternância automática para seus segredos de banco de dados.

Para configurar a alternância usando o console, você precisa primeiro escolher uma estratégia de alternância. Em seguida, você configura o segredo para a alternância, o qual cria uma função de alternância do Lambda, caso você ainda não tenha uma. O console também define permissões para a função de execução da função Lambda. A última etapa é garantir que a função de alternância do Lambda possa acessar o Secrets Manager e seu banco de dados utilizando a rede.

Atenção

Para ativar a alternância automática, é necessário ter permissão para criar um perfil de execução do IAM para a função de alternância do Lambda e anexar uma política de permissão a ela. Ambas as permissões iam:CreateRole e iam:AttachRolePolicy são necessárias. Conceder essas permissões permite que uma identidade conceda a ela mesma quaisquer permissões.

Etapa 1: escolher uma estratégia de alternância e (opcionalmente) criar um segredo de superusuário

Para obter informações sobre as estratégias oferecidas pelo Secrets Manager, consulte Estratégias de alternância da função do Lambda.

Se você escolher a estratégia de usuários alternados, deverá Criar segredos e armazenar nele as credenciais de superusuário do banco de dados. Você precisa de um segredo com credenciais de superusuário porque a alternância clona o primeiro usuário e a maioria dos usuários não tem essa permissão. Observe que o Amazon RDS Proxy não oferece suporte à estratégia de usuários alternados.

Etapa 2: configurar a alternância e criar uma função de alternância

Para ativar a alternância para um segredo do Amazon RDS, do Amazon DocumentDB ou do Amazon Redshift
  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

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

  3. Na página Secret details (Detalhes do segredo), na seção Rotation configuration (Configuração da alternância), escolha Edit rotation (Editar alternância).

  4. Na caixa de diálogo Edit rotation configuration (Editar configuração da alternância), siga estas etapas:

    1. Ative a Automatic rotation (Alternância automática).

    2. Em Rotation schedule (Programação da alternância), insira sua programação no fuso horário UTC no Schedule expression builder (Desenvolvedor de expressão programada) ou como uma Schedule expression (Expressão programada). O Secrets Manager armazena sua programação como uma expressão rate() ou cron(). A janela de alternância começa automaticamente à 0h, a menos que você especifique um horário de início. Você pode alternar um segredo com intervalos a partir de quatro horas. Para ter mais informações, consulte Programação de alternância.

    3. (Opcional) Em Window duration (Duração da janela), escolha a duração da janela em que deseja que o Secrets Manager alterne o seu segredo, por exemplo, 3h, por uma janela de três horas. A janela não pode se estender até a próxima janela de alternância. Se você não especificar Window duration (Duração da janela) para uma programação de alternância em horas, a janela será automaticamente encerrada após uma hora. Para uma programação de alternância em dias, a janela terminará automaticamente no final do dia.

    4. (Opcional) Escolha Rotate immediately when the secret is stored (Alternar imediatamente quando o segredo for armazenado) para alternar o seu segredo assim que as suas alterações forem salvas. Se você desmarcar a caixa de seleção, a primeira alternância começará no cronograma definido.

      Se a alternância falhar, por exemplo, porque as etapas 3 e 4 ainda não foram concluídas, o Secrets Manager repetirá o processo de alternância várias vezes.

    5. Em Rotation function (Função de alternância), execute uma das ações a seguir:

      • Selecione Create a new Lambda function (Criar uma nova função Lambda) e insira um nome para sua nova função. O Secrets Manager adiciona SecretsManager ao início do nome da função. O Secrets Manager cria a função com base no modelo apropriado e define as permissões necessárias para a função de execução do Lambda.

      • Escolha Use an existing Lambda function (Usar uma função Lambda existente) para reutilizar uma função de alternância usada para outro segredo. As funções de alternância listadas em Recommended VPC configurations (Configurações de VPC recomendadas) têm a mesma VPC e o mesmo grupo de segurança que o banco de dados, o que ajuda a função a acessar o banco de dados.

    6. Em Estratégia de alternância, escolha a estratégia de Usuário único ou de Usuários alternados. Para ter mais informações, consulte Etapa 1: escolher uma estratégia de alternância e (opcionalmente) criar um segredo de superusuário.

  5. Escolha Salvar.

Etapa 3: (Opcional) Defina condições de permissões adicionais na função de alternância

Na política de recursos para sua função de alternância, recomendamos incluir a chave de contexto aws:SourceAccount para ajudar a evitar que o Lambda seja usado como um confused deputy. Para alguns produtos da AWS, para evitar o cenário de “confused deputy”, a AWS recomenda usar as chaves de condição globais aws:SourceArn e aws:SourceAccount. No entanto, se você incluir a condição aws:SourceArn em sua política de função de alternância, a função de alternância só poderá ser usada para alternar o segredo especificado por esse ARN. Recomendamos que inclua apenas a chave de contexto aws:SourceAccount, de modo que possa usar a função de alternância para vários segredos.

Para atualizar sua política de recursos da função de alternância
  1. No console do Secrets Manager, escolha seu segredo e, em seguida, na página de detalhes, em Rotation configuration (Configuração de alternância), escolha a função de alternância do Lambda. Abra o console do Lambda.

  2. Siga as instruções em Usar políticas baseadas em recursos para o Lambda para adicionar uma condição aws:sourceAccount.

    "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" } },

Se o segredo for criptografado com uma chave KMS diferente da Chave gerenciada pela AWS aws/secretsmanager, o Secrets Manager concede permissão à função de execução do Lambda para usar a chave. Você pode usar o contexto de criptografia SecretARN para limitar o uso da função de descriptografia, de modo que a função de alternância tenha acesso apenas para descriptografar o segredo que é responsável pela alternância.

Para atualizar o papel de execução da função de alternância
  1. Na função de alternância do Lambda, escolha Configuração e, em Função de execução, escolha o Nome da função.

  2. Siga as instruções em Modifying a role permissions policy (Modificar uma política de permissões de função) para adicionar uma condição kms:EncryptionContext:SecretARN.

    "Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "SecretARN" } },

Etapa 4: configurar acesso à rede para a função de alternância

Para ter mais informações, consulte Acesso à rede para a função de alternância do Lambda.

Próximas etapas

Consulte Solução de problemas de alternância do AWS Secrets Manager.