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.
Aktivieren von Azure RBAC-Berechtigungen für einen neuen Schlüsseltresor:
Aktivieren von Azure RBAC-Berechtigungen für einen vorhandenen Schlüsseltresor:
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.
Überprüfen Sie das Hinzufügen eines neuen Geheimnisses ohne die Rolle „Key Vault Secrets Officer“ auf der Ebene des Schlüsseltresors.
Wechseln Sie zur Registerkarte „Zugriffssteuerung (IAM)“ für den Schlüsseltresor, und entfernen Sie die Rollenzuweisung „Key Vault Secrets Officer“ für diese Ressource.
Navigieren Sie zum zuvor erstellten Geheimnis. Alle Eigenschaften des Geheimnisses werden angezeigt.
Beim Erstellen eines neuen Geheimnisses („Geheimnisse“ > „+ Generieren/Importieren“) sollte folgender Fehler angezeigt werden:
Überprüfen Sie die Geheimnisbearbeitung ohne die Rolle „Key Vault Secret Officer“ auf Geheimnisebene.
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.
Navigieren Sie zum zuvor erstellten Geheimnis. Die Eigenschaften des Geheimnisses werden angezeigt.
Überprüfen Sie das Lesen von Geheimnissen ohne die Leser-Rolle auf Schlüsseltresorebene.
Wechseln Sie zur Registerkarte „Zugriffssteuerung (IAM)“ für die Schlüsseltresor-Ressourcengruppe, und entfernen Sie die Rollenzuweisung „Key Vault Reader“.
Nach dem Navigieren zur Registerkarte „Geheimnisse“ für den Schlüsseltresor sollte dieser Fehler angezeigt werden:
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.