

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

# Automatically remediate unencrypted Amazon RDS DB instances and clusters
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters"></a>

*Ajay Rawat e Josh Joy, Amazon Web Services*

## Riepilogo
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-summary"></a>

Questo modello descrive come correggere automaticamente le istanze e i cluster di database di Amazon Relational Database Service (Amazon RDS) non crittografati su Amazon Web Services AWS() AWS Config utilizzando AWS Systems Manager , runbook e () chiavi. AWS Key Management Service AWS KMS

Le istanze DB RDS crittografate forniscono un ulteriore livello di protezione dei dati proteggendo i dati dall'accesso non autorizzato allo storage sottostante. Puoi utilizzare la crittografia Amazon RDS per aumentare la protezione dei dati delle tue applicazioni distribuite in e per soddisfare i requisiti di conformità per la crittografia a riposo. Cloud AWS Puoi abilitare la crittografia per un'istanza DB RDS al momento della creazione, ma non dopo la creazione. Tuttavia, è possibile aggiungere la crittografia a un'istanza RDS DB non crittografata creando uno snapshot dell'istanza DB e quindi creando una copia crittografata di tale istantanea. È quindi possibile ripristinare un'istanza DB dallo snapshot crittografato per ottenere una copia crittografata dell'istanza DB originale.

Questo modello viene utilizzato Regole di AWS Config per valutare le istanze e i cluster DB RDS. Applica la correzione utilizzando AWS Systems Manager i runbook, che definiscono le azioni da eseguire su risorse Amazon RDS non conformi, AWS KMS e le chiavi per crittografare gli snapshot DB. Quindi applica le politiche di controllo del servizio (SCPs) per impedire la creazione di nuove istanze e cluster DB senza crittografia.

