View a markdown version of this page

Chiffrement Amazon RDS resources - 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 Amazon RDS resources

Amazon RDS peut chiffrer vos instances de base de données Amazon RDS. Les données chiffrées au repos incluent le stockage sous-jacent pour les instances de base de données, ses journaux, ses sauvegardes automatisées, ses répliques de lecture et ses instantanés.

Les instances de base de données chiffrées Amazon RDS utilisent l'algorithme de AES-256 chiffrement standard du secteur pour chiffrer vos données sur le serveur qui héberge vos instances de base de données Amazon RDS.

Une fois vos données chiffrées, Amazon RDS gère l'authentification de l'accès et le déchiffrement de vos données de manière 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 lues 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. Pour plus d’informations sur la disponibilité et les limites du chiffrement, consultez Disponibilité de Amazon RDS chiffrement et Limites de Amazon RDS base de données cryptée Instances.

Amazon RDS utilise une AWS Key Management Service clé 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 des clés adapté au cloud. Vous pouvez utiliser un Clé gérée par AWS, ou vous pouvez 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é 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 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).

À 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 l'utilisation de ces clés gérées par le client. 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. 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.

    Vous pouvez également utiliser un blue/green déploiement pour créer un environnement écologique chiffré avec une clé KMS différente de celle de l'environnement bleu. Utilisez ce déploiement pour chiffrer une instance de base de données non chiffrée ou pour modifier la clé KMS d'une instance de base de données chiffrée. Pour plus d'informations sur les blue/green déploiements, consultezLimites et considérations relatives à Amazon RDS blue/green déploiements.

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

  • Vous pouvez chiffrer une réplique en lecture d'une instance de base de données cryptée Amazon RDS avec la même clé KMS que l'instance de base de données source ou avec une clé KMS différente. La réplique lue peut se trouver dans la même AWS région que la source ou dans une région différente. Pour utiliser une autre clé KMS, spécifiez-la avec le KmsKeyId paramètre de l'opération d'CreateDBInstanceReadReplicaAPI ou avec l'--kms-key-idoption de la commande AWS CLI create-db-instance-read-replica. Si vous ne spécifiez pas de clé KMS, la réplique en lecture utilise la même clé KMS que l'instance de base de données source.

  • Les clés KMS sont spécifiques à la AWS région dans laquelle elles sont créées. Pour une réplique en lecture dans une autre AWS région, spécifiez une clé KMS dans la région de destination.

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

  • 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 l'API Console de gestion AWS AWS CLI, ou RDS. Redémarrez l'instance de base de données à l'aide de la AWS CLI commande start-db-instance ou. Console de gestion AWS

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'un instantané ou d'une sauvegarde de base 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.

Une instance de base de données dans inaccessible-encryption-credentials cet état ne pouvant pas être récupérée sur place, Amazon RDS crée automatiquement un instantané de base de données final lorsqu'une instance de base de données passe à cet état. Ceci est similaire au cliché final que vous pouvez demander lorsque vous supprimez une instance de base de données.

Le snapshot capture les données écrites après votre dernière sauvegarde automatique. Cela inclut les écritures effectuées alors que la clé KMS était inaccessible. Vous pouvez utiliser le snapshot pour récupérer des données qui seraient autrement perdues. Amazon RDS le crée sous la forme d'un instantané de base de données manuel nommérds-final:db-instance-identifier-resource-id, et il apparaît à côté de vos autres instantanés de base de données.

L'instantané final est conservé jusqu'à ce que vous le supprimiez, et des frais de stockage de sauvegarde sont facturés au même titre qu'un instantané manuel de base de données. Comme les frais continuent jusqu'à ce que vous le supprimiez, supprimez le cliché dès que vous n'en avez plus besoin. Pour plus d'informations, consultez Tarification d'Amazon RDS.

