Chiffrement des ressources Amazon RDS - Amazon Relational Database Service

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.

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 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 Prise en charge de Transparent Data Encryption dans SQL Server.

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 KMS key 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. 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 pouvez utiliser une Clé gérée par AWS ou 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. En utilisant AWS KMS, vous pouvez créer des clés gérées par le client de chiffrement 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 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.

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

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.

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

Important

Amazon RDS peut perdre l'accès à la clé KMS pour une instance de base de données. Par exemple, RDS perd l'accès lorsque la clé KMS est désactivée ou lorsque RDS accède à une clé KMS révoquée. Dans ce cas, l'instance de base de données chiffrée entre dans l'état inaccessible-encryption-credentials-recoverable. L'instance de base de données reste dans cet état pendant sept jours. Lorsque vous démarrez l'instance de base de données pendant cette période, elle vérifie si la clé KMS est active et récupère l'instance de base de données si c'est le cas. Redémarrez l'instance de base de données à l'aide de la commande AWS CLI start-db-instance. Actuellement, vous ne pouvez pas démarrer une instance de base de données dans cet état en utilisant la AWS Management Console.

Si l'instance de base de données n'est pas récupérée, elle passe à l'état inaccessible-encryption-credentials terminal. Dans ce cas, vous pouvez uniquement restaurer l'instance de base de données à 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.

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 à l'AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans la 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 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

Note

Le chiffrement au repos n'est pas disponible pour des instances de base de données exécutant SQL Server Express Edition.

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