Datenverschlüsselung in Azure Cosmos DBData encryption in Azure Cosmos DB

„Verschlüsselung ruhender Daten“ ist ein Ausdruck, der sich im Allgemeinen auf die Verschlüsselung von Daten auf permanenten Speichergeräten wie Solid State-Laufwerken (SSDs) und Festplattenlaufwerken (HDDs) bezieht.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 speichert die primären Datenbanken auf SSDs.Cosmos DB stores its primary databases on SSDs. Die Medienanlagen und die Sicherungen werden in Azure Blob Storage gespeichert und in der Regel durch HDDs gesichert.Its media attachments and backups are stored in Azure Blob storage, which is generally backed up by HDDs. Mit der Veröffentlichung der Verschlüsselung von ruhenden Daten für Cosmos DB werden Ihre gesamten Datenbanken, Medienanhänge und Sicherungen jetzt verschlüsselt.With the release of encryption at rest for Cosmos DB, all your databases, media attachments, and backups are encrypted. Damit werden Ihre Daten jetzt während der Übertragung (über das Netzwerk) und im Ruhezustand (permanenter Speicher) verschlüsselt, sodass Sie eine End-to-End-Verschlüsselung erhalten.Your data is now encrypted in transit (over the network) and at rest (nonvolatile storage), giving you end-to-end encryption.

Als PaaS-Dienst ist Azure Cosmos DB sehr einfach zu verwenden.As a PaaS service, Azure Cosmos DB is very easy to use. Da alle in Azure Cosmos DB gespeicherten Benutzerdaten sowohl ruhend als auch während der Übertragung verschlüsselt werden, sind keinerlei Maßnahmen erforderlich.Because all user data stored in Azure Cosmos DB is encrypted at rest and in transport, you don't have to take any action. Anders ausgedrückt: Die Verschlüsselung ruhender Daten ist standardmäßig „aktiviert“.Another way to put this is that encryption at rest is "on" by default. Es gibt keine Möglichkeit, dies ein- oder auszuschalten.There are no controls to turn it off or on. Azure Cosmos DB verwendet AES-256-Verschlüsselung in allen Regionen, in denen das Konto ausgeführt wird.Azure Cosmos DB uses AES-256 encryption on all regions where the account is running. Wir stellen dieses Feature bereit, während wir weiterhin unsere Verfügbarkeits- und Leistungs-SLAs erfüllen.We provide this feature while we continue to meet our availability and performance SLAs. Die in Ihrem Azure Cosmos-Konto gespeicherten Daten werden automatisch und nahtlos mit von Microsoft verwalteten Schlüsseln (dienstseitig verwaltete Schlüssel) verschlüsselt.Data stored in your Azure Cosmos account is automatically and seamlessly encrypted with keys managed by Microsoft (service-managed keys). Darüber hinaus besteht die Möglichkeit, eine zweite Verschlüsselungsschicht mit Ihren eigenen Schlüsseln hinzuzufügen, wie im Artikel zu kundenseitig verwalteten Schlüsseln beschrieben.Optionally, you can choose to add a second layer of encryption with your own keys as described in the customer-managed keys article.

Implementierung der Verschlüsselung von ruhenden Daten für Azure Cosmos DBImplementation of encryption at rest for Azure Cosmos DB

Die Verschlüsselung ruhender Daten wird über eine Reihe von Sicherheitstechnologien implementiert, einschließlich der Speichersysteme für sichere Schlüssel, verschlüsselter Netzwerke und Kryptografie-APIs.Encryption at rest is implemented by using a number of security technologies, including secure key storage systems, encrypted networks, and cryptographic APIs. Systeme, die Daten verarbeiten und entschlüsseln, müssen mit Systemen kommunizieren, die Schlüssel verwalten.Systems that decrypt and process data have to communicate with systems that manage keys. Das Diagramm veranschaulicht die Trennung zwischen der Speicherung von verschlüsselten Daten und der Verwaltung von Schlüsseln.The diagram shows how storage of encrypted data and the management of keys is separated.

Entwurfsdiagramm