Amazon RDS tente de créer un instantané final lorsqu'une instance de base de données passe à l'inaccessible-encryption-credentialsétat dans l'une des situations suivantes :

  • La clé KMS devient inaccessible et l'instance de base de données ne peut pas être arrêtée. Elle passe donc directement à l'inaccessible-encryption-credentialsétat. Cette situation inclut les répliques de lecture et les instances de base de données qui ont des répliques de lecture.

  • L'instance de base de données reste dans inaccessible-encryption-credentials-recoverable cet état pendant sept jours sans être récupérée.

  • L'instance de base de données nécessite une opération qu'Amazon RDS ne peut pas effectuer car la clé KMS est inaccessible. Les exemples incluent le remplacement de l'hôte sous-jacent et le dimensionnement du stockage.

Amazon RDS crée l'instantané final uniquement lorsque toutes les conditions suivantes sont vraies pour l'instance de base de données :

  • Des volumes de données sont attachés à l'instance de base de données. Une instance de base de données sans stockage attaché, telle qu'une instance qui a échoué lors de la création ou qui est déjà en cours de suppression, n'a aucune donnée à capturer.

  • L'instance de base de données n'est pas membre d'un Multi-AZ cluster de base de données ou d'un cluster de base de données Aurora. Ils utilisent des sauvegardes au niveau du cluster plutôt que des instantanés d'instance individuels.

  • Les données de l'instance de base de données sont complètes et ne changent pas. Amazon RDS ne crée pas d'instantané final lorsqu'une instance de base de données se trouve dans l'un des états suivants :

    • En cours de création

    • En cours de restauration à partir d'un instantané ou d'une sauvegarde de base de données

    • En cours de migration

    • Faire rejouer les journaux de transactions

    • Application d'un correctif hors ligne dans le cadre d'une restauration

    • En cours de préparation ou de configuration en tant que réplique en lecture

Les sauvegardes automatisées n'ont pas besoin d'être activées. Amazon RDS crée également un instantané final pour les instances de base de données sur AWS Outposts et pour les instances de base de données situées dans d'autres états terminaux, à condition que leur stockage soit intact.

Pour effectuer une restauration à partir de l'instantané final, réactivez d'abord la clé KMS, car l'instantané est chiffré avec la même clé que l'instance de base de données source. Pour plus d’informations, consultez AWS KMS key gestion. Restaurez ensuite le snapshot comme vous le feriez pour n'importe quel autre snapshot de base de données. Pour la liste complète des paramètres, voir restore-db-instance-from-db-snapshot dans le manuel Command Reference.AWS CLI

Exemple Restaurer une instance de base de données à partir du snapshot de base de données final

Pour Linux, macOS ou Unix :

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier mydb-restored \ --db-snapshot-identifier rds-final:mydb-db-abcdefghijklmnop

Pour Windows :

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier mydb-restored ^ --db-snapshot-identifier rds-final:mydb-db-abcdefghijklmnop

Bien que les sauvegardes automatisées ne soient pas nécessaires, activez-les pour les instances de base de données chiffrées afin que la restauration instantanée soit disponible en plus du snapshot final.

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.

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

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 AWS compte, spécifiez l'ARN de la clé ou l'alias ARN.

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

Vous pouvez utiliser l'API Console de gestion AWS 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 Console de gestion AWS et ouvrez-la à https://console.aws.amazon.com/rds/l'adresse.

  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 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é de Amazon RDS chiffrement

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 Régions AWS sur le réseau AWS mondial sont automatiquement cryptées au niveau de la couche physique avant de quitter les installations AWS sécurisées. 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 fourni par le peering Amazon VPC et le peering interrégional Transit Gateway

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 de cryptage supplémentaire est automatiquement fournie au niveau de la couche physique pour tout le trafic avant qu'il ne quitte les installations AWS sécurisées.

Chiffrement entre les instances

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

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

Limites de Amazon RDS base de données cryptée Instances

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’une instance de base de données chiffrée.

  • Vous ne pouvez pas créer un instantané chiffré d'une instance de base de données non chiffrée.

  • 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 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 chiffrées. Vous pouvez cependant exporter des données à partir d’un cluster et importer les données dans un cluster non chiffrées.