Gewähren des Zugriffs auf Key Vault-Schlüssel, -Zertifikate und -Geheimnisse mit der rollenbasierten Zugriffssteuerung in Azure

Hinweis

Der Key Vault-Ressourcenanbieter unterstützt zwei Ressourcentypen: Tresore und verwaltete HSMs. Die in diesem Artikel beschriebene Zugriffssteuerung gilt nur für Tresore. Weitere Informationen zur Zugriffssteuerung für verwaltetes HSM finden Sie unter Zugriffssteuerung für verwaltetes HSM.

Hinweis

Die Konfiguration des Azure App Service-Zertifikats über das Azure-Portal bietet keine Unterstützung für das RBAC-Berechtigungsmodell von Key Vault. Sie können Azure PowerShell, Azure CLI, ARM-Vorlagenbereitstellungen mit der Rollenzuweisung Key Vault-Zertifikatbenutzer für die globale Identität von App Service verwenden, z. B. Microsoft Azure App Service in der öffentlichen Cloud.

Die rollenbasierte Zugriffssteuerung in Azure (Role-Based Access Control, RBAC) ist ein Autorisierungssystem, das auf Azure Resource Manager basiert und eine zentrale Verwaltung des Zugriffs auf Azure-Ressourcen ermöglicht.

Azure RBAC ermöglicht Benutzern das Verwalten von Schlüsseln, Geheimnissen und Zertifikatberechtigungen und bietet einen zentralen Ort zum Verwalten aller Berechtigungen in allen Schlüsseltresoren.

Mit der rollenbasierten Zugriffssteuerung in Azure (RBAC) können Benutzerinnen und Benutzer Berechtigungen für verschiedene Bereichsebenen festlegen: Verwaltungsgruppe, Abonnement, Ressourcengruppe oder Einzelressourcen. Die Azure-RBAC für Key Vault bietet Benutzer*innen außerdem die Möglichkeit, separate Berechtigungen für einzelne Schlüssel, Geheimnisse und Zertifikate zuzuweisen.

Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC).

Bewährte Methoden für Rollenzuweisungen für einzelne Schlüssel, Geheimnisse und Zertifikate

Es wird empfohlen, einen Tresor pro Anwendung und Umgebung (Entwicklung, Präproduktion und Produktion) mit auf Schlüsseltresorebene zugewiesenen Rollen zu verwenden.

Das Zuweisen von Rollen zu einzelnen Schlüsseln, Geheimnissen und Zertifikaten sollte vermieden werden. Eine Ausnahme bilden Szenarien, in denen einzelne Geheimnisse zwischen mehreren Anwendungen freigegeben werden müssen, zum Beispiel wenn eine Anwendung auf Daten einer anderen Anwendung zugreifen muss.

Weitere Informationen zu Azure Key Vault-Verwaltungsrichtlinien finden Sie unter:

In Azure integrierte Rollen für Key Vault-Vorgänge auf Datenebene

Hinweis

Die Rolle Key Vault Contributor ist für Vorgänge auf Verwaltungsebene zur Verwaltung von Schlüsseltresoren vorgesehen. Sie lässt nicht den Zugriff auf Schlüssel, Geheimnisse und Zertifikate zu.

Integrierte Rolle BESCHREIBUNG id
Key Vault-Administrator Ausführen beliebiger Vorgänge auf Datenebene für einen Schlüsseltresor und alle darin enthaltenen Objekte (einschließlich Zertifikate, Schlüssel und Geheimnisse). Kann keine Key Vault-Ressourcen oder Rollenzuweisungen verwalten. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. 00482a5a-887f-4fb3-b363-3b7fe8e74483
Key Vault-Leser Lesen von Metadaten von Schlüsseltresoren und deren Zertifikaten, Schlüsseln und Geheimnissen. Sensible Werte, z. B. der Inhalt von Geheimnissen oder Schlüsselmaterial, können nicht gelesen werden. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. 21090545-7ca7-4776-b22c-e363652d74d2
Key Vault-Bereinigungsoperator Ermöglicht das dauerhafte Löschen von vorläufig gelöschten Tresoren. a68e7c17-0ab2-4c09-9a58-125dae29748c
Key Vault-Zertifikatbeauftragter Führen Sie eine beliebige Aktion für die Zertifikate eines Schlüsseltresors aus, mit Ausnahme des Lesens des geheimen Schlüssels und der Schlüsselabschnitte und der Verwaltung von Berechtigungen. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. a4417e6f-fecd-4de8-b567-7b0420556985
Key Vault-Zertifikatbenutzer Lesen Sie den gesamten Zertifikatinhalt einschließlich geheimer Schlüssel und Schlüsselteil. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Key Vault-Kryptografiebeauftragter Ausführen beliebiger Aktionen für die Schlüssel eines Schlüsseltresors mit Ausnahme der Verwaltung von Berechtigungen. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Key Vault Crypto Service Encryption-Benutzer Lesen von Metadaten von Schlüsseln und Ausführen von Vorgängen zum Packen/Entpacken. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. e147488a-f6f5-4113-8e2d-b22465e65bf6
Key Vault-Kryptografiebenutzer Ausführen kryptografischer Vorgänge mithilfe von Schlüsseln. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. 12338af0-0e69-4776-bea7-57ae8d297424
Key Vault Crypto Service Release User Dieser gibt Schlüssel für Azure Confidential Computing und entsprechende Umgebungen frei. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden.
Key Vault-Geheimnisbeauftragter Ausführen beliebiger Aktionen für die Geheimnisse eines Schlüsseltresors mit Ausnahme der Verwaltung von Berechtigungen. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Key Vault-Geheimnisbenutzer Lesen geheimer Inhalte einschließlich geheimer Teile eines Zertifikats mit privatem Schlüssel. Funktioniert nur für Schlüsseltresore, die das Berechtigungsmodell „Rollenbasierte Azure-Zugriffssteuerung“ verwenden. 4633458b-17de-408a-b874-0445c86b69e6

