Chiffrement des ressources Amazon RDS - Amazon Relational Database Service

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.

Chiffrement des ressources Amazon RDS

Amazon RDS peut chiffrer vos Amazon RDS clusters d'instances. Les données chiffrées au repos incluent le stockage sous-jacent pour les instances de base de données, les sauvegardes automatiques, les réplicas en lecture et les instantanés.

Les instances de base de données chiffrée Amazon RDS utilisent l'algorithme de chiffrement AES-256 standard pour chiffrer vos données sur le serveur qui héberge vos instances de base de données Amazon RDS. Une fois que vos données ont été chiffrées, Amazon RDS traite l'authentification de l'accès et le déchiffrement de vos données de façon transparente, avec un impact minimal sur les performances. Vous n'avez pas besoin de modifier vos applications clientes de base de données pour utiliser le chiffrement.

Note

Pour les d'instances de base de données chiffrés et non chiffrés, les données en transit entre la source et les répliques en lecture sont chiffrées, même lors de la réplication entre régions. AWS

Présentation du chiffrement des ressources Amazon RDS

Les instances de base de données chiffrée Amazon RDS fournissent une couche supplémentaire de protection des données en sécurisant vos données contre tout accès non autorisé au stockage sous-jacent. Vous pouvez utiliser le chiffrement Amazon RDS for renforcer la protection des données de vos applications déployées dans le cloud et pour satisfaire aux exigences de conformité pour le chiffrement au repos.

Pour une instance de base de données chiffrée Amazon RDS, l'ensemble des journaux, sauvegardes et instantanés sont chiffrés. Amazon RDS utilise une AWS Key Management Service clé pour chiffrer ces ressources. Pour plus d'informations sur les clés KMS, consultez AWS KMS keys dans le Guide du développeur AWS Key Management Service et AWS KMS key gestion. Si vous copiez un instantané chiffré, vous pouvez utiliser une clé KMS différente pour chiffrer l'instantané cible que celle utilisée pour chiffrer l'instantané source.

Une réplique en lecture d'une instance cryptée Amazon RDS doit être chiffrée à l'aide de la même clé KMS que l'instance de base de données principale lorsque les deux se trouvent dans la même AWS région. Si l'instance de base de données principale et la réplique en lecture se trouvent dans des AWS régions différentes, vous chiffrez la réplique en lecture à l'aide de la clé KMS de cette AWS région.

Vous pouvez utiliser un Clé gérée par AWS, ou vous pouvez créer des clés gérées par le client. Pour gérer les clés gérées par le client utilisées pour le chiffrement et le déchiffrement de vos ressources Amazon RDS, vous utilisez AWS Key Management Service (AWS KMS). AWS KMS combine du matériel et des logiciels sécurisés et hautement disponibles pour fournir un système de gestion des clés à l'échelle du cloud. À l'aide de AWS KMS, vous pouvez créer des clés gérées par le client et définir les politiques qui contrôlent la manière dont ces clés gérées par le client peuvent être utilisées. AWS KMS prend en charge CloudTrail, afin que vous puissiez auditer l'utilisation des clés KMS afin de vérifier que les clés gérées par le client sont utilisées de manière appropriée. Vous pouvez utiliser vos clés gérées par le client avec Amazon Aurora et les AWS services pris en charge tels qu'Amazon S3, Amazon EBS et Amazon Redshift. Pour obtenir la liste des services intégrés AWS KMS, consultez la section Intégration des AWS services.

Amazon RDS prend également en charge le chiffrement d'une instance de base de données Oracle ou SQL Server à l'aide du chiffrement TDE (Transparent Data Encryption). Le chiffrement TDE peut être utilisé avec le chiffrement RDS au repos, bien que l'utilisation simultanée de ces deux chiffrements puisse affecter quelque peu les performances de votre base de données. Vous devez gérer des clés différentes pour chaque méthode de chiffrement. Pour plus d'informations sur TDE, veuillez consulter Oracle Transparent Data Encryption ou Support pour le chiffrement transparent des données sur le SQL serveur.

Chiffrement d'une instance de base de données

Pour chiffrer une nouvelle instance de base de données, sélectionnez Enable encryption (Activer le chiffrement) dans la console Amazon RDS. Pour plus d'informations sur la création d'une instance de base de données, veuillez consulter Création d'une instance de base de données Amazon RDS.

Si vous utilisez la AWS CLI commande create-db-instance pour créer une instance de base de données chiffrée, définissez le paramètre. --storage-encrypted Si vous utilisez l'opération d'API CreateDBInstance, affectez au paramètre StorageEncrypted la valeur true.

