Chiffrement des données dans Azure Cosmos DBData encryption in Azure Cosmos DB

Le chiffrement au repos est une expression qui se réfère en général au chiffrement des données situées sur des appareils de stockage non volatile, comme des disques SSD et des lecteurs de disques durs.Encryption at rest is a phrase that commonly refers to the encryption of data on nonvolatile storage devices, such as solid state drives (SSDs) and hard disk drives (HDDs). Cosmos DB stocke ses bases de données primaires sur des SSD.Cosmos DB stores its primary databases on SSDs. 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.Its media attachments and backups are stored in Azure Blob storage, which is generally backed up by HDDs. Avec l’apparition du chiffrement au repos pour Cosmos DB, toutes vos bases de données, pièces jointes multimédias et sauvegardes sont maintenant chiffrées.With the release of encryption at rest for Cosmos DB, all your databases, media attachments, and backups are encrypted. 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.Your data is now encrypted in transit (over the network) and at rest (nonvolatile storage), giving you end-to-end encryption.

Azure Cosmos DB, en tant que service PaaS, est très facile à utiliser.As a PaaS service, Azure Cosmos DB is very easy to use. 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.Because all user data stored in Azure Cosmos DB is encrypted at rest and in transport, you don't have to take any action. En d’autres termes, le chiffrement au repos est « activé » par défaut.Another way to put this is that encryption at rest is "on" by default. Il n’existe aucun contrôle à activer ou à désactiver.There are no controls to turn it off or on. Azure Cosmos DB utilise le chiffrement AES-256 dans toutes les régions où le compte est exécuté.Azure Cosmos DB uses AES-256 encryption on all regions where the account is running. Nous fournissons cette fonctionnalité dans le cadre de nos efforts pour respecter notre contrat SLA de disponibilité et de performances.We provide this feature while we continue to meet our availability and performance SLAs. Les données stockées dans votre compte Azure Cosmos 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).Data stored in your Azure Cosmos account is automatically and seamlessly encrypted with keys managed by Microsoft (service-managed keys). 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.Optionally, you can choose to add a second layer of encryption with your own keys as described in the customer-managed keys article.

Implémentation du chiffrement au repos pour Azure Cosmos DBImplementation of encryption at rest for Azure Cosmos DB

Le chiffrement au repos est implémenté à l’aide d’un certain nombre de 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.Encryption at rest is implemented by using a number of security technologies, including secure key storage systems, encrypted networks, and cryptographic APIs. Les systèmes qui déchiffrent et traitent les données doivent communiquer avec les systèmes de gestion de clés.Systems that decrypt and process data have to communicate with systems that manage keys. 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.The diagram shows how storage of encrypted data and the management of keys is separated.

Schéma montrant la conception

Le flux de base d’une demande d’un utilisateur est le suivant :The basic flow of a user request is as follows:

  • 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.The user database account is made ready, and storage keys are retrieved via a request to the Management Service Resource Provider.
  • Un utilisateur crée une connexion à Cosmos DB via le transport HTTPS/sécurisé.A user creates a connection to Cosmos DB via HTTPS/secure transport. (Les SDK permettent de s’abstraire des détails.)(The SDKs abstract the details.)
  • L’utilisateur envoie un document JSON à stocker sur la connexion sécurisée créée précédemment.The user sends a JSON document to be stored over the previously created secure connection.
  • Le document JSON est indexé, à moins que l’utilisateur ait désactivé l’indexation.The JSON document is indexed unless the user has turned off indexing.
  • Le document JSON et les données d’index sont écrits dans le stockage sécurisé.Both the JSON document and index data are written to secure storage.
  • Périodiquement, les données sont lues à partir du stockage sécurisé et sauvegardées dans le magasin d’objets blob chiffré d’Azure.Periodically, data is read from the secure storage and backed up to the Azure Encrypted Blob Store.

Forum aux questionsFrequently asked questions

Q : Quel est le coût supplémentaire du stockage Azure si la fonctionnalité Storage Service Encryption est activée ?Q: How much more does Azure Storage cost if Storage Service Encryption is enabled?

A : Aucun coût supplémentaire n’est facturé.A: There is no additional cost.

Q : Qui gère les clés de chiffrement ?Q: Who manages the encryption keys?

A : Les clés sont gérées par Microsoft.A: The keys are managed by Microsoft.

Q : À quelle fréquence les clés de chiffrement tournent-elles ?Q: How often are encryption keys rotated?

A : Microsoft a constitué un ensemble de règles internes pour la rotation des clés de chiffrement, celles-ci sont suivies par Cosmos DB.A: Microsoft has a set of internal guidelines for encryption key rotation, which Cosmos DB follows. Les règles spécifiques ne sont pas publiées.The specific guidelines are not published. Microsoft publie le Security Development Lifecycle (SDL), qui est vu comme un sous-ensemble de règles internes et qui contient des bonnes pratiques utiles pour les développeurs.Microsoft does publish the Security Development Lifecycle (SDL), which is seen as a subset of internal guidance and has useful best practices for developers.

Q : Puis-je utiliser mes propres clés de chiffrement ?Q: Can I use my own encryption keys?

A : Oui, cette fonctionnalité est maintenant disponible pour les nouveaux comptes Azure Cosmos DB, et ceci doit être fait au moment de la création du compte.A: Yes, this feature is now available for new Azure Cosmos DB accounts and this should be done at the time of account creation. Pour plus d’informations, consultez le document Clés gérées par le client.Please go through Customer-managed Keys document for more information.

Q : Dans quelles régions le chiffrement est-il activé ?Q: What regions have encryption turned on?

A : Le chiffrement est activé dans toutes les régions Azure Cosmos DB pour l’ensemble des données utilisateur.A: All Azure Cosmos DB regions have encryption turned on for all user data.

Q : Le chiffrement modifie-t-il les SLA en termes de débit et de latence des performances ?Q: Does encryption affect the performance latency and throughput SLAs?

A : L’activation du chiffrement au repos sur tous les comptes (existants et nouveaux) ne modifie en rien les SLA en termes de performance.A: There is no impact or changes to the performance SLAs now that encryption at rest is enabled for all existing and new accounts. Pour en savoir plus sur les dernières garanties, consultez la page SLA pour Azure Cosmos DB.You can read more on the SLA for Cosmos DB page to see the latest guarantees.

Q : L’émulateur local prend-il en charge le chiffrement au repos ?Q: Does the local emulator support encryption at rest?

A : L’émulateur est un outil de développement/de test autonome ; il n’exploite pas les services de gestion de clés que le service Cosmos DB managé utilise.A: The emulator is a standalone dev/test tool and does not use the key management services that the managed Cosmos DB service uses. Nous vous conseillons d’activer BitLocker sur les lecteurs où vous stockez des données de test d’émulateur sensibles.Our recommendation is to enable BitLocker on drives where you are storing sensitive emulator test data. L’émulateur prend en charge la modification du répertoire de données par défaut ainsi que l’utilisation d’un emplacement connu.The emulator supports changing the default data directory as well as using a well-known location.

Étapes suivantesNext steps