

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Sécurité dans Amazon RDS Custom
<a name="custom-security"></a>

Familiarisez-vous avec sur les considérations de sécurité pour RDS Custom.

Pour plus d’informations sur la sécurité pour RDS Custom, consultez les rubriques suivantes.
+ [Sécurisation de votre compartiment Amazon S3 contre le problème de l'adjoint confus](custom-security.confused-deputy.md)
+ [Rotation des informations d'identification RDS Custom for Oracle pour les programmes de conformité](custom-security.cred-rotation.md)

## Comment RDS Custom gère les tâches en votre nom en toute sécurité
<a name="custom-security.security-tools"></a>

RDS Custom utilise les outils et techniques suivants pour exécuter en toute sécurité des opérations en votre nom :

**AWSServiceRoleForRDSCustom rôle lié au service**  
Un *rôle lié à un service* est prédéfini par le service et inclut toutes les autorisations requises par le service pour appeler d'autres  Services AWS  en votre nom. Pour RDS Custom, `AWSServiceRoleForRDSCustom` est un rôle lié à un service, défini selon le principe du moindre privilège. RDS Custom utilise les autorisations définies dans `AmazonRDSCustomServiceRolePolicy`, qui constitue la politique attachée à ce rôle, pour effectuer la plupart des tâches de provisionnement et toutes les tâches de gestion hors hôte. Pour plus d'informations, consultez [Amazon RDSCustom ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomServiceRolePolicy.html).  
Lorsqu'il exécute des tâches sur l'hôte, RDS Custom Automation utilise les informations d'identification du rôle lié au service pour exécuter des commandes à l'aide de. AWS Systems Manager Vous pouvez auditer l'historique des commandes via l'historique des commandes de Systems Manager et  AWS CloudTrail. Systems Manager se connecte à votre instance de base de données RDS Custom à l'aide de votre configuration réseau. Pour de plus amples informations, veuillez consulter [Étape 4 : configuration d’IAM pour RDS Custom for Oracle](custom-setup-orcl.md#custom-setup-orcl.iam-vpc).

**Informations d'identification IAM temporaires**  
Lors du provisionnement ou de la suppression de ressources, RDS Custom utilise parfois des informations d'identification temporaires dérivées des informations d'identification du principal IAM appelant. Ces informations d'identification IAM sont limitées par les politiques IAM attachées à ce principal et expirent une fois l'opération terminée. Pour en savoir plus sur les autorisations requises pour les principaux IAM qui utilisent RDS Custom, consultez [Étape 5 : octroi des autorisations requises à votre utilisateur ou rôle IAM](custom-setup-orcl.md#custom-setup-orcl.iam-user).

**Profil d'instance Amazon EC2**  
Un profil d'instance EC2 est un conteneur pour un rôle IAM que vous pouvez utiliser pour transmettre les informations liées au rôle à une instance EC2. Une instance EC2 sous-tend une instance de base de données RDS Custom. Vous fournissez un profil d'instance lorsque vous créez une instance de base de données RDS Custom. RDS Custom utilise les informations d'identification du profil d'instance EC2 lorsqu'il exécute des tâches de gestion basées sur l'hôte, telles que des sauvegardes. Pour de plus amples informations, veuillez consulter [Créer manuellement votre profil d'instance et de rôle IAM](custom-setup-orcl.md#custom-setup-orcl.iam).

**Paire de clés SSH**  
Quand RDS Custom crée l'instance EC2 qui sous-tend une instance de base de données, il crée une paire de clés SSH en votre nom. Le nom de la clé inclut le préfixe `do-not-delete-rds-custom-ssh-privatekey-db-` ou `rds-custom!oracle-do-not-delete-db_resource_id-uuid-ssh-privatekey`. AWS Secrets Manager stocke cette clé privée SSH en tant que secret dans votre Compte AWS. Amazon RDS ne stocke pas ces informations d'identification, n'y accède pas et ne les utilise pas. Pour plus d'informations, consultez [Paires de clés Amazon EC2 et instances Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).

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

Les instances de base de données RDS Custom ne prennent pas en charge les certificats SSL gérés. Si vous souhaitez déployer SSL, vous pouvez gérer vous-même les certificats SSL dans votre propre portefeuille et créer un écouteur SSL pour sécuriser les connexions entre la base de données cliente ou pour la réplication de base de données. Pour en savoir plus, consultez [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) dans la documentation Oracle Database.

# Sécurisation de votre compartiment Amazon S3 contre le problème de l'adjoint confus
<a name="custom-security.confused-deputy"></a>

Lorsque vous créez une instance Amazon RDS Custom for Oracle CEV (custom engine version) ou une instance de base de données RDS Custom for SQL Server, RDS Custom crée un compartiment Amazon S3. Le compartiment S3 stocke des fichiers tels que les artefacts CEV, les journaux de reprise (transactions), les éléments de configuration du périmètre de support et les journaux AWS CloudTrail .

Vous pouvez rendre ces compartiments S3 plus sûrs en utilisant les clés de contexte de condition globale pour éviter le *problème de l'adjoint confus*. Pour de plus amples informations, veuillez consulter [Prévention des problèmes d'adjoint confus entre services](cross-service-confused-deputy-prevention.md).

L'exemple suivant de RDS Custom pour Oracle montre l'utilisation de `aws:SourceArn` et des clés de contexte de condition globale `aws:SourceAccount` dans une politique de compartiment S3. Pour RDS Custom for Oracle, assurez-vous d'inclure les noms des ressources Amazon (ARNs) pour les instances de base de données CEVs et les instances de base de données. Pour RDS Custom for SQL Server, assurez-vous d'inclure l'ARN pour les instances de base de données.

```
...
{
  "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"
    }
  }
},
...
```

# Rotation des informations d'identification RDS Custom for Oracle pour les programmes de conformité
<a name="custom-security.cred-rotation"></a>

Certains programmes de conformité exigent que les informations d'identification des utilisateurs de la base de données soient modifiées régulièrement, par exemple tous les 90 jours. RDS Custom for Oracle alterne automatiquement les informations d'identification de certains utilisateurs de la base de données prédéfinis.

**Topics**
+ [Rotation automatique des informations d'identification pour les utilisateurs prédéfinis](#custom-security.cred-rotation.auto)
+ [Instructions pour la rotation des informations d'identification des utilisateurs](#custom-security.cred-rotation.guidelines)
+ [Rotation manuelle des informations d'identification des utilisateurs](#custom-security.cred-rotation.manual)

## Rotation automatique des informations d'identification pour les utilisateurs prédéfinis
<a name="custom-security.cred-rotation.auto"></a>

Si votre instance de base de données RDS Custom for Oracle est hébergée sur Amazon RDS, les informations d'identification des utilisateurs Oracle prédéfinis suivants changent automatiquement tous les 30 jours. Les informations d'identification des utilisateurs précédents se trouvent dans AWS Secrets Manager.


| Utilisateur de la base de donnée | Créé par | Versions de moteur prises en charge | Remarques | 
| --- | --- | --- | --- | 
|  `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  | Les noms d'utilisateur dotés d'un C\$1\$1 préfixe n'existent que dans CDBs. Pour plus d'informations sur l'architecture [Amazon RDS Custom for Oracle CDBs, consultez la section Présentation de l'architecture Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.overview). | 
|  `RDS_DATAGUARD`  |  RDS  |  custom-oracle-ee  | Cet utilisateur existe uniquement dans les réplicas en lecture, les bases de données sources pour les réplicas en lecture et les bases de données que vous avez migrées physiquement vers RDS Custom à l'aide d'Oracle Data Guard. | 
|  `C##RDS_DATAGUARD`  |  RDS  |  custom-oracle-ee-cdb  | Cet utilisateur existe uniquement dans les réplicas en lecture, les bases de données sources pour les réplicas en lecture et les bases de données que vous avez migrées physiquement vers RDS Custom à l'aide d'Oracle Data Guard. Les noms d'utilisateur dotés d'un C\$1\$1 préfixe n'existent que dans CDBs. Pour plus d'informations sur l'architecture [Amazon RDS Custom for Oracle CDBs, consultez la section Présentation de l'architecture Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.overview). | 

Une instance de base de données RDS Custom for Oracle que vous avez configurée manuellement en tant que base de données de secours fera exception à la rotation automatique des informations d'identification. RDS n'alterne les informations d'identification que pour les réplicas en lecture que vous avez créés à l'aide de la commande d'interface de ligne de commande `create-db-instance-read-replica` ou de l'API `CreateDBInstanceReadReplica`.

## Instructions pour la rotation des informations d'identification des utilisateurs
<a name="custom-security.cred-rotation.guidelines"></a>

Pour vous assurer que vos informations d'identification changent en fonction de votre programme de conformité, tenez compte des instructions suivantes :
+ Si votre instance de base de données alterne automatiquement les informations d'identification, ne modifiez ni ne supprimez manuellement un secret, un fichier de mots de passe ou un mot de passe pour les utilisateurs répertoriés dans [Utilisateurs Oracle prédéfinis](#auto-rotation). Sinon, RDS Custom risque de placer votre instance de base de données en dehors du périmètre de support, ce qui suspend la rotation automatique.
+ L'utilisateur principal RDS n'est pas prédéfini. Vous êtes donc responsable de modifier le mot de passe manuellement ou de configurer la rotation automatique dans Secrets Manager. Pour plus d'informations, consultez [Rotation AWS Secrets Manager des secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html).

## Rotation manuelle des informations d'identification des utilisateurs
<a name="custom-security.cred-rotation.manual"></a>

Pour les catégories de bases de données suivantes, RDS ne modifie pas automatiquement les informations d'identification des utilisateurs répertoriés dans [Utilisateurs Oracle prédéfinis](#auto-rotation) :
+ Base de données que vous avez configurée manuellement pour fonctionner en tant que base de données de secours.
+ Bases de données sur site.
+ Instance de base de données située en dehors du périmètre de support ou dans un état dans lequel l'automatisation personnalisée RDS ne peut pas s'exécuter. Dans ce cas, RDS Custom n'effectue pas non plus une rotation des clés.

Si votre base de données appartient à l'une des catégories précédentes, vous devez effectuer une rotation manuelle de vos informations d'identification utilisateur.

**Pour effectuer une rotation manuelle des informations d'identification utilisateur pour une instance de base de données**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans **Dases de données**, assurez-vous que RDS ne sauvegarde pas actuellement votre instance de base de données ou n'effectue aucune opération telle que la configuration de la haute disponibilité.

1. Sur la page de détails de la base de données, choisissez **Configuration** et notez l'ID de ressource de l'instance de base de données. Vous pouvez également utiliser la AWS CLI commande`describe-db-instances`.

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Dans le champ de recherche, entrez l’ID de ressource de votre base de données et recherchez un secret en utilisant l’une des conventions de dénomination suivantes :

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

   Ce secret enregistre le mot de passe pour `RDSADMIN`, `SYS` et `SYSTEM`. Les exemples de clés suivants concernent l’instance de base de données avec l’ID de ressource `db-ABCDEFG12HIJKLNMNOPQRS3TUVWX` et l’UUID`123456` :

   ```
   do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
   rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
   ```
**Important**  
Si votre instance de base de données est un réplica en lecture et utilise le moteur `custom-oracle-ee-cdb`, deux secrets existent avec le suffixe `db-resource_id-uuid`, l'un pour l'utilisateur principal et l'autre pour `RDSADMIN`, `SYS` et `SYSTEM`. Pour trouver le secret correct, exécutez la commande suivante sur l'hôte :  

   ```
   cat /opt/aws/rdscustomagent/config/database_metadata.json | python3 -c "import sys,json; print(json.load(sys.stdin)['dbMonitoringUserPassword'])"
   ```
L'attribut `dbMonitoringUserPassword` indique le secret pour `RDSADMIN`, `SYS` et `SYSTEM`.

1. Si votre instance de base de données existe dans une configuration Oracle Data Guard, recherchez un secret en utilisant l’une des conventions de dénomination suivantes :

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

   Ce secret enregistre le mot de passe pour `RDS_DATAGUARD`. Les exemples de clés suivants concernent l’instance de base de données avec l’ID de ressource de base de données `db-ABCDEFG12HIJKLNMNOPQRS3TUVWX` et l’UUID **789012** :

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

1. Pour tous les utilisateurs de base de données répertoriés dans [Utilisateurs Oracle prédéfinis](#auto-rotation), mettez à jour les mots de passe en suivant les instructions de la [section Modifier un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html).

1. Si votre base de données est une base de données autonome ou une base de données source dans une configuration Oracle Data Guard :

   1. Démarrez votre client Oracle SQL et connectez-vous en tant que `SYS`.

   1. Exécutez une instruction SQL sous la forme suivante pour chaque utilisateur de base de données répertorié dans [Utilisateurs Oracle prédéfinis](#auto-rotation) :

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

      Par exemple, si le nouveau mot de passe pour `RDSADMIN` enregistré dans Secrets Manager est `pwd-123`, exécutez l'instruction suivante :

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

1. Si votre instance de base de données exécute Oracle Database 12c version 1 (12.1) et qu'elle est gérée par Oracle Data Guard, copiez manuellement le fichier de mots de passe (`orapw`) de l'instance de base de données principale vers chaque instance de base de données de secours. 

   Si votre instance de base de données est hébergée sur Amazon RDS, l'emplacement du fichier de mots de passe est `/rdsdbdata/config/orapw`. Pour les bases de données qui ne sont pas hébergées dans Amazon RDS, l'emplacement par défaut est `$ORACLE_HOME/dbs/orapw$ORACLE_SID` sous Linux et UNIX, et `%ORACLE_HOME%\database\PWD%ORACLE_SID%.ora` sous Windows.