

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

# Imposta la rotazione automatica per i segreti non relativi al database Gestione dei segreti AWS
<a name="rotate-secrets_turn-on-for-other"></a>

Questo tutorial descrive come configurare i segreti non relativi [Rotazione tramite funzione Lambda](rotate-secrets_lambda.md) al database. La rotazione è il processo di aggiornamento periodico di un segreto. Quando ruoti un segreto, aggiorni le credenziali sia nel segreto che nel database o nel servizio a cui si riferisce il segreto.

Per informazioni segrete sul database, consulta [Rotazione automatica per i segreti del database (console)](rotate-secrets_turn-on-for-db.md).

**avvertimento**  
Per attivare la rotazione automatica, devi disporre dell'autorizzazione per creare un ruolo di esecuzione IAM per la funzione di rotazione Lambda e allegare una politica di autorizzazione. Sono necessarie entrambe le autorizzazioni `iam:CreateRole` e `iam:AttachRolePolicy`. La concessione di queste autorizzazioni consente a un'identità di concedersi qualsiasi autorizzazione.

**Topics**
+ [Fase 1: Creare una funzione di rotazione generica](#rotate-secrets_turn-on-for-other_create)
+ [Fase 2: Scrittura del codice della funzione di rotazione](#rotate-secrets_turn-on-for-other_write)
+ [Fase 3: Configurare il segreto per la rotazione](#rotate-secrets_turn-on-for-other_configure)
+ [Passaggio 4: consentire alla funzione di rotazione di accedere a Secrets Manager e al database o al servizio](#rotate-secrets_turn-on-for-other_perms)
+ [Passaggio 5: consentire a Secrets Manager di richiamare la funzione di rotazione](#rotate-secrets_turn-on-for-other_perms2)
+ [Fase 6: Configurare l'accesso alla rete per la funzione di rotazione](#rotate-secrets_turn-on-for-other_network)
+ [Fasi successive](#rotate-secrets_turn-on-for-other_stepnext)

## Fase 1: Creare una funzione di rotazione generica
<a name="rotate-secrets_turn-on-for-other_create"></a>

Per iniziare, crea una funzione di rotazione Lambda. Non conterrà il codice per ruotare il tuo segreto, quindi lo scriverai in un passaggio successivo. Per informazioni su come funziona una funzione di rotazione, consulta[Funzioni di rotazione Lambda](rotate-secrets_lambda-functions.md).

Nelle regioni supportate, è possibile utilizzare AWS Serverless Application Repository per creare la funzione da un modello. Per un elenco delle regioni supportate, consulta le [AWS Serverless Application Repository domande frequenti](https://aws.amazon.com/serverless/serverlessrepo/faqs/). In altre regioni, si crea la funzione da zero e si copia il codice del modello nella funzione.

**Per creare una funzione di rotazione generica**

1. Per determinare se AWS Serverless Application Repository è supportata nella tua regione, consulta gli [AWS Serverless Application Repository endpoint e le quote](https://docs.aws.amazon.com/general/latest/gr/serverlessrepo.html) nel Riferimento *AWS generale*. 

1. Esegui una delle seguenti operazioni:
   + Se AWS Serverless Application Repository è supportato nella tua regione:

     1. Nella console Lambda, scegli **Applicazioni**, quindi scegli **Crea** applicazione.

     1. Nella pagina **Crea applicazione**, scegli la scheda **Applicazione Serverless**.

     1. Nella casella di ricerca in **Applicazioni pubbliche**, inserisci**SecretsManagerRotationTemplate**.

     1. Seleziona **Mostra app che creano ruoli IAM personalizzati o politiche di risorse**.

     1. Seleziona in riquadro **SecretsManagerRotationTemplate**.

     1. Nella pagina **Rivedi, configura e distribuisci**, nel riquadro **Impostazioni dell'applicazione**, compila i campi obbligatori. 
        + Per **endpoint**, inserisci l'endpoint per la tua regione, incluso. **https://** Per un elenco di endpoint, consulta [Gestione dei segreti AWS endpoint](asm_access.md#endpoints).
        + ****Per inserire la funzione Lambda in un VPC, includi vpc e vpc. SecurityGroupIds SubnetIds****

     1. Seleziona **Implementa**.
   + Se AWS Serverless Application Repository non è supportata nella tua regione:

     1. Nella console Lambda, scegli **Funzioni**, quindi scegli **Crea** funzione.

     1. Nella pagina **Create function (Crea funzione)**, procedere come segue:

        1. Scegli **Author from scratch** (Crea da zero).

        1. In **Function name** (Nome funzione), inserisci un nome per la funzione di rotazione.

        1. In **Runtime**, scegli **Python 3.12**.

        1. Scegli **Crea funzione**.

## Fase 2: Scrittura del codice della funzione di rotazione
<a name="rotate-secrets_turn-on-for-other_write"></a>

In questo passaggio, scrivi il codice che aggiorna il segreto e il servizio o il database a cui è destinato il segreto. Per informazioni sul funzionamento di una funzione di rotazione, inclusi suggerimenti su come scrivere una funzione di rotazione personalizzata, vedere[Funzioni di rotazione Lambda](rotate-secrets_lambda-functions.md). È inoltre possibile utilizzarla [Modelli di funzione di rotazione](reference_available-rotation-templates.md) come riferimento.

## Fase 3: Configurare il segreto per la rotazione
<a name="rotate-secrets_turn-on-for-other_configure"></a>

In questo passaggio, imposti un programma di rotazione per il tuo segreto e connetti la funzione di rotazione al segreto. 

**Per configurare la rotazione e creare una funzione di rotazione vuota**

1. Apri la console Secrets Manager all'indirizzo [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Nella pagina dell'elenco **Secrets (Segreti)** scegli il segreto.

1. Nella pagina **Secret details (Dettagli del segreto)**, nella sezione **Rotation configuration (Configurazione rotazione)** scegli **Edit rotation (Modifica rotazione)**. Nella finestra di dialogo **Edit rotation configuration (modifica configurazione rotazione)**, procedi come indicato di seguito:

   1. Attiva **Automatic rotation** (Rotazione automatica).

   1. In **Rotation schedule** (Pianificazione della rotazione), inserisci la tua pianificazione seguendo il fuso orario UTC nel **Schedule expression builder** (Generatore di espressioni di pianificazione) o come **Schedule expression** (Espressione di pianificazione). Gestione dei segreti memorizza la tua pianificazione come un'espressione `rate()` o `cron()`. La finestra di rotazione inizia automaticamente a mezzanotte, a meno che non si specifichi un'**ora di inizio**. Puoi ruotare un segreto anche ogni quattro ore. Per ulteriori informazioni, consulta [Pianificazioni di rotazione](rotate-secrets_schedule.md).

   1. (Facoltativo) Per **Window duration** (Durata della finestra), scegli la lunghezza della finestra durante la quale vuoi che Secrets Manager ruoti il tuo segreto, ad esempio **3h** per una finestra di tre ore. La finestra non deve continuare nella finestra di rotazione successiva. Se non si specifica la **durata della finestra**, per un programma di rotazione espresso in ore, la finestra si chiude automaticamente dopo un'ora. Per un programma di rotazione espresso in giorni, la finestra si chiude automaticamente alla fine della giornata. 

   1. (Facoltativo) Scegli **Rotate immediately when the secret is stored** (Ruota immediatamente quando viene memorizzato il segreto) per ruotare il segreto al salvataggio delle modifiche. Deselezionando la casella di controllo, la prima rotazione inizierà nella pianificazione impostata.

   1. In **Funzione di rotazione**, scegli la funzione Lambda che hai creato nel passaggio 1.

   1. Scegli **Save** (Salva).

## Passaggio 4: consentire alla funzione di rotazione di accedere a Secrets Manager e al database o al servizio
<a name="rotate-secrets_turn-on-for-other_perms"></a>

La funzione di rotazione Lambda richiede l'autorizzazione per accedere al segreto in Gestione dei segreti e necessita dell'autorizzazione per accedere al database o al servizio. In questo passaggio, concedi queste autorizzazioni al ruolo di esecuzione di Lambda. 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. Per esempi di policy, consulta [Autorizzazioni per la rotazione](rotating-secrets-required-permissions-function.md).

Per istruzioni, consulta [Ruolo di esecuzione di Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) nella *Guida per gli sviluppatori di AWS Lambda *.

## Passaggio 5: consentire a Secrets Manager di richiamare la funzione di rotazione
<a name="rotate-secrets_turn-on-for-other_perms2"></a>

Per consentire a Secrets Manager di richiamare la funzione di rotazione nella pianificazione di rotazione impostata, è necessario concedere l'`lambda:InvokeFunction`autorizzazione al responsabile del servizio Secrets Manager nella politica delle risorse della funzione Lambda.

Nella policy delle risorse per la funzione di rotazione, si consiglia di includere la chiave di contesto [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) per prevenire che Lambda venga usato come [confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Per alcuni AWS servizi, per evitare il confuso scenario sostitutivo, si AWS consiglia di utilizzare sia i tasti di condizione [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)sia i tasti di condizione [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)globali. Tuttavia, se includi la condizione `aws:SourceArn` nella tua policy della funzione di rotazione, la funzione di rotazione può essere utilizzata solo per ruotare il segreto specificato da tale ARN. Ti consigliamo di includere solo la chiave di contesto `aws:SourceAccount` in modo da poter utilizzare la funzione di rotazione per più segreti. 

Per collegare una policy sulle risorse a una funzione Lambda, consulta [Utilizzo delle policy basate su risorse per Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).

La seguente politica consente a Secrets Manager di richiamare una funzione 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}}"
    }
    ]
}
```

------

## Fase 6: Configurare l'accesso alla rete per la funzione di rotazione
<a name="rotate-secrets_turn-on-for-other_network"></a>

In questo passaggio, consenti alla funzione di rotazione di connettersi sia a Secrets Manager che al servizio o al database a cui è destinato il segreto. La funzione di rotazione deve avere accesso a entrambi per poter ruotare il segreto. Per informazioni, consulta [Accesso alla rete per la funzione AWS Lambda di rotazione](rotation-function-network-access.md).

## Fasi successive
<a name="rotate-secrets_turn-on-for-other_stepnext"></a>

Quando hai configurato la rotazione nel Passaggio 3, hai impostato una pianificazione per la rotazione del segreto. Se la rotazione fallisce quando è pianificata, Secrets Manager tenterà la rotazione più volte. È inoltre possibile avviare immediatamente una rotazione seguendo le istruzioni riportate in[Rotazione immediata di un segreto](rotate-secrets_now.md).

Se la rotazione fallisce, vedi[Risoluzione dei problemi della rotazione](troubleshoot_rotation.md).