Teilen über


Gewähren des Zugriffs auf Key Vault-Schlüssel, -Zertifikate und -Geheimnisse mit der rollenbasierten Zugriffssteuerung von 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.

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).

Übersicht über das Key Vault-Zugriffsmodell

Der Zugriff auf einen Schlüsseltresor wird über zwei Schnittstellen gesteuert: die Steuerebene und die Datenebene.

Die Steuerungsebene ist der Ort, an dem Sie Key Vault selbst verwalten. Vorgänge in dieser Ebene umfassen das Erstellen und Löschen von Schlüsseltresoren, das Abrufen der Eigenschaften des Key Vault und das Aktualisieren von Zugriffsrichtlinien.

Auf der Datenebene arbeiten Sie mit den in einem Schlüsseltresor gespeicherten Daten. Sie können Schlüssel, geheime Schlüssel und Zertifikate hinzufügen, löschen und ändern.

Beide Ebenen verwenden die Microsoft Entra-ID für die Authentifizierung. Für die Autorisierung verwendet die Kontrollebene azure role-based access control (Azure RBAC) und die Datenebene verwendet eine Key Vault-Zugriffsrichtlinie (Legacy) oder Azure RBAC für Vorgänge der Key Vault-Datenebene.

Um auf einen Schlüsseltresor in beiden Ebenen zugreifen zu können, müssen alle Anrufe (Benutzer oder Anwendungen) über eine ordnungsgemäße Authentifizierung und Autorisierung verfügen. Die Authentifizierung richtet die Identität des Anrufers ein. Autorisierung bestimmt, welche Vorgänge der Aufrufer ausführen kann.

Anwendungen greifen über Endpunkte auf die Ebenen zu. Die Zugriffssteuerungen für die beiden Ebenen funktionieren unabhängig voneinander. Um einer Anwendung Zugriff auf die Verwendung von Schlüsseln in einem Schlüsseltresor zu gewähren, gewähren Sie Datenebenenzugriff mithilfe von Azure RBAC oder einer Key Vault-Zugriffsrichtlinie. Um einem Benutzer Lesezugriff auf Key Vault-Eigenschaften und -Tags zu gewähren, aber keinen Zugriff auf Daten (Schlüssel, geheime Schlüssel oder Zertifikate), gewähren Sie steuerungsebenenzugriff mit Azure RBAC.

Endpunkte der Zugriffsebene

In der folgenden Tabelle sind die Endpunkte für das Steuerelement und die Datenebenen aufgeführt.

Access-Ebene Zugriffsendpunkte Operationen Zugriffssteuerungsmechanismus
Steuerebene Global:
management.azure.com:443

Microsoft Azure betrieben von 21Vianet:
management.chinacloudapi.cn:443

Azure US Government:
management.usgovcloudapi.net:443
Erstellen, Lesen, Aktualisieren und Löschen von Schlüsseltresoren

Festlegen von Zugriffsrichtlinien für Den Schlüsseltresor

Festlegen von Key Vault-Tags
Azure RBAC
Datenebene Global:
<vault-name.vault.azure.net:443>

Microsoft Azure betrieben von 21Vianet:
<vault-name.vault.azure.cn:443>

Azure US Government:
<vault-name.vault.usgovcloudapi.net:443>
Schlüssel: encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, recover, backup, restore, purge, rotieren, getrotationpolicy, setrotationpolicy, release

Zertifikate: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge

Geheimnisse: Abrufen, Auflisten, Festlegen, Löschen, Wiederherstellen, Sichern, Wiederherstellen, Entfernen
Key Vault-Zugriffsrichtlinie (veraltet) oder Azure RBAC

Verwalten des administrativen Zugriffs auf Key Vault

Wenn Sie einen Schlüsseltresor in einer Ressourcengruppe erstellen, verwalten Sie den Zugriff mithilfe von Microsoft Entra ID. So können Sie Benutzern oder einer Gruppe die Verwaltung von Schlüsseltresoren in einer Ressourcengruppe ermöglichen. Sie können zugriff auf einer bestimmten Bereichsebene gewähren, indem Sie die entsprechenden Azure-Rollen zuweisen. Um einem Benutzer Zugriff für die Verwaltung von Schlüsseltresoren zu gewähren, weisen Sie ihm für einen bestimmten Bereich die vordefinierte Rolle Key Vault Contributor zu. Die folgenden Bereichsebenen können einer Azure-Rolle zugewiesen werden:

  • Abonnement: Eine Azure-Rolle, die auf Abonnementebene zugewiesen ist, gilt für alle Ressourcengruppen und Ressourcen innerhalb dieses Abonnements.
  • Ressourcengruppe: Eine Azure-Rolle, die auf Ressourcengruppenebene zugewiesen ist, gilt für alle Ressourcen in dieser Ressourcengruppe.
  • Bestimmte Ressource: Eine Azure-Rolle, die einer bestimmten Ressource zugewiesen ist, gilt für diese Ressource. In diesem Fall ist die Ressource ein bestimmter Schlüsseltresor.

Es gibt mehrere vordefinierte Rollen. Wenn eine vordefinierte Rolle nicht Ihren Anforderungen entspricht, können Sie Ihre eigene Rolle definieren. Weitere Informationen finden Sie unter Azure RBAC: Integrierte Rollen.

