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

GILT FÜR: NoSQL MongoDB Cassandra Gremlin Tabelle

Die in Ihrem Azure Cosmos DB-Konto gespeicherten Daten werden automatisch und nahtlos mit von Microsoft verwalteten Schlüsseln (dienstseitig verwaltete Schlüssel) verschlüsselt. Optional können Sie eine zweite Verschlüsselungsebene mit von Ihnen verwalteten Schlüsseln (Customer-managed keys oder CMK) hinzufügen.

Abbildung: Verschlüsselungsschicht um Kundendaten

Sie müssen vom Kunden verwaltete Schlüssel in Azure Key Vault speichern und einen Schlüssel für jedes Azure Cosmos DB-Konto bereitstellen, für das vom Kunden verwalteten Schlüssel aktiviert sind. Dieser Schlüssel wird zum Verschlüsseln aller in diesem Konto gespeicherten Daten verwendet.

Hinweis

Wenn Sie kundenverwaltete Schlüssel für Ihre vorhandenen Azure Cosmos DB-Konten aktivieren möchten, können Sie hier auf den Link verweisen, um weitere Details zu erhalten

Warnung

Die folgenden Feldnamen sind für Cassandra-API-Tabellen in Konten reserviert, die kundenseitig verwaltete Schlüssel verwenden:

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

Wenn kundenseitig verwaltete Schlüssel nicht aktiviert sind, werden nur Feldnamen reserviert, die mit __sys_ beginnen.

Voraussetzungen

Registrieren des Azure Cosmos DB-Ressourcenanbieters

Wenn der Ressourcenanbieter Microsoft.DocumentDB noch nicht registriert ist, sollten Sie diesen Anbieter als Erstes registrieren.

  1. Melden Sie sich beim Azure-Portal an, navigieren Sie zu Ihrem Azure-Abonnement, und wählen Sie auf der Registerkarte Einstellungen die Option Ressourcenanbieter aus:

    Screenshot: Option „Ressourcenanbieter“ im Navigationsmenü der Ressource

  2. Suchen Sie nach dem Ressourcenanbieter Microsoft.DocumentDB. Überprüfen Sie, ob der Ressourcenanbieter bereits als registriert gekennzeichnet ist. Wenn dies nicht der Fall ist, wählen Sie den Ressourcenanbieter aus, und wählen Sie dann Registrieren aus:

    Screenshot: Option „Registrieren“ für den Ressourcenanbieter „Microsoft.DocumentDB“

Konfigurieren Ihrer Azure Key Vault-Instanz

Wichtig

Ihre Azure Key Vault-Instanz muss über den öffentlichen Netzwerkzugriff zugänglich sein oder vertrauenswürdige Microsoft-Dienste zulassen, um dessen Firewall zu umgehen. Eine Instanz, auf die ausschließlich über private Endpunkte zugegriffen werden kann, kann nicht zum Hosten Ihrer kundenseitig verwalteten Schlüssel verwendet werden.

Wenn Sie kundenseitig verwaltete Schlüssel mit Azure Cosmos DB verwenden, müssen Sie zwei Eigenschaften für die Azure Key Vault-Instanz festlegen, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten: Vorläufiges Löschen und Löschschutz.

  1. Wenn Sie eine neue Azure Key Vault-Instanz erstellen, aktivieren Sie diese Eigenschaften während der Erstellung:

    Screenshot: Azure Key Vault-Optionen, u. a. Optionen für vorläufiges Löschen und für den Bereinigungsschutz

  2. Bei Verwendung einer vorhandenen Azure Key Vault-Instanz können Sie überprüfen, ob diese Eigenschaften aktiviert sind, indem Sie sich im Azure-Portal den Abschnitt Eigenschaften ansehen. Ist eine dieser Eigenschaften nicht aktiviert, finden Sie in den Abschnitten „Aktivieren des vorläufigen Löschens“ und „Aktivieren des Bereinigungsschutzes“ in einem der folgenden Artikel weitere Informationen:

Auswählen des bevorzugten Sicherheitsmodells

