

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Autorizzazioni del ruolo di esecuzione della funzione di rotazione Lambda per Gestione dei segreti AWS
<a name="rotating-secrets-required-permissions-function"></a>

Infatti[Rotazione tramite funzione Lambda](rotate-secrets_lambda.md), quando Secrets Manager utilizza una funzione Lambda per ruotare un segreto, Lambda assume un [ruolo di esecuzione IAM](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) e fornisce tali credenziali al codice della funzione Lambda. Per istruzioni su come impostare la rotazione automatica, consulta: 
+ [Rotazione automatica per i segreti del database (console)](rotate-secrets_turn-on-for-db.md)
+ [Rotazione automatica per i segreti non relativi al database (console)](rotate-secrets_turn-on-for-other.md)
+ [Rotazione automatica (AWS CLI)](rotate-secrets_turn-on-cli.md)

Negli esempi seguenti vengono illustrate le policy in linea per i ruoli di esecuzione della funzione di rotazione Lambda. Per creare un ruolo di esecuzione e allegare una policy di autorizzazione, vedere [Ruolo di esecuzione di AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).

**Topics**
+ [Policy per un ruolo di esecuzione della funzione di rotazione Lambda](#rotating-secrets-required-permissions-function-example)
+ [Istruzione della policy per una chiave gestita dal cliente](#rotating-secrets-required-permissions-function-cust-key-example)
+ [Istruzione della policy per la strategia a utenti alternati](#rotating-secrets-required-permissions-function-alternating-example)

## Policy per un ruolo di esecuzione della funzione di rotazione Lambda
<a name="rotating-secrets-required-permissions-function-example"></a>

La seguente policy di esempio consente alla funzione di rotazione di:
+ Esegui le operazioni di Secrets Manager per*SecretARN*.
+ Creare una nuova password.
+ Impostare la configurazione richiesta se il database o il servizio è in esecuzione in un VPC. Consulta [Configurazione di una funzione Lambda per accedere alle risorse in un VPC](https://docs.aws.amazon.com/lambda/latest/dg/configuration-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:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## Istruzione della policy per una chiave gestita dal cliente
<a name="rotating-secrets-required-permissions-function-cust-key-example"></a>

Se il segreto è crittografato con una chiave KMS diversa da Chiave gestita da AWS `aws/secretsmanager`, allora è necessario concedere l'autorizzazione per utilizzare la chiave al ruolo di esecuzione Lambda. È possibile utilizzare il [contesto di crittografia SecretARN](security-encryption.md#security-encryption-encryption-context) per limitare l'uso della funzione di decrittografia, in modo che il ruolo della funzione di rotazione sia autorizzato ad accedere soltanto per decrittografare il segreto della cui rotazione è responsabile. Nell'esempio seguente viene illustrata un'istruzione da aggiungere alla policy del ruolo di esecuzione per decrittografare il segreto utilizzando la chiave KMS.

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

Per utilizzare la funzione di rotazione per più segreti crittografati con una chiave gestita dal cliente, aggiungi un'istruzione come l'esempio seguente per consentire al ruolo di esecuzione di decrittografare il segreto.

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

## Istruzione della policy per la strategia a utenti alternati
<a name="rotating-secrets-required-permissions-function-alternating-example"></a>

Per informazioni sulla *strategia di rotazione a utenti alternati*, consulta la sezione [Strategie di rotazione delle funzioni Lambda](rotation-strategy.md).

Per un segreto che contiene le credenziali di Amazon RDS, se utilizzi la strategia degli utenti alternati e il segreto del superutente è gestito [da Amazon RDS](rotate-secrets_managed.md), devi anche consentire alla funzione di rotazione di effettuare chiamate in sola lettura su APIs Amazon RDS in modo che possa ottenere le informazioni di connessione per il database. Ti consigliamo di allegare la policy AWS gestita [Amazon RDSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html).

La seguente policy di esempio consente alla funzione di:
+ Esegui le operazioni di Secrets Manager per*SecretARN*.
+ Recupera le credenziali nel segreto del superutente. Gestione dei segreti utilizza le credenziali presenti nel segreto del superutente per aggiornare le credenziali nel segreto che viene ruotato.
+ Creare una nuova password.
+ Impostare la configurazione richiesta se il database o il servizio è in esecuzione in un VPC. Per ulteriori informazioni, consulta [Configurazione di una funzione Lambda per accedere alle risorse in un 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"
        }
    ]
}
```

------