Weitere Informationen zu den Definitionen von in Azure integrierten Rollen finden Sie unter In Azure integrierte Rollen.

Verwalten integrierter Rollenzuweisungen im Key Vault-Datenebenen

Integrierte Rolle BESCHREIBUNG ID
Key Vault-Datenzugriffsadministrator*in Verwalten Sie den Zugriff auf Azure Key Vault, indem Sie Rollenzuweisungen für den Key Vault-Administrator, Key Vault Certificates Officer, Key Vault Crypto Officer, Key Vault Crypto Service Encryption User, Key Vault Crypto User, Key Vault Secrets Reader, Key Vault Secrets Officer oder Key Vault Secrets User-Rollen hinzufügen oder entfernen. Enthält eine ABAC-Bedingung, um Rollenzuweisungen einzuschränken. 8b54135c-b56d-4d72-a534-26097cfdc8d8

Verwenden von Geheimnis-, Schlüssel- und Zertifikatberechtigungen von Azure RBAC mit Key Vault

Das neue Azure RBAC-Berechtigungsmodell für Key Vault bietet eine Alternative zum Berechtigungsmodell für den Tresor mit Zugriffsrichtlinien.

Voraussetzungen

Sie benötigen ein Azure-Abonnement. Sollten Sie über kein Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Um Rollenzuweisungen zu verwalten, müssen Sie über die Berechtigungen Microsoft.Authorization/roleAssignments/write und Microsoft.Authorization/roleAssignments/delete verfügen, z. B. Key Vault Data Access Administrator (mit eingeschränkten Berechtigungen zum Zuweisen/Entfernen lediglich bestimmter Schlüsseltresorrollen), Benutzerzugriffsadministrator oder Besitzer.

Aktivieren von Azure RBAC-Berechtigungen für einen Schlüsseltresor

Hinweis

Das Ändern des Berechtigungsmodells erfordert die unbeschränkte Berechtigung „Microsoft.Authorization/roleAssignments/write“, die in den Rollen Besitzer und Benutzerzugriffsadministrator enthalten ist. Klassische Abonnementadministratorrollen wie „Dienstadministrator“ und „Co-Administrator“ oder eingeschränkter „Key Vault Data Access Administrator“ können nicht zum Ändern des Berechtigungsmodells verwendet werden.

  1. Aktivieren von Azure RBAC-Berechtigungen für einen neuen Schlüsseltresor:

    Aktivieren von Azure RBAC-Berechtigungen – neuer Tresor

  2. Aktivieren von Azure RBAC-Berechtigungen für einen vorhandenen Schlüsseltresor:

    Aktivieren von Azure RBAC-Berechtigungen – vorhandener Tresor

Wichtig

Wenn Sie das Azure RBAC-Berechtigungsmodell festlegen, werden alle Berechtigungen aus Zugriffsrichtlinien ungültig. Dies kann zu Ausfällen führen, wenn keine äquivalenten Azure-Rollen zugewiesen sind.

Zuweisen einer Rolle

Hinweis

Es wird empfohlen, in Skripts die eindeutige Rollen-ID anstelle des Rollennamens zu verwenden. Wird eine Rolle umbenannt, funktionieren somit Ihre Skripts weiterhin. In diesem Dokument wird der Rollenname zur besseren Lesbarkeit verwendet.