Sobald Bereinigungsschutz und vorläufiges Löschen aktiviert sind, können Sie auf der Registerkarte „Zugriffsrichtlinie“ Ihr bevorzugtes Berechtigungsmodell für die Verwendung auswählen. Zugriffsrichtlinien sind standardmäßig festgelegt, aber auch die rollenbasierte Zugriffssteuerung in Azure wird unterstützt.

Die erforderlichen Berechtigungen müssen erteilt werden, damit Cosmos DB Ihren Verschlüsselungsschlüssel verwenden kann. Dieser Schritt variiert je nachdem, ob Azure Key Vault Zugriffsrichtlinien oder die rollenbasierte Zugriffssteuerung verwendet.

Hinweis

Es ist wichtig zu beachten, dass nur jeweils ein Sicherheitsmodell aktiv sein kann, sodass es nicht erforderlich ist, ein Seeding für die rollenbasierte Zugriffssteuerung auszuführen, wenn Azure Key Vault für die Verwendung von Zugriffsrichtlinien festgelegt ist (und umgekehrt).

Hinzufügen einer Zugriffsrichtlinie

Verwenden Sie bei dieser Variante den Azure Cosmos DB-Prinzipal, um eine Zugriffsrichtlinie mit den entsprechenden Berechtigungen zu erstellen.

  1. Navigieren Sie im Azure-Portal zu der Azure Key Vault-Instanz, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten. Wählen Sie im linken Menü die Option Zugriffsrichtlinien aus.

    Screenshot: Option „Zugriffsrichtlinien“ im Navigationsmenü der Ressource

  2. Wählen Sie + Zugriffsrichtlinie hinzufügen aus.

  3. Wählen Sie im Dropdownmenü Schlüsselberechtigungen die Berechtigungen Abrufen, Schlüssel entpacken und Schlüssel packen aus:

    Screenshot: Zugriffsrichtlinienberechtigungen, u. a. „Abrufen“, „Schlüssel entpacken“ und „Schlüssel packen“

  4. Wählen Sie unter Prinzipal auswählen die Option Nichts ausgewählt aus.

  5. Suchen Sie nach dem Azure Cosmos DB-Prinzipal, und wählen Sie ihn aus (um die Suche zu erleichtern, können Sie auch nach der Anwendungs-ID suchen: a232010e-820c-4083-83bb-3ace5fc29d0b für eine beliebige Azure-Region mit Ausnahme von Azure Government-Regionen, bei denen die Anwendungs-ID 57506a73-e302-42a9-b869-6f12d9ec29e9 lautet).

    Tipp

    So wird die Erstanbieteridentität von Azure Cosmos DB in Ihrer Azure Key Vault-Zugriffsrichtlinie registriert. Wenn der Prinzipal Azure Cosmos DB nicht in der Liste aufgeführt ist, müssen Sie möglicherweise den Ressourcenanbieter Microsoft.DocumentDB erneut registrieren.

  6. Wählen Sie im unteren Bereich Auswählen aus.

    Screenshot: Option „Prinzipal auswählen“ auf der Seite „Zugriffsrichtlinie hinzufügen“

  7. Wählen Sie Hinzufügen aus, um die neue Zugriffsrichtlinie hinzuzufügen.

  8. Wählen Sie Speichern in der Key Vault-Instanz aus, um alle Änderungen zu speichern.

