

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

# Sicurezza in Amazon RDS Custom
<a name="custom-security"></a>

Acquisisci familiarità con le considerazioni sulla sicurezza di RDS Custom.

Per ulteriori informazioni sulla sicurezza per RDS Custom, consulta gli argomenti riportati di seguito.
+ [Protezione del bucket Amazon S3 dal problema del "confused deputy"](custom-security.confused-deputy.md)
+ [Rotazione delle credenziali RDS Custom per Oracle per i programmi di conformità](custom-security.cred-rotation.md)

## Gestione sicura delle attività da parte di RDS Custom per conto dell'utente
<a name="custom-security.security-tools"></a>

RDS Custom utilizza gli strumenti e le tecniche descritti di seguito per eseguire in modo sicuro le operazioni per conto dell'utente:

**AWSServiceRoleForRDSCustom ruolo collegato al servizio**  
Un *ruolo collegato al servizio* è definito automaticamente dal servizio e include tutte le autorizzazioni richieste dal servizio per chiamare altri  Servizi AWS  per conto dell'utente. Per RDS Custom, `AWSServiceRoleForRDSCustom` è un ruolo collegato al servizio definito in base al principio del privilegio minimo. RDS Custom utilizza le autorizzazioni in `AmazonRDSCustomServiceRolePolicy`, ovvero la policy associata a questo ruolo, per eseguire la maggior parte delle attività di provisioning e tutte le attività di gestione off-host. Per ulteriori informazioni, consulta [Amazon RDSCustom ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomServiceRolePolicy.html).  
Quando esegue attività sull'host, RDS Custom Automation utilizza le credenziali del ruolo collegato al servizio per eseguire comandi utilizzando. AWS Systems ManagerÈ possibile controllare la cronologia dei comandi tramite la cronologia dei comandi di Systems Manager e  AWS CloudTrail. Systems Manager si connette all'istanza database RDS Custom utilizzando la configurazione di rete. Per ulteriori informazioni, consulta [Fase 4: configurazione di IAM per RDS Custom per Oracle](custom-setup-orcl.md#custom-setup-orcl.iam-vpc).

**Credenziali IAM temporanee**  
Durante il provisioning o l'eliminazione delle risorse, RDS Custom a volte utilizza credenziali temporanee derivate dalle credenziali del principale IAM chiamante. Queste credenziali IAM sono limitate dalle policy IAM associate a tale principale e scadono dopo il completamento dell'operazione. Per ulteriori informazioni sulle autorizzazioni richieste per i principali IAM che utilizzano RDS Custom, consulta [Fase 5: concessione delle autorizzazioni richieste al ruolo o utente IAM](custom-setup-orcl.md#custom-setup-orcl.iam-user).

**Profilo dell'istanza Amazon EC2**  
Un profilo dell'istanza EC2 è un container per un ruolo IAM che è possibile utilizzare per passare le informazioni sul ruolo a un'istanza EC2. Un'istanza EC2 è alla base di un'istanza DB personalizzata RDS. Fornire un profilo dell'istanza quando viene creata un'istanza database RDS Custom. RDS Custom utilizza le credenziali del profilo dell'istanza EC2 quando esegue attività di gestione basate su host come i backup. Per ulteriori informazioni, consulta [Creare manualmente il ruolo IAM e il profilo dell'istanza](custom-setup-orcl.md#custom-setup-orcl.iam).

**Coppia di chiavi SSH**  
Quando RDS Custom crea l'istanza EC2 alla base di un'istanza database, crea una coppia di chiavi SSH per conto dell'utente. La chiave utilizza il prefisso di denominazione `do-not-delete-rds-custom-ssh-privatekey-db-` o `rds-custom!oracle-do-not-delete-db_resource_id-uuid-ssh-privatekey`. Gestione dei segreti AWS archivia la chiave privata SSH come segreto nel tuo Account AWS. Amazon RDS non archivia queste credenziali, né vi ha accesso né le utilizza. Per ulteriori informazioni, consulta [Coppie di chiavi Amazon EC2 e istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).

## Certificati SSL
<a name="custom-security.ssl"></a>

Le istanze database RDS personalizzate non supportano i certificati SSL gestiti. Se desideri implementare l'SSL, puoi gestire autonomamente i certificati SSL nel tuo portafoglio e creare un ascoltatore SSL per proteggere le connessioni tra il database client o per la replica del database. Per ulteriori informazioni, consulta [Configuring Transport Layer Security Authentication](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-secure-sockets-layer-authentication.html#GUID-6AD89576-526F-4D6B-A539-ADF4B840819F) nella documentazione del database Oracle.

# Protezione del bucket Amazon S3 dal problema del "confused deputy"
<a name="custom-security.confused-deputy"></a>

Quando crei una versione del motore personalizzato (CEV) per Amazon RDS Custom per Oracle o un'istanza database RDS Custom per SQL Server, RDS Custom crea un bucket Amazon S3. Il bucket S3 memorizza i file come artefatti CEV, registri di ripristino (transazioni), elementi di configurazione per il perimetro di supporto e registri AWS CloudTrail .

È possibile rendere più sicuri questi bucket S3 utilizzando le chiavi di contesto delle condizioni globali per evitare problemi di tipo *confused deputy*. Per ulteriori informazioni, consulta [Prevenzione del problema "confused deputy" tra servizi](cross-service-confused-deputy-prevention.md).

Il seguente esempio di RDS Custom per Oracle mostra l'uso delle chiavi di contesto delle condizioni globali `aws:SourceArn` e `aws:SourceAccount` in una policy del bucket S3. Per RDS Custom for Oracle, assicurati di includere Amazon Resource Names (ARNs) per le CEVs e le istanze DB. Per RDS Custom per SQL Server, assicurati di includere l'ARN per le istanze database.

```
...
{
  "Sid": "AWSRDSCustomForOracleInstancesObjectLevelAccess",
  "Effect": "Allow",
  "Principal": {
     "Service": "custom.rds.amazonaws.com"
  },
  "Action": [
     "s3:GetObject",
     "s3:GetObjectVersion",
     "s3:DeleteObject",
     "s3:DeleteObjectVersion",
     "s3:GetObjectRetention",
     "s3:BypassGovernanceRetention"
  ],
  "Resource": "arn:aws:s3:::do-not-delete-rds-custom-123456789012-us-east-2-c8a6f7/RDSCustomForOracle/Instances/*",
  "Condition": {
     "ArnLike": {
        "aws:SourceArn": [
            "arn:aws:rds:us-east-2:123456789012:db:*",
            "arn:aws:rds:us-east-2:123456789012:cev:*/*"
        ]
     },
     "StringEquals": {
        "aws:SourceAccount": "123456789012"
    }
  }
},
...
```

# Rotazione delle credenziali RDS Custom per Oracle per i programmi di conformità
<a name="custom-security.cred-rotation"></a>

Alcuni programmi di conformità richiedono la modifica periodica delle credenziali dell'utente del database, ad esempio ogni 90 giorni. RDS Custom per Oracle esegue automaticamente la rotazione delle credenziali per alcuni utenti del database predefiniti.

**Topics**
+ [Rotazione automatica delle credenziali per gli utenti predefiniti](#custom-security.cred-rotation.auto)
+ [Linee guida per la rotazione delle credenziali utente](#custom-security.cred-rotation.guidelines)
+ [Rotazione manuale delle credenziali utente](#custom-security.cred-rotation.manual)

## Rotazione automatica delle credenziali per gli utenti predefiniti
<a name="custom-security.cred-rotation.auto"></a>

Se l'istanza DB RDS Custom per Oracle è ospitata in Amazon RDS, per i seguenti utenti Oracle predefiniti viene eseguita la rotazione automatica delle credenziali ogni 30 giorni. Le credenziali per gli utenti precedenti risiedono in. Gestione dei segreti AWS


| Utente del database | Creato da | Versioni del motore supportate | Note | 
| --- | --- | --- | --- | 
|  `SYS`  |  Oracle  |  custom-oracle-ee custom-oracle-ee-cdb custom-oracle-se2 custom-oracle-se2 cdb  |  | 
|  `SYSTEM`  |  Oracle  |  custom-oracle-ee custom-oracle-ee-cdb custom-oracle-se2 custom-oracle-se2 cdb  |  | 
|  `RDSADMIN`  |  RDS  |  custom-oracle-ee custom-oracle-se2  |  | 
|  `C##RDSADMIN`  |  RDS  |  custom-oracle-ee-cdb custom-oracle-se2 cdb  | I nomi utente con C\$1\$1 prefisso esistono solo in. CDBs Per ulteriori informazioni CDBs, consulta [Panoramica dell'architettura Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.overview). | 
|  `RDS_DATAGUARD`  |  RDS  |  custom-oracle-ee  | Questo utente esiste solo nelle repliche di lettura, nei database di origine per le repliche di lettura e nei database sottoposti a migrazione fisica in RDS Custom tramite Oracle Data Guard. | 
|  `C##RDS_DATAGUARD`  |  RDS  |  custom-oracle-ee-cdb  | Questo utente esiste solo nelle repliche di lettura, nei database di origine per le repliche di lettura e nei database sottoposti a migrazione fisica in RDS Custom tramite Oracle Data Guard. I nomi utente con C\$1\$1 prefisso esistono solo in. CDBs Per ulteriori informazioni CDBs, consulta [Panoramica dell'architettura Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.overview). | 

Un'eccezione alla rotazione automatica delle credenziali è un'istanza DB RDS Custom per Oracle configurata manualmente come database in standby. RDS esegue la rotazione solo delle credenziali per le repliche di lettura create utilizzando il comando CLI `create-db-instance-read-replica` o l'API `CreateDBInstanceReadReplica`.

## Linee guida per la rotazione delle credenziali utente
<a name="custom-security.cred-rotation.guidelines"></a>

Per essere sicuro che le credenziali vengano ruotate in base al programma di conformità definito, tieni presente le seguenti linee guida:
+ Se per l'istanza DB viene eseguita la rotazione automatica delle credenziali, non modificare o eliminare manualmente un segreto, un file di password o la password per gli utenti elencati nella tabella [Utenti Oracle predefiniti](#auto-rotation). In caso contrario, RDS Custom potrebbe collocare l'istanza DB al di fuori del perimetro di supporto; in questo caso, viene sospesa la rotazione automatica.
+ L'utente master RDS non è predefinito e pertanto sei tu il responsabile della modifica manuale della password o dell'impostazione della rotazione automatica in Secrets Manager. Per ulteriori informazioni, consulta [Rotate secrets. Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)

## Rotazione manuale delle credenziali utente
<a name="custom-security.cred-rotation.manual"></a>

Per le seguenti categorie di database, RDS non esegue la rotazione automatica delle credenziali per gli utenti elencati nella tabella [Utenti Oracle predefiniti](#auto-rotation):
+ Un database configurato manualmente per funzionare come database in standby.
+ Database on-premise
+ Un'istanza DB esterna al perimetro di supporto o in uno stato in cui l'automazione RDS Custom non può essere eseguita. In questo caso RDS Custom inoltre non esegue la rotazione delle chiavi.

Se il database rientra in una delle categorie precedenti, è necessario eseguire manualmente la rotazione delle credenziali utente.

**Per ruotare manualmente le credenziali utente per un'istanza DB**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. In **Database**, assicurati che al momento RDS non stia eseguendo il backup dell'istanza DB o operazioni come la configurazione della disponibilità elevata.

1. Nella pagina dei dettagli del database, scegli **Configurazione** e annota l'ID risorsa dell'istanza DB. Oppure puoi usare il AWS CLI comando`describe-db-instances`.

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

1. Nella casella di ricerca, inserisci l’ID risorsa del tuo database e cerca un segreto utilizzando una delle seguenti convenzioni di denominazione:

   ```
   do-not-delete-rds-custom-resource_id-uuid
   rds-custom!oracle-do-not-delete-resource_id-uuid
   ```

   In questo segreto è archiviata la password per `RDSADMIN`, `SYS` e `SYSTEM`. Le seguenti chiavi di esempio fanno riferimento all’istanza database con l’ID risorsa `db-ABCDEFG12HIJKLNMNOPQRS3TUVWX` e l’UUID `123456`:

   ```
   do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
   rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
   ```
**Importante**  
Se l'istanza DB è una replica di lettura e utilizza il motore `custom-oracle-ee-cdb`, esistono due segreti con il suffisso `db-resource_id-uuid`, uno per l'utente master e l'altro per `RDSADMIN`, `SYS` e `SYSTEM`. Per trovare il segreto corretto, esegui il seguente comando sull'host:  

   ```
   cat /opt/aws/rdscustomagent/config/database_metadata.json | python3 -c "import sys,json; print(json.load(sys.stdin)['dbMonitoringUserPassword'])"
   ```
L'attributo `dbMonitoringUserPassword` indica il segreto per `RDSADMIN`, `SYS` e`SYSTEM`.

1. Se l’istanza database esiste in una configurazione di Oracle Data Guard, cerca un segreto utilizzando una delle seguenti convenzioni di denominazione:

   ```
   do-not-delete-rds-custom-resource_id-uuid-dg
   rds-custom!oracle-do-not-delete-resource_id-uuid-dg
   ```

   In questo segreto è archiviata la password per `RDS_DATAGUARD`. Le seguenti chiavi di esempio fanno riferimento all’istanza database con l’ID risorsa `db-ABCDEFG12HIJKLNMNOPQRS3TUVWX` e l’UUID **789012**:

   ```
   do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
   rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
   ```

1. Per tutti gli utenti del database elencati in [Utenti Oracle predefiniti](#auto-rotation), aggiorna le password seguendo le istruzioni riportate in [Modificare un Gestione dei segreti AWS segreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html).

1. Se il database è un database autonomo o un database di origine in una configurazione di Oracle Data Guard:

   1. Avvia il client Oracle SQL e accedi come `SYS`.

   1. Esegui un'istruzione SQL nel seguente modo per ogni utente del database elencato nella tabella [Utenti Oracle predefiniti](#auto-rotation):

      ```
      ALTER USER user-name IDENTIFIED BY pwd-from-secrets-manager ACCOUNT UNLOCK;
      ```

      Ad esempio, se la nuova password per `RDSADMIN` archiviata in Secrets Manager è`pwd-123`, esegui la seguente istruzione:

      ```
      ALTER USER RDSADMIN IDENTIFIED BY pwd-123 ACCOUNT UNLOCK;
      ```

1. Se l'istanza DB è eseguita in Oracle Database 12c Release 1 (12.1) ed è gestita da Oracle Data Guard, copia manualmente il file di password (`orapw`) dall'istanza DB primaria in ciascuna istanza DB in standby. 

   Se l'istanza DB è ospitata in Amazon RDS, la posizione del file di password è `/rdsdbdata/config/orapw`. Per i database non ospitati in Amazon RDS, la posizione predefinita è `$ORACLE_HOME/dbs/orapw$ORACLE_SID` su Linux e UNIX e `%ORACLE_HOME%\database\PWD%ORACLE_SID%.ora` su Windows.