

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

# Permissões da função de execução da função de rotação Lambda para AWS Secrets Manager
<a name="rotating-secrets-required-permissions-function"></a>

Em [Função do Lambda de alternância](rotate-secrets_lambda.md), quando o Secrets Manager usa uma função do Lambda para alternar um segredo, o Lamba assume um [perfil de execução do IAM](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) e fornece essas credenciais ao código da função do Lambda. Para obter instruções sobre como configurar a alternância automática, consulte: 
+ [Alternância automática para segredos de banco de dados (console)](rotate-secrets_turn-on-for-db.md)
+ [Alternância automática para segredos não de banco de dados (console)](rotate-secrets_turn-on-for-other.md)
+ [Alternância automática (AWS CLI)](rotate-secrets_turn-on-cli.md)

Os exemplos a seguir mostram políticas em linha para funções de execução da função de alternância do Lambda. Para criar uma função de execução e anexá-la a uma política de permissões, consulte [Perfil de execução do AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).

**Topics**
+ [Política para uma função de execução da função de alternância do Lambda](#rotating-secrets-required-permissions-function-example)
+ [Declaração de política para chaves gerenciadas pelo cliente](#rotating-secrets-required-permissions-function-cust-key-example)
+ [Declaração de política para a estratégia de usuários alternados](#rotating-secrets-required-permissions-function-alternating-example)

## Política para uma função de execução da função de alternância do Lambda
<a name="rotating-secrets-required-permissions-function-example"></a>

A política de exemplo a seguir permite que a função de alternância:
+ Execute as operações do Secrets Manager para*SecretARN*.
+ Criar uma nova senha.
+ Definir a configuração necessária se seu banco de dados ou serviço for executado em uma VPC. Consulte [Configuring a Lambda function to access resources in a VPC](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html) (Configurar uma função do Lambda para acessar recursos em uma VPC).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue",
                "secretsmanager:UpdateSecretVersionStage"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## Declaração de política para chaves gerenciadas pelo cliente
<a name="rotating-secrets-required-permissions-function-cust-key-example"></a>

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. Você pode 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 rotação. O exemplo a seguir mostra uma instrução a ser adicionada à política de função de execução para descriptografar o segredo usando a chave KMS.

```
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "KMSKeyARN",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:SecretARN": "SecretARN"
                }
            }
        }
```

Para usar a função de alternância para vários segredos criptografados com uma chave gerenciada pelo cliente, adicione uma declaração como o exemplo a seguir para permitir que o perfil de execução decifre o segredo.

```
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "KMSKeyARN",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:SecretARN": [
                        "arn1",
                        "arn2"
                    ]
                }
            }
        }
```

## Declaração de política para a estratégia de usuários alternados
<a name="rotating-secrets-required-permissions-function-alternating-example"></a>

Para obter informações sobre a *estratégia de alternância de usuários alternados*, consulte [Estratégias de alternância da função do Lambda](rotation-strategy.md).

Para um segredo que contém credenciais do Amazon RDS, se você estiver usando a estratégia de usuários alternados e o segredo do superusuário for gerenciado [pelo Amazon RDS](rotate-secrets_managed.md), você também deverá permitir que a função de rotação chame somente leitura no APIs Amazon RDS para que ela possa obter as informações de conexão do banco de dados. Recomendamos que você anexe a política AWS gerenciada [da Amazon RDSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html).

O exemplo de política a seguir permite que a função:
+ Execute as operações do Secrets Manager para*SecretARN*.
+ Recupere as credenciais no segredo do superusuário. O Secrets Manager usa as credenciais no segredo do superusuário para atualizar as credenciais no segredo que está sendo alternado.
+ Criar uma nova senha.
+ Definir a configuração necessária se seu banco de dados ou serviço for executado em uma VPC. Para obter mais informações, consulte [Configuração de uma função do Lambda para acessar recursos em uma VPC](https://docs.aws.amazon.com/lambda/latest/dg/vpc.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue",
                "secretsmanager:UpdateSecretVersionStage"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------