Alternar automaticamente um segredo do Amazon RDS, do Amazon DocumentDB e do Amazon Redshift - AWS Secrets Manager

Alternar automaticamente um segredo do Amazon RDS, do Amazon DocumentDB e do Amazon Redshift

O Secrets Manager fornece modelos completos de alternância para segredos do Amazon RDS, do Amazon DocumentDB e do Amazon Redshift. Para outros tipos de segredos, consulte Alternar automaticamente um segredo.

As funções de alternância do Amazon RDS (exceto Oracle) e o Amazon DocumentDB usam automaticamente o Secure Socket Layer (SSL) ou o Transport Layer Security (TLS) para se conectar ao seu banco de dados, se ele estiver disponível. Caso contrário, utilizarão uma conexão não criptografada.

nota

Se você configurou a alternância automática de segredos antes de 20 de dezembro de 2021, a sua função de alternância pode ser baseada em um modelo mais antigo que é incompatível com SSL/TLS. Consulte Determine when your rotation function was created (Determine quando a sua função de alternância foi criada). Se tiver sido criada antes de 20 de dezembro de 2021, para oferecer suporte a conexões que usam SSL/TLS, você precisará recriar a sua função de alternância.

Edite o segredo e escolha Edit rotation (Editar alternância). Na caixa de diálogo, escolha Create a rotation function (Criar uma função de alternância) para recriar a sua função de alternância. Se você tiver feito personalizações na sua função de alternância anterior, será necessário refazê-las na nova função de alternância.

Outra maneira de alternar automaticamente um segredo é usar o AWS CloudFormation para criar o segredo e incluir o AWS::SecretsManager::RotationSchedule. Consulte Criar segredos no AWS CloudFormation.

Antes de começar, você precisará fazer o seguinte:

Para ativar a alternância para um segredo do Amazon RDS, do Amazon DocumentDB ou do Amazon Redshift (console)

  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 de alternância), insira a sua programação no fuso horário UTC fazendo o seguinte:

      • Escolha Schedule expression builder (Programar construtor de expressões) para criar uma programação em um formulário. O Secrets Manager armazena a 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.

      • Escolha Schedule expression (Programar expressão) e, em seguida, execute uma das seguintes ações:

        • Insira a expressão cron em sua agenda. Por exemplo, cron(0 21 L * ? *), que alterna o segredo no último dia de cada mês às 21h UTC+0. Uma expressão cron para o Secrets Manager deve ter 0 no campo de minutos porque as janelas de alternância do Secrets Manager abrem no horário indicado. É necessário que um * esteja no campo de ano, porque o Secrets Manager não oferece suporte a cronogramas de alternância com mais de um ano de intervalo. Para mais informações, consulte Programar expressões.

        • Insira uma expressão de taxa para uma taxa diária, por exemplo, rate(10 days), que alterna o segredo a cada dez dias. A expressão deve incluir rate(). Com uma expressão de taxa, a janela de alternância começa automaticamente à 0h.

    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 deve se estender até o próximo dia UTC. A janela de alternância termina automaticamente no final do dia se você não especificar a duração da janela.

    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 você usar Estratégia de alternância de usuários alternados, as credenciais da versão anterior do segredo ainda são válidas e podem ser usadas para acessar o banco de dados ou serviço. Para atender aos requisitos de compatibilidade, pode seja necessário alternar seus segredos com mais frequência. Por exemplo, se a vida útil de suas credenciais for de até 90 dias, recomendamos definir o intervalo de alternância em 44 dias. Assim, as credenciais de ambos os usuários serão atualizadas dentro de 90 dias.

    5. Em Rotation function (Função de alternância), faça o seguinte:

      • Para que o Secrets Manager crie uma função de alternância para você com base em Modelos de função de alternância para o seu segredo, escolha Create a new Lambda function (Criar uma nova função do Lambda) e insira um nome para a nova função. O Secrets Manager adiciona "SecretsManager" no início do nome da função.

      • Para usar uma função de alternância que você ou o Secrets Manager já criou, escolha Use an existing Lambda function (Usar uma função do Lambda existente). Você pode reutilizar uma função de alternância usada para outro segredo se a estratégia de alternância for a mesma. As funções de alternância listadas em Recommended VPC configurations (Configurações de VPC recomendadas) têm a mesma VPC e grupo de segurança que o banco de dados, portanto, você não precisa fazer alterações na função de alternância para poder fazer chamadas para o banco de dados.

    6. Em Use separate credentials to rotate this secret (Usar credenciais separadas para alternar esse segredo), siga um dos seguintes procedimentos:

Para solucionar problemas comuns de alternância, consulte Solução de problemas de alternância de segredos do AWS Secrets Manager.

AWS CLI

Para ativar a alternância, consulte rotate-secret.

Para que o Secrets Manager possa alternar o segredo, você deve se certificar de que o JSON corresponde a Estrutura JSON de um segredo de banco de dados . Em particular, se você quiser usar a estratégia Usuários alternados, seu segredo deve conter o ARN de um segredo de superusuário.

Você também precisa de uma função do Lambda que possa alternar o segredo. É possível criar essa função com base nos Modelos de função de alternância do Secrets Manager fornecidos pelo Secrets Manager. Para Usuário único, escolha um modelo para alternância de usuário único. Para Usuários alternados, escolha um modelo para alternância de usuários alternados.

Para ativar a alternância automática

  • Na AWS CLI, o comando a seguir ativa a alternância automática. O Secrets Manager alterna o segredo uma vez imediatamente e, em seguida, no 1º e no 15º dia de cada mês, entre 16h e 18h UTC.

    aws secretsmanager rotate-secret --secret-id MySecret --rotation-lambda-arn arn:aws:lambda:us-east-2:123456789012:function:SecretsManagerMyLambdaFunction-alt-users --rotation-rules "{\"ScheduleExpression\": \"cron(0 16 1,15 * ? *)\", \"Duration\": \"2h\"}"

AWS SDK

Para ativar a alternância, use a ação RotateSecret (Alternar segredo). Para mais informações, consulte AWS SDKs.