Wichtig

Wenn ein Benutzer über Contributor Berechtigungen für die Steuerebene eines Key Vault verfügt, kann er sich selbst Zugriff auf die Datenebene gewähren, indem er eine Richtlinie für den Zugriff auf den Key Vault festlegt. Deshalb sollten sie stets kontrollieren, wer als Contributor auf Ihre Schlüsseltresore zugreifen kann. Stellen Sie sicher, dass nur autorisierte Personen auf Ihre Schlüsseltresor, Schlüssel, Geheimschlüssel und Zertifikate zugreifen und diese verwalten können.

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, geheimen Schlüsseln und Zertifikaten wird nicht empfohlen. Ausnahmen umfassen Szenarien, in denen:

  • Einzelne geheime Schlüssel erfordern individuellen Benutzerzugriff; Beispielsweise, wo Benutzer ihren privaten SSH-Schlüssel lesen müssen, um sich mit Azure Bastion bei einem virtuellen Computer zu authentifizieren.
  • Einzelne geheime Schlüssel müssen zwischen mehreren Anwendungen geteilt werden; Beispiel: Wenn eine Anwendung auf Daten aus 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 ausschließlich für Vorgänge auf Steuerungsebene zum Verwalten von Schlüsseltresoren vorgesehen. Sie lässt nicht den Zugriff auf Schlüssel, Geheimnisse und Zertifikate zu.

Integrierte Rolle BESCHREIBUNG id
Der Key Vault-Administrator Ausführen beliebiger Vorgänge auf Datenebene für einen Schlüsseltresor und alle darin enthaltenen Objekte (einschließlich Zertifikaten, Schlüsseln und Geheimnissen) 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 der 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 Ausführen beliebiger Aktionen für die Zertifikate eines Schlüsseltresors mit Ausnahme 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 Inhalt des Zertifikats, einschließlich des geheimen Anteils und des Schlüsselteils. 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 der 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
Kryptografiedienstrelease für Schlüsseltresore 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 auf der Datenebene des Schlüsseltresors

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 Azure Key Vault

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. Aktiviere Azure RBAC-Berechtigungen für einen neuen Key Vault.

    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 Geltungsbereich der Ressourcengruppe

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, Schlüsseltresorobjekte in einem Schlüsseltresor aufzulisten.

Rollenzuweisung im Geltungsbereich des Schlüsseltresors

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 Geltungsbereich des Geheimnisses

Hinweis

Rollenzuweisungen für Schlüsseltresorgeheimnisse, Zertifikate und Schlüsselbereiche sollten nur für begrenzte Szenarien verwendet werden, die unter Bewährte Methoden für Rollenzuweisungen für einzelne Schlüssel, Geheimnisse und Zertifikate beschrieben sind, um bewährte Methoden für die Sicherheit einzuhalten.

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 des Hinzufügens eines neuen Geheimnisses ohne die Rolle „Geheimnisbeauftragter für Schlüsseltresore“ 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 von Rollenzuweisungen: Key Vault

    2. Navigieren Sie zum zuvor erstellten Geheimnis. Sie können alle geheimen Eigenschaften sehen.

      Geheimer Blick 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 „Geheimnisbeauftragter für Schlüsseltresore“ 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. Sie können geheime Eigenschaften sehen.

      Geheime Ansicht ohne Zugriff

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

    1. Navigieren Sie zur Registerkarte „Zugriffssteuerung (IAM)“ für die Schlüsseltresor-Ressourcengruppe, und entfernen Sie die Rollenzuweisung „Leseberechtigter für Schlüsseltresore“.

    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 benutzerdefinierter Rollen finden Sie unter:

Benutzerdefinierte Azure-Rollen

Verwenden von KI, um Key Vault-Rollenzuweisungen zu generieren

GitHub Copilot kann Ihnen dabei helfen, die richtigen Azure CLI- oder PowerShell-Befehle für Schlüsseltresor-Rollenzuweisungen basierend auf Ihren spezifischen Anforderungen zu erstellen.

I need to set up Azure RBAC for my Key Vault. Help me create the role assignment commands for the following scenario:
- Key vault name: my-app-keyvault
- Resource group: my-app-rg
- Subscription ID: <my-subscription-id>
- I need to grant a managed identity (client ID: <managed-identity-client-id>) the ability to read and write secrets, but not manage keys or certificates.
Provide both Azure CLI and PowerShell commands, and explain which built-in role is most appropriate for this least-privilege scenario.

GitHub Copilot wird von KI unterstützt, sodass Überraschungen und Fehler möglich sind. Weitere Informationen finden Sie unter Copilot-FAQs.

Häufig gestellte Fragen

Kann ich Azure RBAC-Objektbereichszuweisungen verwenden, um eine Isolation für Anwendungsteams innerhalb von Key Vault bereitzustellen?

Nein. Das Azure RBAC-Berechtigungsmodell ermöglicht es Ihnen, einzelnen Objekten im Key Vault Zugriff auf Benutzer oder Anwendungen zuzuweisen, aber alle administrativen Vorgänge wie Netzwerkzugriffskontrolle, Überwachung und Objektverwaltung erfordern Berechtigungen auf Tresorebene, wodurch dann sichere Informationen für Operatoren in allen Anwendungsteams verfügbar gemacht werden.

Weitere Informationen