

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 rotação automática para segredos que não sejam do banco de dados AWS Secrets Manager
<a name="rotate-secrets_turn-on-for-other"></a>

Este tutorial descreve como configurar [Função do Lambda de alternância](rotate-secrets_lambda.md) para segredos não de banco de dados. Alternância é o processo de atualizar periodicamente um segredo. Ao alternar um segredo, você atualiza as credenciais no segredo e no banco de dados ou serviço para o qual o segredo se destina.

Para obter informações sobre segredos do banco de dados, consulte [Alternância automática para segredos de banco de dados (console)](rotate-secrets_turn-on-for-db.md).

**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: criar uma função de alternância genérica](#rotate-secrets_turn-on-for-other_create)
+ [Etapa 2: programar o código da função de alternância](#rotate-secrets_turn-on-for-other_write)
+ [Etapa 3: configurar o segredo para alternância](#rotate-secrets_turn-on-for-other_configure)
+ [Etapa 4: permitir que a função de alternância acesse o Secrets Manager e seu banco de dados ou serviço](#rotate-secrets_turn-on-for-other_perms)
+ [Etapa 5: permitir que o Secrets Manager invoque a função de alternância](#rotate-secrets_turn-on-for-other_perms2)
+ [Etapa 6: configurar acesso à rede para a função de alternância](#rotate-secrets_turn-on-for-other_network)
+ [Próximas etapas](#rotate-secrets_turn-on-for-other_stepnext)

## Etapa 1: criar uma função de alternância genérica
<a name="rotate-secrets_turn-on-for-other_create"></a>

Para começar, crie uma função de alternância do Lambda. Ela não terá o código dentro dela para alternar seu segredo, então você escreverá isso em uma etapa posterior. Para obter informações sobre como uma função de alternância funciona, consulte [Função de alternância do Lambda](rotate-secrets_lambda-functions.md).

Nas regiões suportadas, você pode usar AWS Serverless Application Repository para criar a função a partir de um modelo. Para obter uma lista de regiões com suporte, consulte [Perguntas frequentes sobre o AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/faqs/). Em outras regiões, você cria a função do zero e copia o código do modelo na função.

**Para criar uma função de alternância genérica**

1. Para determinar se AWS Serverless Application Repository é compatível com sua região, consulte [AWS Serverless Application Repository endpoints e cotas](https://docs.aws.amazon.com/general/latest/gr/serverlessrepo.html) na Referência *AWS geral*. 

1. Execute um destes procedimentos:
   + Se AWS Serverless Application Repository houver suporte em sua região:

     1. No console do Lamba, escolha **Aplicações** e, em seguida, **Criar aplicação**.

     1. Na página **Criar aplicação**, escolha a guia **Aplicativo com tecnologia sem servidor**.

     1. Na caixa de pesquisa, em **Aplicações públicas**, insira **SecretsManagerRotationTemplate**.

     1. Selecione **Mostrar aplicações que criam perfis do IAM ou políticas de recursos personalizados**.

     1. Selecione o bloco **SecretsManagerRotationTemplate**.

     1. Na página **Analisar, configurar e implantar**, no quadro **Configurações da aplicação**, preencha os campos obrigatórios. 
        + Em **endpoint**, insira o endpoint da sua região, incluindo **https://**. Para uma lista de endpoints , consulte [AWS Secrets Manager endpoints](asm_access.md#endpoints).
        + ****Para colocar a função Lambda em uma VPC, inclua vpc e vpc. SecurityGroupIds SubnetIds****

     1. Escolha **Implantar**.
   + Se AWS Serverless Application Repository não for compatível com sua região:

     1. No console do Lambda, selecione **Funções** e, em seguida, **Criar função**.

     1. Na página **Create function (Criar função)**, faça o seguinte:

        1. Escolha **Criar do zero**.

        1. Em **Function name** (Nome da função), insira um nome para sua função de alternância.

        1. Em **Runtime**, selecione **Python 3.12**.

        1. Escolha a opção **Criar função**.

## Etapa 2: programar o código da função de alternância
<a name="rotate-secrets_turn-on-for-other_write"></a>

Nesta etapa, você escreve o código que atualiza o segredo e o serviço ou banco de dados para o qual o segredo se destina. Para obter informações sobre o que uma função de alternância faz, incluindo dicas sobre como escrever sua própria função de alternância, consulte [Função de alternância do Lambda](rotate-secrets_lambda-functions.md). É possível utilizar [Modelos de função de alternância](reference_available-rotation-templates.md) como referência.

## Etapa 3: configurar o segredo para alternância
<a name="rotate-secrets_turn-on-for-other_configure"></a>

Nesta etapa, você define uma programação de alternância para seu segredo e conecta a função de alternância para o segredo. 

**Para configurar a alternância e criar uma função de alternância em branco**

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

   1. Em **Função de alternância**, escolha a função do Lambda criada na etapa 1.

   1. Escolha **Salvar**.

## Etapa 4: permitir que a função de alternância acesse o Secrets Manager e seu banco de dados ou serviço
<a name="rotate-secrets_turn-on-for-other_perms"></a>

A função de alternância do Lambda necessita de permissão para acessar o segredo no Secrets Manager e precisa de permissão para acessar seu banco de dados ou serviço. Nesta etapa, você concede essas permissões à função de execução do Lambda. Se o segredo for criptografado com uma chave KMS diferente da Chave gerenciada pela AWS `aws/secretsmanager`, será necessário conceder à função de execução do Lambda permissão para usar a chave. É possível usar o [contexto de criptografia SecretARN](security-encryption.md#security-encryption-encryption-context) para limitar o uso da função de descriptografia, para que a função de alternância tenha acesso apenas para descriptografar o segredo que é responsável pela alternância. Para obter exemplos de políticas, consulte [Permissões para alternância](rotating-secrets-required-permissions-function.md).

Para obter instruções, consulte [Função de execução do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) no *Guia do desenvolvedor do AWS Lambda *.

## Etapa 5: permitir que o Secrets Manager invoque a função de alternância
<a name="rotate-secrets_turn-on-for-other_perms2"></a>

Para permitir que o Secrets Manager invoque a função de alternância na programação de alternância que você configurou, você precisa conceder a permissão `lambda:InvokeFunction` à entidade principal do serviço Secrets Manager na política de recursos da função do Lambda.

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 anexar uma política de recursos a uma função do Lambda, consulte [Usar políticas baseadas em recursos para o Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).

A política a seguir permite que o Secrets Manager invoque uma função do Lambda.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "default",
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "Service": "secretsmanager.amazonaws.com"
            },
        "Action": "lambda:InvokeFunction",
        "Condition": {
            "StringEquals": {
                "AWS:SourceAccount": "{{123456789012}}"
            }
        },
        "Resource": "arn:aws:lambda:{{us-east-1}}:{{123456789012}}:function:{{function-name}}"
    }
    ]
}
```

------

## Etapa 6: configurar acesso à rede para a função de alternância
<a name="rotate-secrets_turn-on-for-other_network"></a>

Nesta etapa, você permite que a função de alternância se conecte ao Secrets Manager e ao serviço ou banco de dados ao qual o segredo se destina. A função de alternância deve ser capaz de acessar ambos para ser capaz de alternar o segredo. 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-other_stepnext"></a>

Ao configurar a alternância na Etapa 3, você define uma programação para a alternância do segredo. Se a alternância falhar quando estiver programada, o Secrets Manager tentará a alternância várias vezes. Você também pode iniciar uma alternância imediatamente seguindo as instruções em [Alternar um segredo imediatamente](rotate-secrets_now.md).

Se a alternância falhar, consulte [Solucionar problemas de alternância](troubleshoot_rotation.md).