Teilen über


Konfigurieren von kundenseitig verwalteten Schlüsseln für Ihr vorhandenes Azure Cosmos DB-Konto mit Azure Key Vault

GILT FÜR: NoSQL MongoDB Gremlin Tabelle

Das Aktivieren einer zweiten Verschlüsselungsebene für ruhende Daten mithilfe von kundenseitig verwalteten Schlüsseln beim Erstellen eines neuen Azure Cosmos DB-Kontos ist seit einiger Zeit allgemein verfügbar. Als natürlicher nächster Schritt besteht jetzt die Möglichkeit, CMK für vorhandene Azure Cosmos DB-Konten zu aktivieren.

Durch dieses Feature ist keine Datenmigration zu einem neuen Konto mehr erforderlich, um CMK zu aktivieren. Es trägt dazu bei, die Sicherheit und Compliance der Kundschaft zu verbessern.

Bei der Aktivierung von CMK wird ein asynchroner Hintergrundprozess zum Verschlüsseln aller vorhandenen Daten im Konto gestartet, während neue eingehende Daten vor der Beibehaltung verschlüsselt werden. Sie müssen nicht warten, bis der asynchrone Vorgang erfolgreich ist. Der Aktivierungsprozess nutzt nicht verwendete/freie RUs, sodass er sich nicht auf Ihre Lese-/Schreibworkloads auswirkt. Sie können diesen Link für die Kapazitätsplanung aufrufen, wenn Ihr Konto verschlüsselt wurde.

Aktivieren Sie zunächst CMK für Ihre vorhandenen Konten.

Wichtig

Durchlaufen Sie den Abschnitt "Voraussetzungen" gründlich. Dies sind wichtige Überlegungen.

Voraussetzungen

Alle erforderlichen Schritte beim Konfigurieren von kundenseitig verwalteten Schlüsseln für neue Konten müssen ausgeführt werden, um CMK für Ihr vorhandenes Konto zu aktivieren. Die entsprechenden Schritte finden Sie hier.

Hinweis

Es ist wichtig zu beachten, dass das Aktivieren der Verschlüsselung für Ihr Azure Cosmos DB-Konto der ID Ihres Dokuments einen kleinen Aufwand hinzukommt, wodurch die maximale Größe der Dokument-ID auf 990 Byte und nicht auf 1024 Byte beschränkt wird. Wenn Ihr Konto Dokumente mit IDs aufweist, die größer als 990 Byte sind, schlägt der Verschlüsselungsprozess fehl, bis diese Dokumente gelöscht werden.

Um zu überprüfen, ob Ihr Konto kompatibel ist, können Sie die bereitgestellte Konsolenanwendung verwenden, die hier gehostet wird, um Ihr Konto zu scannen. Stellen Sie sicher, dass Sie den Endpunkt aus Ihrer "sqlEndpoint"-Kontoeigenschaft verwenden, unabhängig von der ausgewählten API.

Wenn Sie die serverseitige Überprüfung für diese Während der Migration deaktivieren möchten, wenden Sie sich an den Support.

Schritte zum Aktivieren von CMK für Ihr vorhandenes Konto

Um CMK für ein vorhandenes Konto zu aktivieren, aktualisieren Sie das Konto mit einer ARM-Vorlage, die einen Key Vault-Schlüsselbezeichner in der keyVaultKeyUri-Eigenschaft festlegt – genau wie beim Aktivieren von CMK für ein neues Konto. Dieser Schritt kann durch Ausgeben eines PATCH-Aufrufs mit den folgenden Nutzdaten ausgeführt werden:

    {
        "properties": {
        "keyVaultKeyUri": "<key-vault-key-uri>"
        }
    }

Vor der Ausgabe dieses CLI-Befehls zum Aktivieren von CMK wird auf den Abschluss der Verschlüsselung der Daten gewartet.

    az cosmosdb update --name "testaccount" --resource-group "testrg" --key-uri "https://keyvaultname.vault.azure.net/keys/key1"

Schritte zum Aktivieren von CMK für Ihr vorhandenes Azure Cosmos DB-Konto mit einem Konto mit fortlaufender Sicherung oder einem Analysespeicherkonto