Hinzufügen von Rollen für die rollenbasierte Zugriffssteuerung

  1. Navigieren Sie im Azure-Portal zu der Azure Key Vault-Instanz, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten. Wählen Sie im linken Menü Zugriffssteuerung (IAM) und dann Zugriff auf diese Ressource gewähren aus.

    Screenshot: Option „Zugriffssteuerung“ im Navigationsmenü der Ressource

    Screenshot: Option „Zugriff auf diese Ressource gewähren“ auf der Seite „Zugriffssteuerung“

  2. Suchen Sie die Rolle „Key Vault-Administrator“, und weisen Sie sie sich selbst zu. Für die Zuweisung müssen Sie zuerst in der Liste nach dem Rollennamen suchen und dann auf die Registerkarte Mitglieder klicken. Wählen Sie auf der Registerkarte das Optionsfeld „Benutzer, Gruppe oder Dienstprinzipal“ aus, und suchen Sie dann Ihr Azure-Konto. Nachdem das Konto ausgewählt wurde, kann die Rolle zugewiesen werden.

    Screenshot: Rolle „Key Vault-Administrator“ in den Suchergebnissen

    Screenshot: Rollenzuweisung auf der Seite „Zugriffssteuerung“

  3. Anschließend müssen dem Prinzipal von Cosmos DB die erforderlichen Berechtigungen zugewiesen werden. Navigieren Sie also wie bei der letzten Rollenzuweisung zur Zuweisungsseite, suchen Sie aber dieses Mal nach der Rolle Kryptografiedienstverschlüsselung für Schlüsseltresore, und suchen Sie auf der Registerkarte „Mitglieder“ nach dem Prinzipal von Cosmos DB. Um den Prinzipal zu ermitteln, suchen Sie nach dem Prinzipal Azure Cosmos DB, und wählen Sie ihn aus.

    Screenshot: Azure Cosmos DB-Prinzipal, der einer Berechtigung zugewiesen wird

    Wichtig

    In der Azure Government-Region lautet die Anwendungs-ID 57506a73-e302-42a9-b869-6f12d9ec29e9.

  4. Wählen Sie „Überprüfen + zuweisen“ aus, und die Rolle wird Cosmos DB zugewiesen.

Überprüfen, ob die Rollen richtig festgelegt wurden

Überprüfen Sie als Nächstes auf der Seite „Zugriffssteuerung“, ob alle Rollen ordnungsgemäß konfiguriert wurden.

  1. Nachdem die Rollen zugewiesen wurden, wählen Sie auf der Seite „Zugriffssteuerung (IAM)“ die Option Zugriff auf diese Ressource anzeigen aus, um zu überprüfen, ob alles ordnungsgemäß festgelegt wurde.

    Screenshot: Option „Zugriff auf diese Ressource anzeigen“ auf der Seite „Zugriffssteuerung“

  2. Legen Sie auf der Seite den Bereich auf diese Ressource fest, und vergewissern Sie sich, dass Sie über die Rolle „Key Vault-Administrator“ verfügen und der Cosmos DB-Prinzipal über die Rolle „Kryptografiedienstverschlüsselung für Schlüsseltresore“ verfügt.

    Screenshot: Option für die Bereichsanpassung für eine Rollenzuweisungsabfrage

Generieren eines Schlüssels in Azure Key Vault

Erstellen Sie hier mithilfe von Azure Key Vault einen neuen Schlüssel, und rufen Sie den eindeutigen Bezeichner ab.

  1. Navigieren Sie im Azure-Portal zu der Azure Key Vault-Instanz, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten. Wählen Sie dann im linken Menü die Option Schlüssel aus:

    Screenshot: Option „Schlüssel“ im Navigationsmenü der Ressource

  2. Wählen Sie Generieren/Importieren aus, geben Sie einen Namen für den neuen Schlüssel an, und wählen Sie eine RSA-Schlüsselgröße aus. Es wird eine Größe von mindestens 3072 empfohlen, da diese Größe die höchste Sicherheit bietet. Wählen Sie anschließend Erstellen aus:

    Screenshot: Dialogfeld zum Erstellen eines neuen Schlüssels

    Tipp

    Alternativ können Sie mit der Azure CLI einen Schlüssel zu generieren mit:

    az keyvault key create \
        --vault-name <name-of-key-vault> \
        --name <name-of-key>
    

    Weitere Informationen zum Verwalten eines Schlüsseltresors mit der Azure CLI finden Sie unter Verwalten von Azure Key Vault mit der Azure CLI.

  3. Wählen Sie nach der Schlüsselerstellung den neu erstellten Schlüssel und dann seine aktuelle Version aus.

  4. Kopieren Sie den Schlüsselbezeichner des Schlüssels mit Ausnahme des Teils nach dem letzten Schrägstrich:

    Screenshot: Feld „Schlüsselbezeichner“ und Kopieraktion

Erstellen eines neuen Azure Cosmos DB-Kontos

Erstellen Sie mithilfe des Azure-Portals oder der Azure CLI ein neues Azure Cosmos DB-Konto.

