Chiffrement des données dans Azure Cosmos DB

S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table

Le « chiffrement au repos » est une expression qui désigne en général le chiffrement des données stockées sur des appareils de stockage non volatile, comme des disques SSD et des disques durs (HDD). Azure Cosmos DB stocke ses bases de données primaires sur des SSD. Ses pièces jointes multimédias et ses sauvegardes sont stockées dans le Stockage Blob Azure, qui est généralement sauvegardé sur des disques durs. Avec l’apparition du chiffrement au repos pour Azure Cosmos DB, toutes vos bases de données, pièces jointes multimédias et sauvegardes sont maintenant chiffrées. Vos données sont désormais chiffrées pendant le transit (sur le réseau) et au repos (stockage non volatile), ce qui vous donne un chiffrement de bout en bout.

En tant que platform as a service (PaaS), Azure Cosmos DB est facile à utiliser. Comme toutes les données utilisateur stockées dans Azure Cosmos DB sont chiffrées au repos et lors du transport, vous n’avez aucune action à effectuer. En d’autres termes, le chiffrement au repos est « activé » par défaut. Il n’existe aucun contrôle à activer ou à désactiver. Azure Cosmos DB utilise le chiffrement AES-256 dans toutes les régions où le compte est exécuté.

Nous fournissons cette fonctionnalité dans le cadre de nos efforts pour respecter nos contrats de niveau de service en matière de disponibilité et de performances. Les données stockées dans votre compte Azure Cosmos DB sont chiffrées automatiquement et de façon fluide avec des clés gérées par Microsoft (clés gérées par le service). Vous pouvez aussi choisir d’ajouter une deuxième couche de chiffrement avec vos propres clés, comme décrit dans l’article Clés gérées par le client.

Implémentation du chiffrement au repos pour Azure Cosmos DB

Le chiffrement au repos est implémenté à l’aide de plusieurs technologies de sécurité, notamment des systèmes de stockage de clés sécurisés, des réseaux chiffrés et des API de chiffrement. Les systèmes qui déchiffrent et traitent les données doivent communiquer avec les systèmes de gestion de clés. Le schéma montre la façon dont le stockage des données chiffrées et la gestion des clés sont séparés.

Diagram that shows data storage and key management design.

Le flux de base d’une requête utilisateur est le suivant :

  • Le compte de base de données de l’utilisateur est préparé et les clés de stockage sont récupérées via une demande au fournisseur de ressources du service de gestion.
  • Un utilisateur crée une connexion à Azure Cosmos DB via le transport HTTPS/sécurisé. (Les SDK permettent de s’abstraire des détails.)
  • L’utilisateur envoie un document JSON à stocker sur la connexion sécurisée créée précédemment.
  • Le document JSON est indexé, à moins que l’utilisateur ait désactivé l’indexation.
  • Le document JSON et les données d’index sont écrits dans le stockage sécurisé.
  • Périodiquement, les données sont lues à partir du stockage sécurisé et sauvegardées dans le magasin d’objets blob chiffré d’Azure.

Forum aux questions

Trouvez des réponses aux questions fréquemment posées sur le chiffrement.

Quel est le coût supplémentaire du stockage Azure si la fonctionnalité Storage Service Encryption est activée ?

Il n’y a aucun coût supplémentaire.

Qui gère les clés de chiffrement ?

Les données stockées dans votre compte Azure Cosmos DB sont chiffrées automatiquement et de façon fluide avec des clés gérées par Microsoft à l’aide de clés gérées par le service. Vous pouvez éventuellement choisir d’ajouter une deuxième couche de chiffrement avec des clés gérées par vos soins à l’aide de clés gérées par le client.

À quelle fréquence les clés de chiffrement tournent-elles ?

Microsoft a un ensemble de règles internes pour la rotation des clés de chiffrement, qui sont suivies par Azure Cosmos DB. Les règles spécifiques ne sont pas publiées. Microsoft publie le Security Development Lifecycle, qui est vu comme un sous-ensemble de règles internes et qui contient des meilleures pratiques utiles pour les développeurs.

Puis-je utiliser mes propres clés de chiffrement ?

Oui, cette fonctionnalité est disponible pour les nouveaux comptes Azure Cosmos DB. Elle doit être déployée au moment de la création du compte. Pour plus d’informations, consultez le document clés gérées par le client.

Avertissement

Les noms de champs suivants sont réservés sur les tables d’API Cassandra dans les comptes au moyen de clés gérées par le client :

  • id
  • ttl
  • _ts
  • _etag
  • _rid
  • _self
  • _attachments
  • _epk

Quand les clés gérées par le client ne sont pas activées, seuls les noms de champs commençant par __sys_ sont réservés.

Dans quelles régions le chiffrement est-il activé ?

Le chiffrement est activé dans toutes les régions Azure Cosmos DB pour l’ensemble des données utilisateur.

Le chiffrement modifie-t-il les SLA en termes de débit et de latence des performances ?

L’activation du chiffrement au repos sur tous les comptes (existants et nouveaux) n’a aucune incidence sur les SLA de niveau de performance. Pour afficher les dernières garanties, consultez SLA pour Azure Cosmos DB.

L’émulateur local prend-il en charge le chiffrement au repos ?

L’émulateur est un outil de développement/test autonome qui n’exploite pas les services de gestion de clés que le service Azure Cosmos DB géré utilise. Nous vous recommandons d’activer BitLocker sur les lecteurs où vous stockez des données de test d’émulateur sensibles. L’émulateur prend en charge la modification du répertoire de données par défaut et l’utilisation d’un emplacement connu.

Étapes suivantes