Pour chiffrer les données avec des clés gérées par le client

S’APPLIQUE À : Azure Cosmos DB for PostgreSQL (avec l’extension de base de données Citus pour PostgreSQL)

Les données stockées dans votre cluster Azure Cosmos DB for PostgreSQL sont chiffrées automatiquement et de façon fluide avec des clés managées par Microsoft. Ces clés sont appelées clés managées par le service. Par défaut, Azure Cosmos DB for PostgreSQL utilise le chiffrement de Stockage Azure pour chiffrer des données au repos à l’aide de clés managées par le service. Vous pouvez éventuellement choisir d’ajouter une couche de sécurité supplémentaire en activant le chiffrement avec des clés managées par le client.

Clés gérées par le service

Le service Azure Cosmos DB for PostgreSQL utilise le module de chiffrement conforme à la norme FIPS 140-2 pour chiffrer le stockage des données au repos. Toutes les données, y compris les sauvegardes et les fichiers temporaires créés lors de l'exécution des requêtes, sont chiffrées sur disque. Le service utilise le chiffrement AES 256 bits inclus dans le chiffrement de stockage Azure, et les clés sont gérées par le système. Le chiffrement de stockage est toujours activé et ne peut pas être désactivé.

Clés gérées par le client

De nombreuses organisations exigent un contrôle total de l’accès aux données à l’aide d’une clé gérée par le client (CMK). Dans Azure Cosmos DB for PostgreSQL, le chiffrement des données à l’aide de clés managées par le client vous permet d’apporter votre propre clé à la protection des données au repos. Il permet également aux organisations d'implémenter la séparation des tâches dans la gestion des clés et des données. Avec le chiffrement managé par le client, vous êtes responsable du cycle de vie des clés, des autorisations d’utilisation et de l’audit des opérations, que vous contrôlez entièrement.

Le chiffrement des données d'Azure Cosmos DB for PostgreSQL à l'aide de clés managées par le client est défini au niveau du serveur. Les données, y compris les sauvegardes, sont chiffrées sur disque. Ce chiffrement inclut les fichiers temporaires créés lors de l’exécution de requêtes. Pour un cluster donné, une clé managée par le client, appelée la clé de chiffrement de clé (KEK), est utilisée pour chiffrer la clé de chiffrement des données (DEK) du service. La KEK est une clé asymétrique stockée dans une instance d'Azure Key Vault détenue et gérée par le client.

Description
Clé de chiffrement de données (DEK) Une clé de chiffrement des données est une clé symétrique AES256 utilisée pour chiffrer une partition ou un bloc de données. Le chiffrement de chaque bloc de données avec une clé différente rend les attaques d’analyse du chiffrement plus difficiles. Le fournisseur de ressources ou l’instance d’application qui chiffre et déchiffre un bloc spécifique a besoin d’un accès aux clés de chiffrement des données. Lorsque vous remplacez une clé de chiffrement de données par une nouvelle clé, seules les données du bloc associé doivent être rechiffrées avec la nouvelle clé.
Clé de chiffrement principale (KEK) Une clé de chiffrement de clé est une clé de chiffrement utilisée pour chiffrer les clés DEK. Une KEK qui ne quitte jamais un coffre de clés permet de chiffrer et de contrôler les DEK elles-mêmes. L'entité qui a accès à la clé de chiffrement de clé peut être différente de l'entité qui a besoin de la clé de chiffrement de données. La clé de chiffrement des clés étant nécessaire pour déchiffrer les clés de chiffrement des données, la clé de chiffrement des clés est en réalité un point unique et la suppression de la clé de chiffrement des clés supprime effectivement les clés de chiffrement des données.

Notes

Azure Key Vault est un système de gestion de clés basé sur le cloud. Il est hautement disponible et fournit un stockage évolutif et sécurisé pour les clés de chiffrement RSA, éventuellement sauvegardé par les modules de sécurité matériels FIPS 140 validés (HSM). Un coffre de clés n’autorise pas l’accès direct à une clé stockée, mais offre des services de chiffrement et de déchiffrement aux entités autorisées. Un coffre de clés peut générer la clé, l'importer ou la faire transférer à partir d'un appareil HSM local.

Les DEK, chiffrées avec les KEK, sont stockées séparément. Seule une entité ayant accès à la KEK peut déchiffrer ces DEK. Pour plus d'informations, consultez Sécurité du chiffrement des données au repos..

Fonctionnement du chiffrement des données à l'aide d'une clé gérée par le client

Pour qu'un cluster utilise des clés managées par le client stockées dans Key Vault pour le chiffrement de la DEK, un administrateur Key Vault octroie les droits d'accès suivants au serveur :

Description
get Active la récupération de la partie publique et les propriétés de la clé dans le coffre de clés.
wrapKey Active le chiffrement de la DEK. La DEK chiffrée est stockée dans Azure Cosmos DB for PostgreSQL.
unwrapKey Active le déchiffrement de la DEK. Azure Cosmos DB for PostgreSQL a besoin de la DEK déchiffrée pour chiffrer/déchiffrer les données.

L'administrateur Key Vault peut également activer la journalisation des événements d'audit Key Vault afin qu'ils puissent être audités ultérieurement. Lorsque le cluster Azure Cosmos DB for PostgreSQL est configuré pour utiliser la clé managée par le client stockée dans le coffre de clés, le cluster envoie la clé de chiffrement de données au coffre de clés pour les chiffrements. Key Vault retourne la clé de chiffrement chiffrée, qui est stockée dans la base de données utilisateur. De même, le cas échéant, le serveur envoie les clés de chiffrement de données protégées au coffre de clés pour le déchiffrement. Les auditeurs peuvent utiliser Azure Monitor pour évaluer les journaux d'événements d'audit de Key Vault, si la journalisation est activée.

Screenshot of architecture of data enrcryption with customer-managed keys.

Avantages

Le chiffrement des données d’Azure Cosmos DB for PostgreSQL à l’aide de clés managées par le client offre les avantages suivants :

  • Vous contrôlez totalement l’accès aux données avec la possibilité de supprimer la clé et de rendre la base de données inaccessible.
  • Contrôle total du cycle de vie de la clé, y compris la rotation de la clé à aligner avec des stratégies d'entreprise spécifiques.
  • Gestion centralisée et organisation des clés dans Azure Key Vault.
  • Possibilité d'implémenter une séparation des tâches entre les responsables de la sécurité, les administrateurs de base de données et les administrateurs système.
  • L’activation du chiffrement n’a pas d’effet supplémentaire sur les performances avec ou sans clés managées par le client. Azure Cosmos DB for PostgreSQL s’appuie sur Stockage Azure pour le chiffrement des données dans les scénarios de clés managées par le client et managées par le service.

Étapes suivantes