Wählen Sie beim Erstellen eines neuen Azure Cosmos DB-Kontos im Azure-Portal im Schritt Verschlüsselung die Option Vom Kunden verwalteter Schlüssel aus. Fügen Sie in das Feld Schlüssel-URI den URI/Schlüsselbezeichner des Azure Key Vault-Schlüssels ein, den Sie im vorherigen Schritt kopiert haben:

Screenshot: Seite „Verschlüsselung“ mit konfiguriertem kundenseitig verwaltetem Schlüssel-URI

Verwenden einer verwalteten Identität in der Azure Key Vault-Zugriffsrichtlinie

Diese Zugriffsrichtlinie stellt sicher, dass Ihr Azure Cosmos DB-Konto auf Ihre Verschlüsselungsschlüssel zugreifen kann. Die Zugriffsrichtlinie wird durch Zuweisen des Zugriffs auf eine bestimmte Microsoft Entra-Identität implementiert. Zwei Typen von Identitäten werden unterstützt:

  • Mit der Erstanbieteridentität von Azure Cosmos DB können Sie Zugriff auf den Azure Cosmos DB-Dienst gewähren.
  • Mit der verwalteten Identität Ihres Azure Cosmos DB-Kontos können Sie speziell Zugriff auf Ihr Konto gewähren.

Nicht verfügbar

Verwenden von kundenseitig verwalteten Schlüsseln mit fortlaufender Sicherung

Sie können über die Azure CLI oder eine Azure Resource Manager-Vorlage ein Konto für die fortlaufende Sicherung erstellen.

Derzeit wird nur eine benutzerseitig zugewiesene verwaltete Identität zum Erstellen von Konten für die fortlaufende Sicherung unterstützt.

Nachdem das Konto erstellt wurde, können Sie die Identität auf eine systemseitig zugewiesene verwaltete Identität aktualisieren.

Alternativ kann der Benutzer zunächst auch eine Systemidentität mit regelmäßigem Sicherungsmodus erstellen und dann das Konto mithilfe dieser Anweisungen unter Migrieren eines Azure Cosmos DB-Kontos vom zyklischen Sicherungsmodus zum fortlaufenden Sicherungsmodus zum Modus für die fortlaufende Sicherung migrieren.

Nicht verfügbar

Wiederherstellen eines fortlaufenden Kontos, das mit verwalteter Identität konfiguriert ist

In der Wiederherstellungsanforderung ist eine benutzerspezifische Identität erforderlich, da die vom Quellkonto verwaltete Identität (benutzerspezifische und systembezogene Identitäten) nicht automatisch auf das Zieldatenbankkonto übertragen werden kann.

Nicht verfügbar

Kundenseitig verwaltete Schlüssel und Mehrfachverschlüsselung

Bei Verwendung von kundenseitig verwalteten Schlüsseln werden die Daten, die Sie in Ihrem Azure Cosmos DB-Konto speichern, zweimal verschlüsselt:

  • Einmal durch die Standardverschlüsselung, die mit Microsoft-verwalteten Schlüsseln ausgeführt wurde.
  • Einmal durch die zusätzliche Verschlüsselung mit den kundenseitig verwalteten Schlüsseln.

Die Mehrfachverschlüsselung gilt nur für den Azure Cosmos DB-Transaktionshauptspeicher. Einige Features umfassen die interne Replikation Ihrer Daten auf eine zweite Speicherebene, bei der keine Mehrfachverschlüsselung bereitgestellt wird, auch wenn kundenseitig verwaltete Schlüssel verwendet werden. Zu diesen Features zählen:

Schlüsselrotation

