

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

# Configure a alternância automática para segredos do Amazon RDS, do Amazon Aurora, do Amazon Redshift ou do Amazon DocumentDB
<a name="rotate-secrets_turn-on-for-db"></a>

Este tutorial descreve como configurar [Função do Lambda de alternância](rotate-secrets_lambda.md) 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, é possível 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 do 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.

**Topics**
+ [Etapa 1: escolher uma estratégia de alternância e (opcionalmente) criar um segredo de superusuário](#rotate-secrets_turn-on-for-db_step1)
+ [Etapa 2: configurar a alternância e criar uma função de alternância](#rotate-secrets_turn-on-for-db_step2)
+ [Etapa 3: (Opcional) Defina condições de permissões adicionais na função de alternância](#rotate-secrets_turn-on-for-db_step3)
+ [Etapa 4: configurar acesso à rede para a função de alternância](#rotate-secrets_turn-on-for-db_step4)
+ [Próximas etapas](#rotate-secrets_turn-on-for-db_stepnext)

## Etapa 1: escolher uma estratégia de alternância e (opcionalmente) criar um segredo de superusuário
<a name="rotate-secrets_turn-on-for-db_step1"></a>

Para obter informações sobre as estratégias oferecidas pelo Secrets Manager, consulte [Estratégias de alternância da função do Lambda](rotation-strategy.md).

Se você escolher a *estratégia de usuários alternados*, deverá [Criar segredos](create_secret.md) e armazenar nele as credenciais de superusuário do banco de dados. É necessário 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
<a name="rotate-secrets_turn-on-for-db_step2"></a>

**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/](https://console.aws.amazon.com/secretsmanager/).

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

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

1. 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).

   1. 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**. É possível alternar um segredo com intervalos a partir de quatro horas. Para obter mais informações, consulte [Programação de alternância](rotate-secrets_schedule.md).

   1. (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. 

   1. (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.

   1. Em **Rotation function** (Função de alternância), execute uma das ações a seguir:
      + Selecione **Criar uma nova função do 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](reference_available-rotation-templates.md) apropriado e define as [permissões](rotating-secrets-required-permissions-function.md) necessárias para a função de execução do Lambda.
      + Escolha **Usar uma função do 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.

   1. Em **Estratégia de alternância**, escolha a estratégia de **Usuário único** ou de **Usuários alternados**. Para obter mais informações, consulte [Etapa 1: escolher uma estratégia de alternância e (opcionalmente) criar um segredo de superusuário](#rotate-secrets_turn-on-for-db_step1).

1. Escolha **Salvar**.

## Etapa 3: (Opcional) Defina condições de permissões adicionais na função de alternância
<a name="rotate-secrets_turn-on-for-db_step3"></a>

Na política de recursos para sua função de alternância, recomendamos incluir a chave de contexto [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) para ajudar a evitar que o Lambda seja usado como um [confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Para alguns AWS serviços, para evitar o cenário confuso de substituto, AWS recomenda que você use as chaves de condição [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)e as chaves de condição [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globais. 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.

1. Siga as instruções em [Usar políticas baseadas em recursos para o Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) 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](security-encryption.md#security-encryption-encryption-context) 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**. 

1. Siga as instruções em [Modifying a role permissions policy (Modificar uma política de permissões de função)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy) 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
<a name="rotate-secrets_turn-on-for-db_step4"></a>

Para obter mais informações, consulte [Acesso à rede para função AWS Lambda de rotação](rotation-function-network-access.md).

## Próximas etapas
<a name="rotate-secrets_turn-on-for-db_stepnext"></a>

Consulte [Solucionar problemas de rotação AWS Secrets Manager](troubleshoot_rotation.md).