Aktionen und Attribute für Azure Key Vault ABAC-Bedingungen (Vorschau)

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): Lesen test-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-'
  )
)