Lorsque vous créez une instance de base de données chiffrée, vous pouvez choisir une clé gérée par le client ou la Clé gérée par AWS pour Amazon RDS pour chiffrer votre instance de base de données. Si vous ne spécifiez pas l'identifiant de clé pour une clé gérée par le client, Amazon RDS l'utilise Clé gérée par AWS pour votre nouvelle instance de base de données. Amazon RDS crée un Clé gérée par AWS pour Amazon RDS pour votre AWS compte. Votre AWS compte possède un identifiant Amazon RDS différent Clé gérée par AWS pour chaque AWS région.

Pour plus d'informations sur les clés KMS, consultez AWS KMS keys dans le Guide du développeur AWS Key Management Service .

Une fois que vous avez créé une instance de base de données chiffrée, vous ne pouvez pas modifier la clé KMS utilisée par cette instance de base de données. Vous devez donc prendre soin de déterminer vos besoins en termes de clés KMS avant de créer votre instance de base de données chiffrée.

Si vous utilisez la AWS CLI create-db-instance commande pour créer une instance de base de données cryptée avec une clé gérée par le client, définissez le --kms-key-id paramètre sur n'importe quel identifiant de clé pour la clé KMS. Si vous utilisez l'opération Amazon RDS de l'API CreateDBInstance, définissez le paramètre KmsKeyId sur n'importe quel identifiant de clé pour la clé KMS. Pour utiliser une clé gérée par le client dans un autre compte AWS , spécifiez l'ARN de clé ou ARN d'alias.

Important

Amazon RDS peut perdre l'accès à la clé KMS pour une instance de base de données lorsque vous désactivez la clé KMS. Dans ces cas, l'instance de base de données cryptée passe rapidement à inaccessible-encryption-credentials-recoverable l'état. L'instance de base de données reste dans cet état pendant sept jours, au cours desquels elle est arrêtée. Les appels d'API effectués vers l'instance de base de données pendant cette période risquent d'échouer. Pour récupérer l'instance de base de données, activez la clé KMS et redémarrez cette instance de base de données. Activez la clé KMS à partir du AWS Management Console. Redémarrez l'instance de base de données à l'aide de la AWS CLI commande start-db-instance ou. AWS Management Console

Si l'instance de base de données n'est pas récupérée dans les sept jours, elle passe à inaccessible-encryption-credentials l'état terminal. Dans cet état, l'instance de base de données n'est plus utilisable et vous ne pouvez la restaurer qu'à partir d'une sauvegarde. Nous vous recommandons vivement de toujours activer les sauvegardes pour les instances de base de données chiffrées afin de vous prémunir contre la perte de données chiffrées dans vos bases de données.

Lors de la création d'une instance de base de données, Amazon RDS vérifie si le principal appelant a accès à la clé KMS et génère une autorisation à partir de la clé KMS qu'il utilise pendant toute la durée de vie de l'instance de base de données. La révocation de l'accès du principal appelant à la clé KMS n'affecte pas la base de données en cours d'exécution. Lorsque vous utilisez des clés KMS dans des scénarios entre comptes, tels que la copie d'un instantané sur un autre compte, la clé KMS doit être partagée avec l'autre compte. Si vous créez une instance de base de données à partir du snapshot sans spécifier de clé KMS différente, la nouvelle instance utilise la clé KMS du compte source. La révocation de l'accès à la clé après avoir créé l'instance de base de données n'affecte pas l'instance. Cependant, la désactivation de la clé a un impact sur toutes les instances de base de données chiffrées avec cette clé. Pour éviter cela, spécifiez une autre clé lors de l'opération de copie instantanée.

Détermination si le chiffrement est activé pour une instance de base de données

Vous pouvez utiliser l'API AWS Management Console AWS CLI, ou RDS pour déterminer si le chiffrement au repos est activé pour une instance de base de données.

Pour déterminer si le chiffrement au repos est activé pour une instance de base de données
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Databases (Bases de données).

  3. Sélectionnez le nom de l'instance de base de données que vous souhaitez vérifier pour afficher ses détails.

  4. Cliquez sur l'onglet Configuration et cochez la case Encryption (Chiffrement) sous Storage (Stockage).

    Il indique Enabled (Activé) ou Not enabled (Non activé).

    Vérification du chiffrement au repos pour une instance de base de données

Pour déterminer si le chiffrement au repos est activé pour une instance de base de données à l'aide de AWS CLI, appelez la commande describe-db-instances avec l'option suivante :

  • --db-instance-identifier – Nom de l'instance de base de données.

L'exemple suivant utilise une requête pour renvoyer TRUE ou FALSE concernant le chiffrement au repos pour l'instance de base de données mydb.