Die Rotation des kundenseitig verwalteten Schlüssels, der von Ihrem Azure Cosmos DB-Konto verwendet wird, kann auf zwei Arten erfolgen.

  • Erstellen Sie eine neue Version des Schlüssels, der derzeit von Azure Key Vault verwendet wird:

    Screenshot der Option „Neue Version“ auf der Versionsseite des Azure-Portals

  • Tauschen Sie den derzeit verwendeten Schlüssel gegen einen anderen aus, indem Sie den Schlüssel-URI in Ihrem Konto aktualisieren. Navigieren Sie im Azure-Portal zu Ihrem Azure Cosmos DB-Konto, und wählen Sie im linken Menü die Option Datenverschlüsselung aus:

    Screenshot: Option „Datenverschlüsselung“ im Navigationsmenü der Ressource

    Ersetzen Sie dann den Schlüssel-URI durch den neuen Schlüssel, den Sie verwenden möchten, und wählen Sie Speichern aus:

    Screenshot: Option „Speichern“ auf der Seite „Schlüssel“

    Gehen Sie folgendermaßen vor, um das gleiche Ergebnis in PowerShell zu erzielen:

    # Variable for resource group name
    $RESOURCE_GROUP_NAME = "<resource-group-name>"
    
    # Variable for account name
    $ACCOUNT_NAME = "<globally-unique-account-name>"
    
    # Variable for new key URI in the key vault
    $NEW_KEY_VAULT_KEY_URI="https://<key-vault-name>.vault.azure.net/keys/<new-key-name>"
    
    $parameters = @{
        ResourceGroupName = $RESOURCE_GROUP_NAME 
        Name = $ACCOUNT_NAME
        ResourceType = "Microsoft.DocumentDb/databaseAccounts"
    }
    $ACCOUNT = Get-AzResource @parameters
    
    $ACCOUNT.Properties.keyVaultKeyUri = $NEW_KEY_VAULT_KEY_URI
    
    $ACCOUNT | Set-AzResource -Force
    

Der vorherige Schlüssel oder die vorherige Schlüsselversion kann deaktiviert werden, wenn in den Azure Key Vault-Überwachungsprotokollen keine Aktivitäten mehr von Azure Cosmos DB für diesen Schlüssel oder diese Schlüsselversion angezeigt werden. Nach einer 24-stündigen Schlüsselrotation sollten keine Aktivitäten mehr mit dem vorherigen Schlüssel oder der vorherigen Schlüsselversion erfolgen.

Fehlerbehandlung

Wenn bei der Verwendung von kundenseitig verwalteten Schlüsseln in Azure Cosmos DB Fehler auftreten, gibt Azure Cosmos DB die Fehlerdetails zusammen mit einem HTTP-Unterstatuscode in der Antwort zurück. Mit diesem HTTP-Unterstatuscode können Sie die Grundursache des Problems debuggen. Eine Liste der unterstützten HTTP-Unterstatuscodes finden Sie im Artikel HTTP-Statuscodes für Azure Cosmos DB.

Häufig gestellte Fragen

Hier finden Sie häufig gestellte Fragen zum Einrichten von kundenseitig verwalteten Schlüsseln in Azure Cosmos DB.

Fallen weitere Gebühren für die Aktivierung von kundenseitig verwalteten Schlüsseln an?

Nein, es fallen keine Kosten für die Aktivierung dieses Features an.

Wie wirken sich kundenseitig verwaltete Schlüssel auf die Kapazitätsplanung aus?

Wenn Sie kundenseitig verwaltete Schlüssel verwenden, erhöht sich die Anzahl der von Ihren Datenbankvorgängen genutzten Anforderungseinheiten entsprechend der zusätzlichen Verarbeitungsschritte, die zum Durchführen der Ver- und Entschlüsselung Ihrer Daten erforderlich sind. Dieser zusätzliche RU-Verbrauch kann zu einer geringfügig höheren Auslastung Ihrer bereitgestellten Kapazität führen. Die folgende Tabelle dient als Orientierungshilfe:

Vorgangsart Erhöhung der Anforderungseinheiten
Punktlesevorgänge (Abrufen von Elementen nach ID) 5 % pro Vorgang
Beliebiger Schreibvorgang 6 % pro Vorgang | etwa 0,06 RU pro indizierte Eigenschaft
Abfragen, Lesen des Änderungsfeeds oder Konfliktfeeds 15 % pro Vorgang

Welche Daten werden mit den vom Kunden verwalteten Schlüsseln verschlüsselt?

Mit Ausnahme der nachfolgend aufgeführten Metadaten werden alle in Ihrem Azure Cosmos DB-Konto gespeicherten Daten mit den vom Kunden verwalteten Schlüsseln verschlüsselt:

Werden vom Kunden verwaltete Schlüssel für vorhandene Azure Cosmos DB-Konten unterstützt?

Dieses Feature ist derzeit nur für neue Konten verfügbar.

