Configura la rotazione automatica per i segreti di Amazon RDS, Amazon Aurora, Amazon Redshift o Amazon DocumentDB - AWS Secrets Manager

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

Configura la rotazione automatica per i segreti di Amazon RDS, Amazon Aurora, Amazon Redshift o Amazon DocumentDB

Questo tutorial descrive come configurare i segreti Rotazione tramite funzione Lambda del database. La rotazione è il processo di aggiornamento periodico di un segreto. Quando si ruota un segreto, vengono aggiornate le credenziali sia nel segreto che nel database. In Gestione dei segreti, puoi impostare la rotazione automatica per i segreti del tuo database.

Per impostare la rotazione utilizzando la console, prima è necessario scegliere una strategia di rotazione. Poi è possibile configurare il segreto per la rotazione, creando una funzione di rotazione Lambda se non è già presente. La console imposta anche le autorizzazioni per il ruolo di esecuzione della funzione Lambda. L'ultimo passaggio consiste nel garantire che la funzione di rotazione Lambda possa accedere sia a Gestione dei segreti che al database tramite la rete.

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.

Fase 1: Scelta di una strategia di rotazione e (facoltativamente) creazione di un segreto del superutente

Per informazioni sulle strategie offerte da Secrets Manager, vedereStrategie di rotazione delle funzioni Lambda.

Se scegli la strategia a utenti alternati, è necessario Creazione di un segreto del database e memorizzare al suo interno le credenziali del superutente del database. Con le credenziali di superutente è necessario un segreto perché la rotazione clona il primo utente e la maggior parte degli utenti non dispone di tale autorizzazione. Tieni presente che Amazon RDS Proxy non supporta la strategia di utenti alternati.

Fase 2: Configurazione della rotazione e creazione di una funzione di rotazione

Per attivare la rotazione per un segreto Amazon RDS, Amazon DocumentDB o Amazon Redshift
  1. Apri la console di Secrets Manager all'indirizzo https://console.aws.amazon.com/secretsmanager/.

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

  3. Nella pagina Secret details (Dettagli del segreto), nella sezione Rotation configuration (Configurazione rotazione) scegli Edit rotation (Modifica rotazione).

  4. Nella finestra di dialogo Edit rotation configuration (modifica configurazione rotazione), procedi come indicato di seguito:

    1. Attiva Automatic rotation (Rotazione automatica).

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

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

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

      Se la rotazione non avviene, ad esempio perché le fasi 3 e 4 non sono ancora state completate, Gestione dei segreti riprova il processo di rotazione più volte.

    5. In Rotation function (Funzione di rotazione), esegui una delle seguenti operazioni:

      • Scegli Crea una nuova funzione Lambda e immetti un nome per la nuova funzione. Gestione dei segreti aggiunge "SecretsManager" all'inizio del nome della funzione. Gestione dei segreti crea la funzione in base al modello appropriato e imposta le autorizzazioni necessarie per il ruolo di esecuzione di Lambda.

      • Scegli Use an existing Lambda function (Usa una funzione Lambda esistente) per riutilizzare una funzione di rotazione Lambda esistente per un altro segreto. Le funzioni di rotazione elencate in Recommended VPC configurations (Configurazioni VPC consigliate) dispongono dello stesso VPC e gruppo di sicurezza del database, e questo aiuta la funzione ad accedere al database.

    6. Per Strategia di rotazione scegli la strategia Utente singolo o Utenti alternati. Per ulteriori informazioni, consulta Fase 1: Scelta di una strategia di rotazione e (facoltativamente) creazione di un segreto del superutente.

  5. Seleziona Save (Salva.

Passaggio 3: (facoltativo) impostazione di condizioni di autorizzazione aggiuntive sulla funzione di rotazione

Nella policy delle risorse per la funzione di rotazione, si consiglia di includere la chiave di contesto aws:SourceAccount per prevenire che Lambda venga usato come confused deputy. Per alcuni AWS servizi, per evitare il confuso scenario sostitutivo, si AWS consiglia di utilizzare sia le chiavi di condizione aws:SourceArnsia le chiavi di condizione aws:SourceAccountglobali. 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 aggiornare la policy delle risorse della funzione di rotazione
  1. Nella console Gestione dei segreti, scegli il tuo segreto e quindi nella pagina dei dettagli, nella sezione Rotation configuration (Configurazione della rotazione), scegli la funzione di rotazione Lambda. Si apre la console Lambda.

  2. Segui le istruzioni in Utilizzo di politiche basate sulle risorse per Lambda per aggiungere una condizione aws:sourceAccount.

    "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" } },

Se il segreto è crittografato con una chiave KMS diversa da Chiave gestita da AWS aws/secretsmanager, Secrets Manager concede al ruolo di esecuzione Lambda l'autorizzazione a utilizzare la chiave. È possibile utilizzare il contesto di crittografia SecretARN 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.

Aggiornamento del ruolo di esecuzione della funzione di rotazione
  1. Dalla funzione di rotazione Lambda, scegli Configurazione, quindi in Ruolo di esecuzione scegli Nome del ruolo.

  2. Segui le istruzioni riportate nella sezione Modifica di una policy sulle autorizzazioni dei ruoli per aggiungere una condizione kms:EncryptionContext:SecretARN.

    "Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "SecretARN" } },

Fase 4: Configurazione dell'accesso alla rete per la funzione di rotazione

Per ulteriori informazioni, consulta Accesso alla rete per la funzione di rotazione Lambda.

Passaggi successivi

Per informazioni, consulta Risolvi i problemi AWS Secrets Manager di rotazione.