Der grundlegende Ablauf bei einer Benutzeranforderung sieht wie folgt aus:The basic flow of a user request is as follows:

  • Das Benutzerdatenbankkonto wird bereitgestellt, und die Speicherschlüssel werden über eine Anforderung an den Ressourcenanbieter für den Verwaltungsdienst abgerufen.The user database account is made ready, and storage keys are retrieved via a request to the Management Service Resource Provider.
  • Ein Benutzer stellt über HTTPS bzw. über den sicheren Transport eine Verbindung mit Cosmos DB her.A user creates a connection to Cosmos DB via HTTPS/secure transport. (Die Details werden in den SDKs zusammengefasst.)(The SDKs abstract the details.)
  • Der Benutzer sendet ein zu speicherndes JSON-Dokument über die zuvor erstellte sichere Verbindung.The user sends a JSON document to be stored over the previously created secure connection.
  • Das JSON-Dokument wird indiziert, sofern der Benutzer die Indizierung nicht deaktiviert hat.The JSON document is indexed unless the user has turned off indexing.
  • Sowohl das JSON-Dokument als auch die Indexdaten werden in den sicheren Speicher geschrieben.Both the JSON document and index data are written to secure storage.
  • In regelmäßigen Abständen werden Daten aus dem sicheren Speicher gelesen und im verschlüsselten Azure Blob Storage gesichert.Periodically, data is read from the secure storage and backed up to the Azure Encrypted Blob Store.

Häufig gestellte FragenFrequently asked questions

F: Wie hoch sind die Mehrkosten für Azure Storage, wenn die Speicherdienstverschlüsselung aktiviert ist?Q: How much more does Azure Storage cost if Storage Service Encryption is enabled?

A: Es fallen keine zusätzlichen Kosten an.A: There is no additional cost.

F: Wer verwaltet die Verschlüsselungsschlüssel?Q: Who manages the encryption keys?

A: Die Schlüssel werden von Microsoft verwaltet.A: The keys are managed by Microsoft.

F: Wie oft werden die Verschlüsselungsschlüssel ausgetauscht?Q: How often are encryption keys rotated?

A: Microsoft verfügt über eine Reihe von internen Richtlinien für die Rotation der Verschlüsselungsschlüssel, die auch für Cosmos DB gelten.A: Microsoft has a set of internal guidelines for encryption key rotation, which Cosmos DB follows. Die spezifischen Richtlinien werden nicht veröffentlicht.The specific guidelines are not published. Microsoft veröffentlicht den Security Development Lifecycle (SDL), der als eine Teilmenge der internen Richtlinien gilt und nützliche bewährte Methoden für Entwickler enthält.Microsoft does publish the Security Development Lifecycle (SDL), which is seen as a subset of internal guidance and has useful best practices for developers.

F: Kann ich meine eigenen Verschlüsselungsschlüssel verwenden?Q: Can I use my own encryption keys?

A: Ja, dieses Feature ist jetzt für neue Azure Cosmos DB-Konten verfügbar, und dies sollte zum Zeitpunkt der Kontoerstellung erfolgen.A: Yes, this feature is now available for new Azure Cosmos DB accounts and this should be done at the time of account creation. Weitere Informationen finden Sie unter Vom Kunden verwaltete Schlüssel.Please go through Customer-managed Keys document for more information.

F: Für welche Regionen ist die Verschlüsselung aktiviert?Q: What regions have encryption turned on?

A: Die Verschlüsselung ist für alle Azure Cosmos DB-Regionen und für alle Benutzerdaten aktiviert.A: All Azure Cosmos DB regions have encryption turned on for all user data.

F: Wirkt sich die Verschlüsselung auf die SLAs hinsichtlich Leistung, Wartezeit und Durchsatz aus?Q: Does encryption affect the performance latency and throughput SLAs?

A: Es gibt keine Auswirkungen oder Änderungen hinsichtlich der Leistungs-SLAs, nachdem die Verschlüsselung ruhender Daten für alle vorhandenen und neuen Konten aktiviert ist.A: There is no impact or changes to the performance SLAs now that encryption at rest is enabled for all existing and new accounts. Informationen zu den aktuellsten Garantien finden Sie auf der Seite mit der SLA für Cosmos DB.You can read more on the SLA for Cosmos DB page to see the latest guarantees.

F: Unterstützt der lokale Emulator die Verschlüsselung ruhender Daten?Q: Does the local emulator support encryption at rest?

A: Der Emulator ist ein eigenständiges Entwicklungs-/Testtool und verwendet keine Schlüsselverwaltungsdienste, die vom verwalteten Cosmos DB-Dienst verwendet werden.A: The emulator is a standalone dev/test tool and does not use the key management services that the managed Cosmos DB service uses. Unsere Empfehlung ist, BitLocker auf Laufwerken zu aktivieren, auf denen Sie vertrauliche Eumlatortestdaten speichern.Our recommendation is to enable BitLocker on drives where you are storing sensitive emulator test data. Der Emulator unterstützt das Ändern des Standarddatenverzeichnisses sowie die Verwendung eines bekannten Speicherorts.The emulator supports changing the default data directory as well as using a well-known location.

Nächste SchritteNext steps