Können kundenseitig verwaltete Schlüssel mit dem Azure Cosmos DB-Analysespeicher verwendet werden?

Ja, Azure Synapse Link unterstützt nur das Konfigurieren von kundenseitig verwalteten Schlüsseln mithilfe der verwalteten Identität Ihres Azure Cosmos DB-Kontos. Sie müssen die verwaltete Identität Ihres Azure Cosmos DB-Kontos in Ihrer Azure Key Vault-Zugriffsrichtlinie verwenden, bevor Sie Azure Synapse Link für Ihr Konto aktivieren. Eine Schrittanleitung zum Aktivieren von verwalteten Identitäten und ihrer Verwendung in einer Zugriffsrichtlinie finden Sie unter Zugreifen auf Azure Key Vault aus Azure Cosmos DB mithilfe einer verwalteten Identität.

Ist die Unterstützung einer feineren Granularität als bei Schlüsseln auf Kontoebene geplant?

Derzeit nicht. Es werden jedoch Schlüssel auf Containerebene in Erwägung gezogen.

Woran erkenne ich, dass kundenseitig verwaltete Schlüssel für mein Azure Cosmos DB-Konto aktiviert sind?

Navigieren Sie im Azure-Portal zu Ihrem Azure Cosmos DB-Konto, und suchen Sie im linken Menü nach dem Eintrag Datenverschlüsselung. Wenn dieser Eintrag vorhanden ist, sind kundenseitig verwaltete Schlüssel für Ihr Konto aktiviert:

Screenshot: Option „Datenverschlüsselung“ im Navigationsmenü der Ressource

Sie können die Details Ihres Azure Cosmos DB-Kontos auch programmgesteuert abrufen und überprüfen, ob die Eigenschaft keyVaultKeyUri vorhanden ist.

Wie wirken sich die vom Kunden verwalteten Schlüssel auf regelmäßige Backups aus?

Azure Cosmos DB erstellt regelmäßige und automatische Sicherungen der in Ihrem Konto gespeicherten Daten. Bei diesem Vorgang werden die verschlüsselten Daten gesichert.

Die folgenden Bedingungen sind für die erfolgreiche Wiederherstellung eines periodischen Backups erforderlich:

  • Der Verschlüsselungsschlüssel, den Sie zum Zeitpunkt des Backups verwendet haben, ist erforderlich und muss in Azure Key Vault verfügbar sein. Diese Bedingung erfordert, dass kein Widerruf erfolgt ist und die Version des Schlüssels, die zum Zeitpunkt der Sicherung verwendet wurde, noch aktiviert ist.
  • Wenn Sie eine systemseitig zugewiesene verwaltete Identität in der Zugriffsrichtlinie verwendet haben, müssen Sie vor der Wiederherstellung Ihrer Daten vorübergehend Zugriff auf die Azure Cosmos DB-Erstanbieteridentität gewähren. Dies ist erforderlich, da eine systemseitig zugewiesene verwaltete Identität spezifisch für ein Konto ist und im Zielkonto nicht wiederverwendet werden kann. Sobald die Daten im Zielkonto vollständig wiederhergestellt sind, können Sie die gewünschte Identitätskonfiguration festlegen und die Erstanbieteridentität aus der Key Vault-Zugriffsrichtlinie entfernen.

Wie wirken sich kundenseitig verwaltete Schlüssel auf die fortlaufende Sicherung aus?

Azure Cosmos DB bietet Ihnen die Möglichkeit, fortlaufende Sicherungen für Ihr Konto zu konfigurieren. Mit der fortlaufenden Sicherung können Sie den Stand Ihrer Daten zu einem beliebigen Zeitpunkt innerhalb der letzten 30 Tage wiederherstellen. Um fortlaufende Sicherungen für ein Konto zu verwenden, für das kundenseitig verwaltete Schlüssel aktiviert sind, müssen Sie eine systemseitig oder benutzerseitig zugewiesene verwaltete Identität in der Key Vault-Zugriffsrichtlinie verwenden. Die Azure Cosmos DB-Erstanbieteridentität wird derzeit nicht für Konten unterstützt, die fortlaufende Sicherungen verwenden.

