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 instances de base de données chiffrées et non chiffrées, les données en transit entre la source et le réplica en lecture sont chiffrées, même en cas de 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. Pour plus d’informations sur la disponibilité et les limites du chiffrement, consultez Disponibilité du chiffrement Amazon RDS et Limitations des instances données chiffrées Amazon RDS.

Amazon RDS utilise une clé AWS Key Management Service pour chiffrer ces ressources. AWS KMS combine du matériel et des logiciels sécurisés et hautement disponibles pour fournir un système de gestion de clés à l’échelle du cloud. Vous pouvez utiliser une Clé gérée par AWS ou créer des clés gérées par le client.

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é d'une clé gérée par le client, Amazon RDS utilise la Clé gérée par AWS pour votre nouvelle instance de base de données. Amazon RDS crée une Clé gérée par AWS pour Amazon RDS for votre compte AWS. Votre compte AWS dispose d'une Clé gérée par AWS pour Amazon RDS différente pour chaque région AWS.

Pour gérer les clés gérées par le client qui sont utilisées pour le chiffrement et le déchiffrement de vos ressources Amazon RDS, vous utilisez AWS Key Management Service (AWS KMS).

En utilisant AWS KMS, vous pouvez créer des clés gérées par le client de chiffrement et définir les stratégies qui contrôlent l’utilisation de ces clés gérées par le client. AWS KMS prend en charge CloudTrail afin de vous permettre d’auditer l’utilisation de la clé KMS et 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 services AWS pris en charge tels que Amazon S3, Amazon EBS et Amazon Redshift. Pour obtenir la liste des services intégrés à AWS KMS, consultez Intégration de services AWS. Quelques considérations relatives à l’utilisation des clés KMS :

  • 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 devez modifier la clé de chiffrement de votre instance de base de données, créez un instantané manuel de votre instance et activez le chiffrement lors de la copie de l’instantané. Pour plus d’informations, consultez cet article re:Post Knowledge.

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

  • Un réplica en lecture d'une instance Amazon RDS chiffrée doit également être chiffré avec la même clé KMS que l'instance de base de données principale lorsque tous deux se trouvent dans la même région AWS.

  • Si l'instance de base de données principale et le réplica en lecture se trouvent dans des régions AWS différentes, vous chiffrez le réplica en lecture à l'aide de la clé KMS correspondant à cette région AWS.

  • Vous ne pouvez pas partager un instantané chiffré à l’aide de la Clé gérée par AWS du compte AWS qui a partagé l’instantané.

  • 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, consultez Oracle Transparent Data Encryption ou Prise en charge de Transparent Data Encryption dans SQL Server.

Important

Amazon RDS perd l’accès à la clé KMS pour une instance de base de données lorsque vous désactivez la clé KMS. Si vous perdez l’accès à une clé KMS, l’instance de base de données cryptée passe à l’état inaccessible-encryption-credentials-recoverable 2 heures après la détection dans les instances où les sauvegardes sont activées. L’instance de base de données reste dans cet état pendant sept jours, pendant lesquels 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 restaurer l’instance de base de données, activez la clé KMS, puis redémarrez l’instance. Activez la clé KMS depuis la AWS Management Console, l’AWS CLI, ou l’API RDS. Redémarrez l'instance de base de données à l'aide de la commande AWS CLI start-db-instance ou la AWS Management Console.

L’état inaccessible-encryption-credentials-recoverable s’applique uniquement aux instances de base de données qui peuvent être interrompues. Cet état récupérable ne s’applique pas aux instances qui ne peuvent pas s’arrêter, telles que les réplicas en lecture et les instances contenant des réplicas en lecture. Pour plus d’informations, consultez Limites liées à l'arrêt de votre instance de base de données.

Si l’instance de base de données n’est pas récupérée dans un délai de sept jours, elle passe à l’état inaccessible-encryption-credentials 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 dispose a accès à la clé KMS, puis génère une autorisation à partir de cette clé KMS, qu’il utilisera 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 de l’instantané sans spécifier de clé KMS différente, la nouvelle instance utilise la clé KMS du compte source. Le fait de révoquer l’accès à la clé après la création de l’instance de base de données n’a aucun impact sur cette instance. Toutefois, la désactivation de la clé affecte toutes les instances de base de données chiffrées avec cette clé. Afin d’éviter cette situation, indiquez une clé différente au moment de la copie de l’instantané.

Les instances de base de données dont les sauvegardes sont désactivées restent disponibles jusqu’à ce que les volumes soient détachés de l’hôte lors de la modification d’une instance ou d’une restauration. RDS place les instances dans l’état inaccessible-encryption-credentials-recoverable ou inaccessible-encryption-credentials, selon le cas.

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

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, consultez Création d'une instance de base de données Amazon RDS.

Si vous utilisez la commande d'AWS CLI 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.

Si vous utilisez la commande AWS CLI create-db-instance pour créer une instance de base de données chiffrée avec une clé gérée par le client, définissez le paramètre --kms-key-id 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.

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

Vous pouvez utiliser la AWS Management Console, l'AWS CLI ou l'API 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 AWS Management Console et ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/.

  2. Dans la panneau de navigation, choisissez 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 la 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.

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

Chiffrement au niveau de la couche physique

Toutes les données circulant à travers les Régions AWS sur le réseau global AWS sont automatiquement chiffrées au niveau de la couche physique avant qu’elles ne quittent les installations sécurisées AWS. Tout le trafic entre zones de disponibilité est chiffré. Des couches supplémentaires de chiffrement, y compris celles présentées dans cette section, peuvent fournir des protections supplémentaires.

Chiffrement assuré par un appairage Amazon VPC et un appairage entre régions de la passerelle de transit

Tout le trafic entre régions qui utilise un appairage VPC Amazon et Transit Gateway est automatiquement chiffré en bloc quand il quitte une région. Une couche supplémentaire de chiffrement est automatiquement fournie au niveau de la couche physique pour tout le trafic avant que celui-ci quitte les installations sécurisées AWS.

Chiffrement entre instances

AWS assure 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

    • Optimisé pour la mémoire : R6i, R6id, R6in, R6idn, R7g, X2idn, X2iedn, X2iezn

  • Les instances se trouvent dans la même 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 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 pour Amazon RDS.

  • 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éplicas en lecture chiffrés doivent être chiffrés avec la même clé KMS que l'instance de base de données source lorsque tous deux se trouvent dans la même région AWS.

  • 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 région AWS à une autre, vous devez spécifier la clé KMS de la région AWS de destination. En effet, les clés KMS sont spécifiques à la régionAWS 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éveloppeurAWS 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.