Um eine Rollenzuweisung mithilfe der Azure CLI zu erstellen, verwenden Sie den Befehl az Rollenzuweisung:

az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}

Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen mithilfe der Azure CLI.

Rollenzuweisung im Ressourcengruppenbereich

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen mithilfe der Azure CLI.

Die obige Rollenzuweisung bietet die Möglichkeit, Key Vault-Objekte in einem Schlüsseltresor aufzulisten.

Rollenzuweisung im Key Vault-Bereich

az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen mithilfe der Azure CLI.

Rollenzuweisung im Geheimnisbereich

Hinweis

Schlüsseltresor, Zertifikat, Schlüsselbereichsrollenzuweisungen sollten nur für einige bestimmte Szenarien verwendet werden, die hier beschrieben werden, um die Sicherheits-Best Practices zu erfüllen.

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret

Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen mithilfe der Azure CLI.

Testen und Überprüfen

Hinweis

Browser verwenden Caching, deshalb ist nach dem Entfernen von Rollenzuweisungen eine Seitenaktualisierung erforderlich. Warten Sie einige Minuten, bis die Rollenzuweisungen aktualisiert wurden.

  1. Überprüfen Sie das Hinzufügen eines neuen Geheimnisses ohne die Rolle „Key Vault Secrets Officer“ auf der Ebene des Schlüsseltresors.

    1. Wechseln Sie zur Registerkarte „Zugriffssteuerung (IAM)“ für den Schlüsseltresor, und entfernen Sie die Rollenzuweisung „Key Vault Secrets Officer“ für diese Ressource.

      Entfernen der Rollenzuweisung – Key Vault

    2. Navigieren Sie zum zuvor erstellten Geheimnis. Alle Eigenschaften des Geheimnisses werden angezeigt.

      Ansicht eines Geheimnisses mit Zugriff

    3. Beim Erstellen eines neuen Geheimnisses („Geheimnisse“ > „+ Generieren/Importieren“) sollte folgender Fehler angezeigt werden:

      Erstellen eines neuen Geheimnisses

  2. Überprüfen Sie die Geheimnisbearbeitung ohne die Rolle „Key Vault Secret Officer“ auf Geheimnisebene.

    1. Wechseln Sie zur Registerkarte „Zugriffssteuerung (IAM)“ für das zuvor erstellte Geheimnis, und entfernen Sie die Rollenzuweisung „Key Vault Secrets Officer“ für diese Ressource.

    2. Navigieren Sie zum zuvor erstellten Geheimnis. Die Eigenschaften des Geheimnisses werden angezeigt.

      Ansicht eines Geheimnisses ohne Zugriff

  3. Überprüfen Sie das Lesen von Geheimnissen ohne die Leser-Rolle auf Schlüsseltresorebene.

    1. Wechseln Sie zur Registerkarte „Zugriffssteuerung (IAM)“ für die Schlüsseltresor-Ressourcengruppe, und entfernen Sie die Rollenzuweisung „Key Vault Reader“.

    2. Nach dem Navigieren zur Registerkarte „Geheimnisse“ für den Schlüsseltresor sollte dieser Fehler angezeigt werden:

      Registerkarte „Geheimnis“ – Fehler

Erstellen von benutzerdefinierten Rollen

Befehl „az role definition create“

az role definition create --role-definition '{ \
   "Name": "Backup Keys Operator", \
   "Description": "Perform key backup/restore operations", \
    "Actions": [ 
    ], \
    "DataActions": [ \
        "Microsoft.KeyVault/vaults/keys/read ", \
        "Microsoft.KeyVault/vaults/keys/backup/action", \
         "Microsoft.KeyVault/vaults/keys/restore/action" \
    ], \
    "NotDataActions": [ 
   ], \
    "AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'

Weitere Informationen zum Erstellen von benutzerdefinierten Rollen finden Sie unter:

Benutzerdefinierte Azure-Rollen

Häufig gestellte Fragen

Kann ich Objekt-Bereichszuweisungen des Berechtigungsmodells rollenbasierte Zugriffssteuerung (RBAC) von Key Vault verwenden, um Isolation für Anwendungsteams innerhalb von Key Vault bereitzustellen?

Nein. Das RBAC-Berechtigungsmodell ermöglicht Ihnen das Zuweisen des Zugriffs auf einzelne Objekte in Key Vault an Benutzer*innen oder Anwendungen, aber alle administrativen Vorgänge wie Netzwerkzugriffssteuerung, Überwachung und Objektverwaltung erfordern Berechtigungen auf Tresorebene, die dann sichere Informationen für Operator*innen in Anwendungsteams verfügbar machen.

Weitere Informationen