Voraussetzungen für kundenseitig verwaltete Schlüssel aktivierte Konten zum Aktualisieren der vom Benutzer zugewiesenen Identität.

  • Fügen Sie dem Cosmos DB-Konto eine benutzerseitig zugewiesene Identität hinzu, und erteilen Sie Berechtigungen in der Zugriffsrichtlinie für den Schlüsseltresor.
  • Legen Sie die vom Benutzer zugewiesene Identität über die Azure CLI oder ARM als Standardidentität fest.
az cosmosdb update --resource-group MyResourceGroup --name MyAccountName --default-identity UserAssignedIdentity=/subscriptions/MySubscriptionId/resourcegroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyUserAssignedIdentity

Für eine erfolgreiche Zeitpunktwiederherstellung müssen die folgenden Bedingungen erfüllt sein:

  • Der Verschlüsselungsschlüssel, den Sie zum Zeitpunkt des Backups verwendet haben, ist erforderlich und muss in Azure Key Vault verfügbar sein. Dies bedeutet, dass kein Widerruf erfolgt ist und die Version des Schlüssels, die zum Zeitpunkt der Sicherung verwendet wurde, noch aktiviert ist.
  • Sie müssen sicherstellen, dass die benutzerseitig zugewiesene verwaltete Identität, die ursprünglich für das Quellkonto verwendet wurde, weiterhin in der Key Vault-Zugriffsrichtlinie angegeben ist.

Wichtig

Wenn Sie den Verschlüsselungsschlüssel widerrufen, bevor Sie Ihr Konto löschen, fehlen in der Sicherung Ihres Kontos möglicherweise die Daten, die bis zu 1 Stunde vor dem Widerruf geschrieben wurden.

Wie sperre/widerrufe ich einen Verschlüsselungsschlüssel?

Die Schlüsselsperrung erfolgt durch Deaktivieren der aktuellen Version des Schlüssels:

Screenshot: Deaktivierte Version eines benutzerdefinierten Schlüssels

Alternativ können Sie zum Sperren aller Schlüssel in einer Azure Key Vault-Instanz die dem Azure Cosmos DB-Prinzipal erteilte Zugriffsrichtlinie löschen:

Screenshot: Option „Löschen“ für eine Zugriffsrichtlinie

Welche Vorgänge sind nach dem Sperren/Widerrufen eines vom Kunden verwalteten Schlüssels verfügbar?

Das Löschen von Konten ist der einzige mögliche Vorgang, wenn der Verschlüsselungsschlüssel widerrufen wurde.

Weisen Sie dem wiederhergestellten Datenbankkonto eine neue verwaltete Identität zu, um weiterhin auf das Datenbankkonto zuzugreifen oder den Zugriff wiederherzustellen.

Benutzerseitig zugewiesene Identität ist an ein angegebenes Cosmos DB-Konto gebunden. Wenn wir einem Konto eine benutzerseitig zugewiesene Identität zuweisen, leitet ARM die Anforderung an verwaltete Dienstidentitäten weiter, um diese Verbindung herzustellen. Derzeit übertragen wir Benutzeridentitätsinformationen während der Wiederherstellung (sowohl bei der fortlaufenden als auch der regelmäßigen Wiederherstellung) von CMK + benutzerseitig zugewiesene Identität vom Quelldatenbankkonto an das Zieldatenbankkonto.

Da die Identitätsmetadaten an das Quelldatenbankkonto gebunden sind, und der Wiederherstellungsworkflow die Identität nicht erneut auf das Zieldatenbankkonto bezieht, führt dies dazu, dass sich die wiederhergestellten Datenbankkonten in einem ungültigen Zustand befinden und nicht mehr auf das Quellkonto zugegriffen werden kann, nachdem das Quellkonto gelöscht wurde und die Verlängerungszeit der Identität abgelaufen ist.

Schritte zum Zuweisen einer neuen verwalteten Identität:

  1. Erstellen Sie eine neue benutzerseitig zugewiesene verwaltete Identität.
  2. Gewähren Sie Key Vault den Schlüsselzugriff auf diese Identität.
  3. Weisen Sie diese neue Identität Ihrem wiederhergestellten Datenbankkonto zu.

Nächste Schritte