Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Azure ABAC für Key Vault befindet sich in der Vorschau. Einige Aspekte können sich vor der allgemeinen Verfügbarkeit ändern. Informationen zu Vorschaubedingungen finden Sie in den ergänzenden Nutzungsbedingungen.
In diesem Artikel werden die unterstützten Aktionen, Attribute und Operatoren beschrieben, die Sie unter Bedingungen für Azure Rollenzuweisungen für Azure Key Vault verwenden können. Eine Übersicht darüber, wie Rollenzuweisungsbedingungen funktionieren, finden Sie unter Was ist Azure attributbasierte Zugriffssteuerung (Azure ABAC)?. Eine Liste der Key Vault Datenaktionen, die sich auf eine bestimmte Berechtigung auswirken, finden Sie im Leitfaden zum Azure RBAC für Key Vault Datenebenenvorgänge.
Übersicht
Azure ABAC für Key Vault baut auf Azure RBAC auf, indem Bedingungen zu Rollenzuweisungen hinzugefügt werden. Azure wertet jede Bedingung zur Laufzeit anhand der Attribute der Ressource, auf die zugegriffen wird, oder die eingehende Anforderung aus, und ermöglicht oder verweigert die Anforderung basierend auf Vergleichsoperatoren.
Die Vorteile der Verwendung von Rollenzuweisungsbedingungen für Key Vault sind:
- Feinerer Zugriff auf geheime Schlüssel. Beschränken Sie einen Prinzipal auf Geheimschlüssel, deren Namen einem bestimmten Muster (z. B
app-*team-prod-*. ) oder bestimmten Schlüsseltresorn nach Tresornamen entsprechen. - Weniger Rollenzuweisungen, die verwaltet werden sollen. Verwenden Sie eine einzelne bedingungsorientierte Rollenzuweisung für eine Sicherheitsgruppe anstelle vieler einzelner Zuordnungen, die dieselben Berechtigungen modellieren. ABAC hilft Ihnen beim Skalieren der Rollenverwaltung – sie gewährt keine Berechtigungen, die eine Rollenzuweisung noch nicht gewährt.
- Erweitert vorhandene Azure RBAC. ABAC-Ebenen über Ihren vorhandenen Rollenzuweisungen. Sie müssen RBAC nicht ersetzen, um es zu verwenden.
In dieser Vorschau gilt ABAC für Key Vault nur für geheime Datenaktionen und unterstützt zwei Attribute: den Tresornamen und den geheimen Namen. Wichtige Datenaktionen, Zertifikatdatenaktionen, tagbasierte Attribute, Tokenattribute und integrierte Key Vault ABAC-Bedingungen für jede Rolle sind nicht enthalten.
Um ABAC-Bedingungen zu verwenden, muss das Berechtigungsmodell des Schlüsseltresors auf Azure RBAC festgelegt werden. Hintergrundinformationen finden Sie unter Azure RBAC im Vergleich zu Zugriffsrichtlinien und vorbereiten auf Key Vault API Version 2026-02-01 und höher.
Bedingungsformat
Bedingungen verwenden das folgende allgemeine Format:
@Resource[<ResourceType>:<AttributeName>] <Operator> '<Value>'
| Bestandteil | Description |
|---|---|
@Resource |
Verweist auf ein Attribut der Ressource, auf die zugegriffen wird. Wird verwendet @Request , wenn das Attribut die eingehende Anforderung beschreibt (z. B. den Namen eines geheimen Schlüssels, der noch nicht vorhanden ist). |
ResourceType |
Der Azure Resource Manager Ressourcentyp. Für Key Vault in dieser Vorschau entweder Microsoft.KeyVault/vaults oder Microsoft.KeyVault/vaults/secrets. |
AttributeName |
Das spezifische Attribut, das ausgewertet werden soll. In dieser Vorschau name ist das einzige unterstützte Attribut. |
Operator |
Der Vergleichsoperator. Siehe unterstützte Operatoren. |
Value |
Der Literalwert, mit dem verglichen werden soll. |
Die Bedingungsversion muss auf 2.0. Die vollständige Grammatik finden Sie unter Azure Rollenzuweisungsbedingungsformat und -syntax.
Unterstützte Operatoren
Azure Key Vault ABAC-Bedingungen unterstützen alle im Azure ABAC-Bedingungsformat definierten Zeichenfolgenvergleichsoperatoren. Eine vollständige Liste der Operatoren und deren Verhalten finden Sie unter Zeichenfolgenvergleichsoperatoren.
Note
Azure ABAC-Zeichenfolgenvergleichsoperatoren umfassen Groß-/Kleinschreibung, aber Key Vault Tresornamen und Objektnamen groß- und kleingeschrieben sind. Daher gilt der Abgleich zwischen Groß- und Kleinschreibung nicht für Key Vault ABAC-Bedingungen. Verwenden Sie kleingeschriebene Werte in Ihren Bedingungen . Ein Wert mit Großbuchstaben entspricht keinem Tresor- oder geheimen Namen.
aktionen Azure Key Vault
Sie können ABAC-Bedingungen auf die folgenden Key Vault geheimen Datenaktionen anwenden. Jeder Unterabschnitt beschreibt die Aktion, die zugrunde liegende DataAction, die Attributquelle, die sie auswertet (Ressource oder Anforderung) und eine Beispielbedingung.
Geheimen Schlüssel abrufen
| Property | Wert |
|---|---|
| Anzeigename | Geheimen Schlüssel abrufen |
| Description | Ruft den Wert eines Geheimnisses ab. |
| DataAction | Microsoft.KeyVault/vaults/secrets/getSecret/action |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app' |
Lesen geheimer Metadaten
| Property | Wert |
|---|---|
| Anzeigename | Lesen geheimer Metadaten |
| Description | Listet die Eigenschaften eines geheimen Schlüssels auf, aber nicht dessen Wert. |
| DataAction | Microsoft.KeyVault/vaults/secrets/readMetadata/action |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/readMetadata/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-' |
Warning
Dies readMetadata/action umfasst sowohl das Abrufen der Eigenschaften eines einzelnen geheimen Schlüssels (die einen geheimen Namen trägt) als auch das Auflisten von geheimen Schlüsseln in einem Tresor (ein Sammlungsaufruf ohne geheimen Namen). ABAC wertet eine Bedingung pro Aktion aus, nicht zeilenweise anhand von Listenergebnissen. Daher schlägt eine Bedingung readMetadata/action für geheime Namen beim Listenaufruf mit einem Fehler von 403 fehl – das name Attribut ist für die Sammlungsanforderung nicht vorhanden und kann nicht übereinstimmen. Dieses Verhalten wird im Blatt "Geheime Schlüssel" des Portals als leere Liste angezeigt.
Wenn ein Prinzipal jeden geheimen Namen in der Liste sehen soll, aber nur die Werte öffnen soll, die einem Muster entsprechen, sollten Sie nicht toren readMetadata/action. Gewähren Sie readMetadata/action stattdessen bedingungslos, und wenden Sie die Bedingung für geheimen Namen an getSecret/action. Weitere Informationen finden Sie im Beispiel zum Einschränken des Lesezugriffs auf geheime Schlüssel mit einem Namenspräfix .
Geheimen Schlüssel festlegen
| Property | Wert |
|---|---|
| Anzeigename | Geheimen Schlüssel festlegen |
| Description | Legt den Wert eines Geheimnisses fest. Wenn der geheime Schlüssel nicht vorhanden ist, wird die erste Version erstellt. Andernfalls wird eine neue Version mit dem angegebenen Wert erstellt. |
| DataAction | Microsoft.KeyVault/vaults/secrets/setSecret/action |
| Anforderungsattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Geheimen Schlüssel aktualisieren
| Property | Wert |
|---|---|
| Anzeigename | Geheimen Schlüssel aktualisieren |
| Description | Aktualisiert die Attribute, die dem angegebenen geheimen Schlüssel zugeordnet sind. |
| DataAction | Microsoft.KeyVault/vaults/secrets/update/action |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/update/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Geheimnis löschen
| Property | Wert |
|---|---|
| Anzeigename | Geheimnis löschen |
| Description | Mit diesem Befehl wird ein Geheimnis gelöscht. Alle Versionen werden gelöscht. |
| DataAction | Microsoft.KeyVault/vaults/secrets/delete |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/delete'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'temp-' |
Geheimer Sicherungsschlüssel
| Property | Wert |
|---|---|
| Anzeigename | Geheimer Sicherungsschlüssel |
| Description | Erstellt die Sicherungsdatei eines Geheimnisses. Die Datei kann verwendet werden, um den geheimen Schlüssel in einem Schlüsseltresor desselben Abonnements wiederherzustellen. Einschränkungen können gelten. |
| DataAction | Microsoft.KeyVault/vaults/secrets/backup/action |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/backup/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'critical-' |
Geheimen Schlüssel wiederherstellen
| Property | Wert |
|---|---|
| Anzeigename | Geheimen Schlüssel wiederherstellen |
| Description | Stellt einen geheimen Schlüssel und alle zugehörigen Versionen aus einer Sicherungsdatei wieder her, die von Key Vault generiert wird. |
| DataAction | Microsoft.KeyVault/vaults/secrets/restore/action |
| Anforderungsattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/restore/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Geheimen Schlüssel wiederherstellen
| Property | Wert |
|---|---|
| Anzeigename | Geheimen Schlüssel wiederherstellen |
| Description | Stellt einen gelöschten geheimen Schlüssel wieder her. Der Vorgang führt die Umkehrung des Löschvorgangs aus und gilt für Tresore, die für das vorläufige Löschen aktiviert sind. |
| DataAction | Microsoft.KeyVault/vaults/secrets/recover/action |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/recover/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Geheimer Schlüssel löschen
| Property | Wert |
|---|---|
| Anzeigename | Geheimer Schlüssel löschen |
| Description | Löscht einen gelöschten Geheimschlüssel, sodass er nicht wiederhergestellt werden kann. |
| DataAction | Microsoft.KeyVault/vaults/secrets/purge/action |
| Ressourcenattribute | Geheimer Name |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/purge/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'old-' |
Attributquellen
Attribute beschreiben Eigenschaften, die zur Anforderungszeit ausgewertet werden. Ressourcenattribute beschreiben den Zugriff auf die Ressource. Anforderungsattribute beschreiben die eingehende Anforderung, wenn die Ressource möglicherweise noch nicht vorhanden ist (z. B. während setSecret oder restore).
Name des Vaults
Verwenden Sie dieses Attribut, um den Zugriff auf Schlüsseltresor zu beschränken, deren Namen einem bestimmten Muster entsprechen. Wenn Sie eine Bedingung im Abonnement- oder Ressourcengruppenbereich anwenden, wertet Azure den Tresornamen für jeden Tresor aus, auf den der Prinzipal zugegriffen werden soll.
| Property | Wert |
|---|---|
| Anzeigename | Name des Vaults |
| Description | Der Name des Schlüsseltresors, auf den zugegriffen wird. |
| Merkmal | Microsoft.KeyVault/vaults:name |
| Attributquelle | Resource |
| Attributtyp | String |
| Anwendbare Aktionen | Alle Key Vault geheimen Datenaktionen (globales Attribut) |
Beispielbedingungen:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'prod-'
@Resource[Microsoft.KeyVault/vaults:name] StringEquals 'sample-vault'
@Resource[Microsoft.KeyVault/vaults:name] StringLike 'team-*-prod'
Geheimer Name (Ressource)
Verwenden Sie dieses Attribut, wenn der geheime Schlüssel zur Auswertungszeit bereits vorhanden ist.
| Property | Wert |
|---|---|
| Anzeigename | Geheimer Name |
| Description | Der Name des geheimen Schlüssels, auf den zugegriffen wird. |
| Merkmal | Microsoft.KeyVault/vaults/secrets:name |
| Attributquelle | Resource |
| Attributtyp | String |
| Anwendbare Aktionen |
getSecret/action, readMetadata/action, update/action, delete, backup/action, , recover/action, purge/action |
Beispielbedingungen:
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringLike 'api-key-*'
Geheimer Name (Anforderung)
Verwenden Sie dieses Attribut, wenn der geheime Schlüssel möglicherweise zur Auswertungszeit noch nicht vorhanden ist, z. B. während der Erstellung oder Wiederherstellung.
| Property | Wert |
|---|---|
| Anzeigename | Geheimer Name (Anforderung) |
| Description | Der Name eines geheimen Schlüssels, der angefordert wird. |
| Merkmal | Microsoft.KeyVault/vaults/secrets:name |
| Attributquelle | Anforderung |
| Attributtyp | String |
| Anwendbare Aktionen |
setSecret/action, restore/action |
Beispielbedingungen:
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
@Request[Microsoft.KeyVault/vaults/secrets:name] StringLike 'config-*'
Rollen, die ABAC-Bedingungen unterstützen
Sie können ABAC-Bedingungen auf jede Rolle anwenden, die Key Vault geheimen Schlüssel dataActionsenthält. Rollen, die nur Steuerungsebenenaktionen (z. B. Besitzer oder Richtlinienadministrator) enthalten, unterstützen keine ABAC-Bedingungen, da Azure Bedingungen ausschließlich für Datenebenenvorgänge auswertet. In dieser Vorschau enthält keine integrierte Rolle eine vordefinierte Key Vault ABAC-Bedingung . Sie erstellen die Bedingung, wenn Sie die Rollenzuweisung erstellen.
Die folgenden integrierten Rollen umfassen geheime Datenaktionen und unterstützen ABAC-Bedingungen in dieser Vorschau. Die vollständigen Rollendefinitionen und IDs finden Sie unter Azure integrierten Rollen für Key Vault Datenebenenvorgänge.
| Rolle | Description | ID | Bedingungsunterstützung |
|---|---|---|---|
| Der Key Vault-Administrator | Führen Sie alle Datenebenenvorgänge in einem Schlüsseltresor und allen darin enthaltenen Objekten aus. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Ressourcen- und Anforderungsattribute für geheime Vorgänge |
| Key Vault-Geheimnisbeauftragter | Führen Sie alle Aktionen für geheime Schlüssel aus. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Ressourcenattribute für Lese- und Lebenszyklusvorgänge; Anfordern von Attributen für setSecret und restore Vorgänge |
| Key Vault Secrets-Benutzer | Lesen der Inhalte von Geheimnissen. | 4633458b-17de-408a-b874-0445c86b69e6 |
Ressourcenattribute für geheime Lesevorgänge |
| Key Vault-Leser | Lesen von Metadaten von Tresoren und deren Objekten. | 21090545-7ca7-4776-b22c-e363652d74d2 |
Ressourcenattribute readMetadata/action für einen einzelnen geheimen Schlüssel. Eine Bedingung für geheimen Namen hier blockiert Listenaufrufe; siehe die Warnung unter "Geheime Metadaten lesen". |
| Key Vault-Zertifikatbenutzer | Zertifikatinhalte lesen. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Ressourcenattribute für getSecret und readMetadata (Zertifikate werden über den geheimen Endpunkt abgerufen – der geheime Name entspricht dem Zertifikatnamen) |
| Benutzerdefinierte Rollen | Jede benutzerdefinierte Rollendefinition, die den geheimen Schlüssel dataActions für Key Vault enthält. |
- | Hängt davon ab, welcher geheime Schlüssel dataActions enthalten ist |
Note
Nur rollen, die über Azure RBAC (nicht Legacy Vault Access Policies) zugewiesen wurden, unterstützen ABAC-Bedingungen. Der Schlüsseltresor muss sein Berechtigungsmodell auf Azure rollenbasierte Zugriffssteuerung festgelegt haben. Ab API Version 2026-02-01 ist Azure RBAC die Standardeinstellung für neu erstellte Tresore. Weitere Informationen finden Sie unter Prepare für Key Vault API Version 2026-02-01 und höher.
Bedingungsbeispiele
Die folgenden Beispiele zeigen allgemeine ABAC-Muster für Key Vault geheimen Schlüssel. Weitere Informationen zur Bedingungssyntax finden Sie unter Azure Rollenzuweisungsbedingungsformat und -syntax.
Beispiel: Einschränken des Lesezugriffs auf geheime Schlüssel mit einem Namenspräfix
Zulassen, dass ein Prinzipal nur geheime Schlüssel liest, deren Namen mit test-app:
- Rolle: Key Vault-Geheimnisbenutzer
- Bereich: Schlüsseltresorressource
- Bedingung:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
)
)
Verhalten:
- Zulässig: Lesen
test-app-secret1. - Verweigert (
ForbiddenByRbac): Lesentest-db-password.
Beispiel: Einschränken des Zugriffs auf geheime Schlüssel in bestimmten Tresoren anhand des Präfixes des Tresornamens
Zulassen, dass ein Prinzipal geheime Schlüssel nur in Tresoren liest, deren Namen mit kv-prod:
- Rolle: Key Vault-Geheimnisbenutzer
- Bereich: Abonnement
- Bedingung:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
Verhalten:
- Zulässig: Zugriff auf
kv-prod-1. - Verweigert: Zugriff auf
test-kv.
Beispiel: Einschränken neu erstellter geheimer Schlüssel auf ein Namenspräfix
Zulassen, dass ein Prinzipal geheime Schlüssel nur erstellt, wenn der geheime Name mit app-. Da der geheime Schlüssel zur Auswertungszeit noch nicht vorhanden ist, verwenden Sie das Attribut "Request":
- Rolle: Key Vault Secrets Officer
- Bereich: Schlüsseltresorressource
- Bedingung:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'})
OR
(
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
)
)
Beispiel: Kombinieren von Tresor- und geheimen Namensbedingungen
Beschränken Sie einen Prinzipal auf schreibgeschützte Geheimschlüssel, die mit api- Tresoren beginnen, deren Namen mit kv-prod:
- Rolle: Key Vault-Geheimnisbenutzer
- Bereich: Abonnement
- Bedingung:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
AND
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-'
)
)
Verwandte Inhalte
- Hinzufügen von Rollenzuweisungsbedingungen für Key Vault geheime Schlüssel mithilfe von Azure CLI (Vorschau)
- Hinzufügen von Rollenzuweisungsbedingungen für Key Vault geheimen Schlüssel mithilfe von Azure PowerShell (Vorschau)
- Was ist die attributbasierte Zugriffssteuerung (Azure Attribute-Based Access Control, Azure ABAC) in Azure?
- Format und Syntax von Azure-Rollenzuweisungsbedingungen
- Gewähren des Zugriffs auf Azure Key Vault-Schlüssel, Zertifikate und Geheimnisse mit Azure RBAC
- Behandeln von Problemen mit Azure-Rollenzuweisungsbedingungen
- Probleme beim Zugriff auf Key Vault beheben
- Vorbereiten auf Key Vault API Version 2026-02-01 und höher