Zum Aktivieren von CMK für ein vorhandenes Konto mit aktivierter fortlaufender Sicherung und Zeitpunktwiederherstellung müssen einige zusätzliche Schritte ausgeführt werden. Führen Sie die Schritte 1 bis 5 aus, und befolgen Sie dann die Anweisungen zum Aktivieren von CMK für ein vorhandenes Konto.

  1. Konfigurieren der verwalteten Identität für Ihr Cosmos-Konto: Konfigurieren von verwalteten Identitäten mit Microsoft Entra ID für Ihr Azure Cosmos DB-Konto

  2. Aktualisieren des Cosmos-Kontos zum Festlegen der Standardidentität auf die im vorherigen Schritt hinzugefügte verwaltete Identität

    Systemseitig verwaltete Identität:

    az cosmosdb update--resource-group $resourceGroupName --name $accountName --default-identity "SystemAssignedIdentity"
    

    Benutzerseitig verwaltete Identität:

    az cosmosdb update -n $sourceAccountName -g $resourceGroupName --default-identity "UserAssignedIdentity=/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyID"
    
  3. Konfigurieren eines Schlüsseltresors entsprechend der Dokumentation hier

  4. Hinzufügen einer Zugriffsrichtlinie im Schlüsseltresor für die im vorherigen Schritt festgelegte Standardidentität

  5. Aktualisieren des Cosmos-Kontos zum Festlegen des Schlüsseltresor-URI. Diese Aktualisierung löst die Aktivierung von CMK für das Konto aus.

    az cosmosdb update --name $accountName --resource-group $resourceGroupName --key-uri $keyVaultKeyURI  
    

Bekannte Einschränkungen

  • Die Aktivierung von CMK für vorhandene Azure Cosmos DB for Apache Cassandra-Konten wird nicht unterstützt.
  • Die Aktivierung von CMK ist nur auf Cosmos DB-Kontoebene und nicht in Sammlungen verfügbar.
  • Wir unterstützen nicht die Aktivierung von CMK auf vorhandenen Konten, die für materialisierte Sichten und alle Versionen aktiviert sind und den Änderungsfeedmodus löschen.
  • Stellen Sie vor dem Aktivieren von CMK sicher, dass das Konto keine Dokumente mit großen IDs von über 990 Bytes enthält. Andernfalls wird ein Fehler aufgrund des maximal unterstützten Grenzwerts von 1.024 Bytes nach der Verschlüsselung ausgegeben.
  • Während der Verschlüsselung vorhandener Daten werden Aktionen der Steuerungsebene wie „Region hinzufügen“ blockiert. Die Blockierung dieser Aktionen wird direkt nach Abschluss der Verschlüsselung aufgehoben, sodass sie wieder verwendet werden können.

Überwachen des Fortschritts der resultierenden Verschlüsselung

Das Aktivieren von CMK für ein vorhandenes Konto ist ein asynchroner Vorgang, der eine Hintergrundaufgabe zur Verschlüsselung aller vorhandenen Daten startet. Daher stellt die REST-API-Anforderung zum Aktivieren von CMK in ihrer Antwort eine „Azure-AsyncOperation“-URL bereit. Das Abfragen dieser URL mit GET-Anforderungen gibt den Status des Gesamtvorgangs zurück, der schließlich „Erfolgreich“ lautet. Dieser Mechanismus wird in diesem Artikel vollständig beschrieben.

Das Cosmos DB-Konto kann weiterhin verwendet werden, und Daten können weiterhin geschrieben werden, ohne auf den Erfolg des asynchronen Vorgangs warten zu müssen. Der CLI-Befehl zum Aktivieren von CMK wartet auf den Abschluss der Verschlüsselung der Daten.

Um die Nutzung von CMK für ein bestehendes Cosmos DB-Konto zu ermöglichen, muss eine Überprüfung durchgeführt werden, damit sichergestellt ist, dass das Konto keine „großen IDs“ hat. Eine „große ID“ ist eine Dokument-ID, die mehr als 990 Zeichen lang ist. Diese Überprüfung ist für die CMK-Migration obligatorisch und wird von Microsoft automatisch durchgeführt. Während dieses Vorgangs kann ein Fehler auftreten.

ERROR: (InternalServerError) Unerwarteter Fehler bei der Dokumentüberprüfung für die CMK-Migration. Wiederholen Sie den Vorgang.

Dieser Fehler tritt auf, wenn bei der Überprüfung mehr RUs verwendet werden, als in der Sammlung bereitgestellt wurden, was zu dem Fehler 429 führt. Eine Lösung für dieses Problem besteht darin, die Anzahl der RUs vorübergehend deutlich zu erhöhen. Alternativ können Sie auch die hier bereitgestellte Konsolenanwendung verwenden, um ihre Sammlungen zu durchsuchen.

Hinweis

Wenn Sie die serverseitige Überprüfung für diese Während der Migration deaktivieren möchten, wenden Sie sich an den Support. Dies ist nur ratsam, wenn Sie sicher sind, dass es keine großen IDs gibt. Sollte während der Verschlüsselung eine große ID erkannt werden, wird der Vorgang angehalten, bis das Dokument mit der großen ID adressiert wurde.

Falls Sie weitere Fragen haben, wenden Sie sich an Microsoft-Support.

Häufig gestellte Fragen

Von welchen Faktoren hängt die Verschlüsselungszeit ab?