Exemple
aws rds describe-db-instances --db-instance-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text

Pour déterminer si le chiffrement au repos est activé pour une instance de base de données à l'aide de l'API Amazon RDS, appelez l'opération DescribeDBInstances avec le paramètre suivant :

  • DBInstanceIdentifier – Nom de l'instance de base de données.

Disponibilité du chiffrement Amazon RDS

Le chiffrement Amazon RDS est actuellement disponible pour tous les moteurs de base de données et types de stockage, à l'exception de SQL Server Express Edition.

Le chiffrement Amazon RDS est disponible pour la plupart des classes d'instance de base de données. Le tableau suivant répertorie les classes d'instance de base de données qui ne prennent pas en charge le chiffrement Amazon RDS :

Type d’instance Classe d'instance

Polyvalent (M1)

db.m1.small

db.m1.medium

db.m1.large

db.m1.xlarge

Mémoire optimisée (M2)

db.m2.xlarge

db.m2.2xlarge

db.m2.4xlarge

Capacité extensible (T2)

db.t2.micro

Chiffrement en transit

AWS fournit une connectivité sécurisée et privée entre les instances de base de données de tous types. En outre, certains types d’instances utilisent les capacités de déchargement du matériel du système Nitro sous-jacent pour chiffrer automatiquement le trafic en transit entre instances. Ce chiffrement utilise des algorithmes de chiffrement authentifié avec données associées (AEAD), avec un chiffrement 256 bits. Il n’y a aucun impact sur les performances du réseau. Pour prendre en charge ce chiffrement supplémentaire du trafic en transit entre les instances, les exigences suivantes doivent être satisfaites :

  • Les instances utilisent les types d’instance suivants :

    • Usage général : M6i, M6id, M6in, M6idn, M7g

    • Mémoire optimisée : R6i, R6id, R6in, R6idn, R7g, X2idn, X2iEDN, X2ieZN

  • Les instances sont identiques Région AWS.

  • Les instances se trouvent dans le même VPC ou dans des VPC appairés, et le trafic ne passe pas par un service ou un périphérique de réseau virtuel, tel qu’un équilibreur de charge ou une passerelle de transit.

Limitations des instances de base de données chiffrées Amazon RDS

Les limitations suivantes existent pour les instances de base de données chiffrées Amazon RDS :

  • Vous ne pouvez chiffrer une instance de base de données Amazon RDS que lorsque vous la créez, et non après sa création.

    Cependant, parce que vous pouvez chiffrer une copie d'un instantané non chiffré, vous pouvez ajouter le chiffrement efficacement à une instance de base de données non chiffrée. Autrement dit, vous pouvez créer un instantané de votre instance de base de données et ensuite créer une copie chiffrée de l'instantané. Vous pouvez ensuite restaurer une instance de base de données à partir de l'instantané chiffré et vous aurez une copie chiffrée de votre instance de base de données d'origine. Pour plus d’informations, consultez Copie d'un instantané de base de données.

  • Vous ne pouvez pas désactiver le chiffrement d'un(e) cluster de bases de données chiffrées.

  • Vous ne pouvez pas créer d'instantané chiffré de cluster d'instances.

  • Un instantané d'instance de bases de données chiffrées doit être chiffré à l'aide de la même clé KMS que l'instance de bases de données.

  • Vous ne pouvez pas avoir un réplica en lecture chiffré d'une instance de base de données non chiffrée ni un réplica en lecture non chiffré d'une instance de base de données chiffrée.

  • Les répliques de lecture chiffrées doivent être chiffrées avec la même clé KMS que l'instance de base de données source lorsque les deux se trouvent dans la même AWS région.

  • Vous ne pouvez pas restaurer un instantané non chiffré ou une sauvegarde non chiffrée vers une instance de base de données chiffrée.

  • Pour copier un instantané chiffré d'une AWS région à une autre, vous devez spécifier la clé KMS dans la AWS région de destination. Cela est dû au fait que les clés KMS sont spécifiques à la AWS région dans laquelle elles sont créées.

    L'instantané source reste chiffré pendant tout le processus de copie. Amazon RDS utilise un chiffrement d'enveloppe pour protéger les données pendant le processus de copie. Pour plus d'informations sur le chiffrement d'enveloppe, consultez Chiffrement d'enveloppe dans le Guide du développeur AWS Key Management Service .

  • Vous ne pouvez pas déchiffrer un cluster de bases de données chiffrées. Vous pouvez cependant exporter des données à partir d'un cluster de bases de données et importer les données dans un cluster de bases de données non chiffrées.