Il codice per questo modello è fornito in. [GitHub](https://github.com/aws-samples/aws-system-manager-automation-unencrypted-to-encrypted-resources)

## Prerequisiti e limitazioni
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ File dal [repository del codice GitHub sorgente](https://github.com/aws-samples/aws-system-manager-automation-unencrypted-to-encrypted-resources) relativo a questo pattern scaricati sul computer
+ Un'istanza o un cluster RDS DB non crittografato
+ Una AWS KMS chiave esistente per la crittografia di istanze e cluster RDS DB
+ Accesso per aggiornare la politica delle risorse chiave del KMS
+ AWS Config abilitato nel tuo Account AWS (vedi [Guida introduttiva AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/getting-started.html) nella AWS documentazione)

**Limitazioni**
+ È possibile abilitare la crittografia per un'istanza DB RDS solo al momento della creazione, non dopo la creazione.
+ Non è possibile creare una replica di lettura crittografata di un'istanza database non crittografata o una replica di lettura non crittografata di un'istanza database crittografata.
+ Non puoi ripristinare un backup o uno snapshot non crittografato in un'istanza database crittografata.
+ La crittografia Amazon RDS è disponibile per la maggior parte delle classi di istanza database. Per un elenco di eccezioni, [consulta Encrypting Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) nella documentazione di Amazon RDS.
+ Per copiare uno snapshot crittografato da uno Regione AWS all'altro, devi specificare la chiave KMS nella destinazione. Regione AWS Questo perché le chiavi KMS sono specifiche del tipo in Regione AWS cui vengono create.
+ La snapshot di origine resta crittografata nel processo di copia. Amazon RDS utilizza la crittografia a busta per proteggere i dati durante il processo di copia. Per ulteriori informazioni, consulta [Envelope encryption nella documentazione](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping). AWS KMS 
+ Non è possibile decrittografare un'istanza DB crittografata. Tuttavia, è possibile esportare dati da un'istanza DB crittografata e importarli in un'istanza DB non crittografata.
+ Dovresti eliminare una chiave KMS solo quando sei sicuro di non averne più bisogno. Se non sei sicuro, prendi in considerazione la possibilità di [disabilitare la chiave KMS](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) anziché eliminarla. Puoi riattivare una chiave KMS disabilitata se devi riutilizzarla in un secondo momento, ma non puoi recuperare una chiave KMS eliminata. 
+ Se scegli di non conservare i backup automatici, i backup automatici che si trovano nella stessa istanza DB vengono Regione AWS eliminati. Non potranno quindi essere recuperati dopo aver eliminato l'istanza database.
+ I backup automatici vengono conservati per il periodo di conservazione impostato sull'istanza DB al momento dell'eliminazione. Questo periodo di conservazione impostato si verifica se si sceglie o meno di creare uno snapshot DB finale.
+ Se la riparazione automatica è abilitata, questa soluzione crittografa tutti i database che hanno la stessa chiave KMS.

## Architecture
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-architecture"></a>

Il diagramma seguente illustra l'architettura per l'implementazione. CloudFormation Si noti che è possibile implementare questo modello anche utilizzando. AWS Cloud Development Kit (AWS CDK)

![\[CloudFormation Implementazione AWS per la correzione di istanze Amazon RDS non crittografate.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/7f7195e3-98c4-4b18-9192-c0400ac5b891/images/8c1466fa-15b3-44ef-aa7e-7958f80cb699.png)


## Tools (Strumenti)
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-tools"></a>

**Strumenti**
+ [CloudFormation](https://aws.amazon.com/cloudformation/)ti aiuta a configurare automaticamente le tue risorse. AWS Consente di utilizzare un file modello per creare ed eliminare una raccolta di risorse insieme come una singola unità (una pila).
+ [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/)è un framework di sviluppo software per definire l'infrastruttura cloud in codice e fornirla utilizzando linguaggi di programmazione familiari.

**Servizi e funzionalità AWS**
+ [AWS Config](https://aws.amazon.com/config/)tiene traccia della configurazione delle tue AWS risorse e delle loro relazioni con le altre risorse. Può anche valutare la conformità di tali AWS risorse. Questo servizio utilizza regole che possono essere configurate per valutare AWS le risorse rispetto alle configurazioni desiderate. È possibile utilizzare un set di regole AWS Config gestite per scenari di conformità comuni oppure creare regole personalizzate per scenari personalizzati. Quando una AWS risorsa risulta non conforme, puoi specificare un'azione di riparazione tramite un AWS Systems Manager runbook e, facoltativamente, inviare un avviso tramite un argomento Amazon Simple Notification Service (Amazon SNS). In altre parole, puoi associare le azioni di riparazione Regole di AWS Config e scegliere di eseguirle automaticamente per risolvere il problema delle risorse non conformi senza intervento manuale. Se una risorsa non è ancora conforme dopo la riparazione automatica, è possibile impostare la regola per riprovare la riparazione automatica.
+ [Amazon Relational Database Service (Amazon RDS](https://aws.amazon.com/rds/)) semplifica la configurazione, il funzionamento e la scalabilità di un database relazionale nel cloud. L'elemento costitutivo di base di Amazon RDS è l'istanza DB, che è un ambiente di database isolato in. Cloud AWS Amazon RDS offre una [selezione di tipi di istanze](https://aws.amazon.com/rds/instance-types/) ottimizzati per adattarsi a diversi casi d'uso di database relazionali. I tipi di istanza comprendono varie combinazioni di CPU, memoria, storage e capacità di rete e offrono la flessibilità necessaria per scegliere la combinazione di risorse appropriata per il database. Ogni tipo di istanza include diverse dimensioni di istanza, che consentono di scalare il database in base ai requisiti del carico di lavoro di destinazione.
+ [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) è un servizio gestito che semplifica la creazione e il controllo AWS KMS keys e crittografa i dati. Una chiave KMS è una rappresentazione logica di una chiave radice. La chiave KMS include metadati, ad esempio l'ID della chiave, la data di creazione, la descrizione e lo stato della chiave.
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
+ [Le policy di controllo dei servizi (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) offrono il controllo centralizzato sulle autorizzazioni massime disponibili per tutti gli account dell'organizzazione. SCPs ti aiutano a garantire che i tuoi account rispettino le linee guida per il controllo degli accessi della tua organizzazione. SCPs non influiscono sugli utenti o sui ruoli nell'account di gestione. Influiscono solo sugli account membri nell'organizzazione. Ti consigliamo vivamente di non collegarti SCPs alla radice della tua organizzazione senza aver testato a fondo l'impatto che la politica ha sugli account. Crea invece un'unità organizzativa (OU) in cui trasferire i tuoi account uno alla volta, o almeno in piccoli numeri, per assicurarti di non bloccare inavvertitamente gli utenti dall'accesso ai servizi chiave.

**Codice**

[Il codice sorgente e i modelli di questo pattern sono disponibili in un GitHub repository.](https://github.com/aws-samples/aws-system-manager-automation-unencrypted-to-encrypted-resources/) Il modello offre due opzioni di implementazione: è possibile distribuire un CloudFormation modello per creare il ruolo di riparazione che crittografa le istanze e i cluster DB RDS oppure utilizzare il. AWS CDK Il repository ha cartelle separate per queste due opzioni.

La sezione [Epics](#automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-epics) fornisce step-by-step istruzioni per la distribuzione del modello. CloudFormation Se desideri utilizzare il AWS CDK, segui le istruzioni contenute nel `README.md` file nel GitHub repository.

## Best practice
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-best-practices"></a>
+ Abilita la crittografia dei dati sia a riposo che in transito.
+ Abilita AWS Config in tutti gli account e Regioni AWS.
+ Registra le modifiche alla configurazione di tutti i tipi di risorse.
+ Ruota periodicamente le credenziali IAM.
+ Sfrutta l'etichettatura per AWS Config, che semplifica la gestione, la ricerca e il filtraggio delle risorse.

## Epiche
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-epics"></a>

### Crea il ruolo di riparazione IAM e il runbook Systems Manager
<a name="create-the-iam-remediation-role-and-sys-runbook"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica il CloudFormation modello. | Scarica il `unencrypted-to-encrypted-rds.template.json` file dal [GitHub repository.](https://github.com/aws-samples/aws-system-manager-automation-unencrypted-to-encrypted-resources/tree/main/rds/CloudFormation) | DevOps ingegnere | 
| Crea lo CloudFormation stack. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters.html)[Per ulteriori informazioni sulla distribuzione dei modelli, consulta la CloudFormation documentazione.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) | DevOps ingegnere | 
| Rivedi CloudFormation parametri e valori. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters.html) | DevOps ingegnere | 
| Rivedi le risorse. | Quando lo stack è stato creato, il suo stato cambia in **CREATE\$1COMPLETE**. Esamina le risorse create (ruolo IAM, runbook Systems Manager) nella CloudFormation console. | DevOps ingegnere | 

### Aggiorna la politica AWS KMS chiave
<a name="update-the-kms-key-policy"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiorna la tua politica sulle chiavi KMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters.html)<pre>{<br />    "Sid": "Allow access through RDS for all principals in the account that are authorized to use RDS",<br />    "Effect": "Allow",<br />    "Principal": {<br />        "AWS": "arn:aws:iam:: <your-AWS-account-ID>":role/<your-IAM-remediation-role>"<br />    },<br />    "Action": [<br />        "kms:Encrypt",<br />        "kms:Decrypt",<br />        "kms:ReEncrypt*",<br />        "kms:GenerateDataKey*",<br />        "kms:CreateGrant",<br />        "kms:ListGrants",<br />        "kms:DescribeKey"<br />    ],<br />    "Resource": "*",<br />    "Condition": {<br />        "StringEquals": {<br />            "kms:ViaService": "rds.us-east-1.amazonaws.com",<br />            "kms:CallerAccount": "<your-AWS-account-ID>"<br />        }<br />    }<br />}</pre> | DevOps ingegnere | 

### Trova e correggi le risorse non conformi
<a name="find-and-remediate-noncompliant-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Visualizza le risorse non conformi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters.html)Le risorse non conformi elencate nella AWS Config console saranno istanze, non cluster. L'automazione della riparazione crittografa le istanze e i cluster e crea una nuova istanza crittografata o un cluster appena creato. Tuttavia, assicurati di non correggere contemporaneamente più istanze che appartengono allo stesso cluster.Prima di correggere eventuali istanze o volumi DB RDS, assicurati che l'istanza DB RDS non sia in uso. Verifica che non siano in corso operazioni di scrittura durante la creazione dello snapshot, per assicurarti che l'istantanea contenga i dati originali. Valuta la possibilità di applicare una finestra di manutenzione durante la quale verrà eseguita la riparazione. | DevOps ingegnere | 
| Correggi le risorse non conformi. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters.html) | DevOps ingegnere | 
| Verifica che l'istanza DB RDS sia disponibile. | Una volta completata l'automazione, la nuova istanza DB RDS crittografata sarà disponibile. L'istanza DB RDS crittografata avrà il prefisso `encrypted` seguito dal nome originale. Ad esempio, se il nome dell'istanza DB RDS non crittografata fosse`database-1`, lo sarebbe l'istanza DB RDS appena crittografata. `encrypted-database-1` | DevOps ingegnere | 
| Termina l'istanza non crittografata. | Una volta completata la riparazione e convalidata la nuova risorsa crittografata, è possibile terminare l'istanza non crittografata. Assicurati di confermare che la nuova risorsa crittografata corrisponda alla risorsa non crittografata prima di terminare qualsiasi risorsa. | DevOps ingegnere | 

### Far rispettare SCPs
<a name="enforce-scps"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Far rispettare SCPs. |  SCPs Implementa per impedire che in futuro vengano creati istanze e cluster di database senza crittografia. [Utilizza il `rds_encrypted.json` file fornito nel [GitHub repository](https://github.com/aws-samples/aws-system-manager-automation-unencrypted-to-encrypted-resources/tree/main/rds/SCP) per questo scopo e segui le istruzioni contenute nella documentazione.AWS](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html)  | Ingegnere della sicurezza | 

## Risorse correlate
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-resources"></a>

**Riferimenti**
+ [Configurazione AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)
+ [AWS Config regole personalizzate](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html)
+ [AWS KMS concetti](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)
+ [AWS Systems Manager documenti](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html)
+ [Policy di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)

**Strumenti**
+ [CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/)

**Guide e pattern**
+ [Riattiva automaticamente AWS CloudTrail utilizzando una regola di riparazione personalizzata in AWS Config](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automatically-re-enable-aws-cloudtrail-by-using-a-custom-remediation-rule-in-aws-config.html)

## Informazioni aggiuntive
<a name="automatically-remediate-unencrypted-amazon-rds-db-instances-and-clusters-additional"></a>

**Come funziona AWS Config ?**

Quando lo usi AWS Config, rileva innanzitutto AWS le risorse supportate presenti nel tuo account e genera un [elemento di configurazione](https://docs.aws.amazon.com/config/latest/developerguide/config-concepts.html#config-items) per ogni risorsa. AWS Config genera inoltre elementi di configurazione quando la configurazione di una risorsa cambia e conserva i record cronologici degli elementi di configurazione delle risorse dal momento in cui si avvia il registratore di configurazione. Per impostazione predefinita, AWS Config crea elementi di configurazione per ogni risorsa supportata in. Regione AWS Se non si desidera AWS Config creare elementi di configurazione per tutte le risorse supportate, è possibile specificare i tipi di risorse di cui si desidera che venga monitorato.

**In che modo sono AWS Config e sono Regole di AWS Config correlati a AWS Security Hub CSPM?**

AWS Security Hub CSPM è un servizio di sicurezza e conformità che fornisce la gestione della situazione di sicurezza e conformità come servizio. Utilizza AWS Config e Regole di AWS Config come meccanismo principale per valutare la configurazione delle AWS risorse. Regole di AWS Config può essere utilizzato anche per valutare direttamente la configurazione delle risorse. Altro Servizi AWS, tale AWS Control Tower e AWS Firewall Manager altro uso Regole di AWS Config.