Die Aktivierung von CMK ist ein asynchroner Vorgang und davon abhängig, dass genügend ungenutzte RUs verfügbar sind. Es wird empfohlen, CMK außerhalb der Spitzenzeiten zu aktivieren. Falls möglich, können Sie die RUs vorher erhöhen, um die Verschlüsselung zu beschleunigen. Auch die Datengröße hat direkten Einfluss.

Müssen wir uns auf Ausfallzeiten einstellen?

Durch Aktivieren von CMK wird ein asynchroner Hintergrundprozess gestartet, bei dem alle Daten zu verschlüsselt werden. Sie müssen nicht warten, bis der asynchrone Vorgang erfolgreich ist. Das Azure Cosmos DB-Konto ist für Lese- und Schreibvorgänge verfügbar, und es sind keine Ausfallzeiten erforderlich.

Können die RUs erhöht werden, nachdem CMK ausgelöst wurde?

Es wird empfohlen, die RUs vor dem Auslösen von CMK zu erhöhen. Nach dem Auslösen von CMK werden einige Vorgänge der Steuerungsebene blockiert, bis die Verschlüsselung abgeschlossen ist. Dieser Blockierung kann Benutzer*innen daran hindern, die RUs zu erhöhen, nachdem CMK ausgelöst wurde.

Um die Nutzung von CMK für ein bestehendes Cosmos DB-Konto zu ermöglichen, wird eine obligatorische Überprüfung durch Microsoft automatisch durchgeführt, damit eine der zuvor aufgeführten bekannten Einschränkungen behoben werden kann. Bei diesem Vorgang werden auch zusätzliche RUs verbraucht. Daher ist es sinnvoll, die Anzahl der RUs deutlich zu erhöhen, um den Fehler 429 zu vermeiden.

Gibt es nach dem Auslösen von CMK eine Möglichkeit, die Verschlüsselung rückgängig zu machen oder zu deaktivieren?

Nachdem der Datenverschlüsselungsprozess mithilfe von CMK ausgelöst wurde, kann er nicht mehr rückgängig gemacht werden.

Hat die Aktivierung der Verschlüsselung mithilfe von CMK für ein vorhandenes Konto Auswirkungen auf die Datengröße und auf Lese-/Schreibvorgänge?

Wie zu erwarten ist, entsteht durch die Aktivierung von CMK eine leichte Zunahme der Datengröße und der RUs für die zusätzliche Verarbeitung zur Ver-/Entschlüsselung.

Sollten die Daten vor dem Aktivieren von CMK gesichert werden?

Bei der Aktivierung von CMK besteht keine Gefahr von Datenverlusten.

Werden alte Sicherungen im Rahmen regelmäßiger Sicherungen verschlüsselt?

Nein. Alte regelmäßige Sicherungen werden nicht verschlüsselt. Neu generierte Sicherungen nach dem Aktivieren von CMK werden verschlüsselt.

Was geschieht mit vorhandenen Konten, die für fortlaufende Sicherungen aktiviert sind?

Beim Aktivieren von CMK wird die Verschlüsselung auch für fortlaufende Sicherungen aktiviert. Sobald CMK aktiviert ist, sind alle Wiederherstellungskonten in Zukunft CMK-fähig.

Was geschieht, wenn CMK für ein Konto mit PITR aktiviert wird und das Konto auf einen Zeitpunkt wiederhergestellt wird, zu dem CMK noch deaktiviert war?

In diesem Fall wird CMK aus den folgenden Gründen für das wiederhergestellte Zielkonto explizit aktiviert:

  • Sobald CMK für das Konto aktiviert wurde, gibt es keine Möglichkeit mehr zum Deaktivieren von CMK.
  • Dieses Verhalten entspricht dem aktuellen Entwurf der Wiederherstellung von CMK-fähigen Konten mit regelmäßiger Sicherung

Was geschieht, wenn Benutzer*innen den Schlüssel widerrufen, während die CMK-Migration ausgeführt wird?

Der Status des Schlüssels wird beim Auslösen der CMK-Verschlüsselung überprüft. Wenn der Schlüssel in Azure Key Vault keine Probleme aufweist, wird die Verschlüsselung gestartet, und der Prozess wird ohne weitere Überprüfung abgeschlossen. Selbst wenn der Schlüssel widerrufen oder der Azure-Schlüsseltresor gelöscht wird oder nicht verfügbar ist findet der Verschlüsselungsprozess erfolgreich statt.

Kann die CMK-Verschlüsselung für ein vorhandenes Produktionskonto aktiviert werden?

Ja. Durchlaufen Sie den Abschnitt "Voraussetzungen" gründlich. Es wird empfohlen, zuerst alle Szenarien auf Nichtproduktionskonten zu testen, und sobald Sie sich mit der Verwendung vertraut machen, können Sie Produktionskonten in Betracht ziehen.

Nächste Schritte