Acties en kenmerken voor Azure Key Vault ABAC-voorwaarden (preview)

Note

Azure ABAC voor Key Vault is in preview. Sommige aspecten kunnen veranderen vóór algemene beschikbaarheid. Zie de aanvullende gebruiksvoorwaarden voor preview-voorwaarden.

In dit artikel worden de ondersteunde acties, kenmerken en operators beschreven die u kunt gebruiken in voorwaarden voor Azure roltoewijzingen voor Azure Key Vault. Zie Wat is Azure op kenmerken gebaseerd toegangsbeheer (Azure ABAC)) voor een overzicht van hoe voorwaarden voor roltoewijzing werken. Zie de Azure RBAC voor Key Vault bewerkingshandleiding voor gegevensvlakken voor de lijst met Key Vault gegevensacties die van invloed zijn op een specifieke machtiging.

Overview

Azure ABAC voor Key Vault bouwt voort op Azure RBAC door voorwaarden toe te voegen aan roltoewijzingen. Azure evalueert elke voorwaarde tijdens runtime op basis van de kenmerken van de resource die wordt geopend of de binnenkomende aanvraag, en staat de aanvraag toe of weigert deze op basis van vergelijkingsoperators.

De voordelen van het gebruik van voorwaarden voor roltoewijzing voor Key Vault zijn:

  • Verfijnde toegang tot geheimen. Beperk een principal tot geheimen waarvan de namen overeenkomen met een specifiek patroon (bijvoorbeeld app-* of team-prod-*) of aan specifieke sleutelkluizen op kluisnaam.
  • Minder roltoewijzingen om te beheren. Gebruik één voorwaardegebonden roltoewijzing voor een beveiligingsgroep in plaats van veel afzonderlijke toewijzingen die dezelfde machtigingen modelleren. ABAC helpt u bij het schalen van rolbeheer. Het verleent geen machtigingen die een roltoewijzing nog niet verleent.
  • Breidt bestaande Azure RBAC uit. ABAC-lagen boven op uw bestaande roltoewijzingen. U hoeft RBAC niet te vervangen om deze te gebruiken.

In deze preview is ABAC voor Key Vault alleen van toepassing op geheime gegevensacties en ondersteunt twee kenmerken: de kluisnaam en de geheime naam. Belangrijke gegevensacties, certificaatgegevensacties, kenmerken op basis van tags, tokenkenmerken en ingebouwde Key Vault ABAC-voorwaarden voor een rol zijn niet opgenomen.

Als u ABAC-voorwaarden wilt gebruiken, moet het machtigingsmodel van de sleutelkluis worden ingesteld op Azure RBAC. Zie voor achtergrond Azure RBAC versus toegangsbeleid en Voorbereiden op Key Vault API-versie 2026-02-01 en hoger.

Opmaak van voorwaarde

Voorwaarden gebruiken de volgende algemene indeling:

@Resource[<ResourceType>:<AttributeName>] <Operator> '<Value>'
Onderdeel Description
@Resource Verwijst naar een kenmerk van de resource die wordt geopend. Gebruik @Request deze functie wanneer het kenmerk de binnenkomende aanvraag beschrijft (bijvoorbeeld de naam van een geheim dat nog niet bestaat).
ResourceType Het resourcetype Azure Resource Manager. Voor Key Vault in deze preview- Microsoft.KeyVault/vaults of Microsoft.KeyVault/vaults/secrets.
AttributeName Het specifieke kenmerk dat moet worden geëvalueerd. In deze preview name is dit het enige ondersteunde kenmerk.
Operator De vergelijkingsoperator. Zie ondersteunde operators.
Value De letterlijke waarde die moet worden vergeleken met.

De voorwaardeversie moet worden ingesteld op 2.0. Zie Azure indeling en syntaxis voor de voorwaarde voor roltoewijzingen voor de volledige grammatica.

Ondersteunde operators

Azure Key Vault ABAC-voorwaarden ondersteunen alle tekenreeksvergelijkingsoperatoren die zijn gedefinieerd in de indeling van de ABAC-voorwaarde Azure. Zie Vergelijkingsoperatoren voor tekenreeksen voor de volledige lijst met operators en hun gedrag.

Note

Azure ABAC-tekenreeksvergelijkingsoperatoren bevatten hoofdlettergevoelige varianten, maar Key Vault kluisnamen en objectnamen hoofdlettergevoelig zijn en worden genormaliseerd in kleine letters. Als gevolg hiervan zijn hoofdlettergevoelige overeenkomsten niet van toepassing op Key Vault ABAC-voorwaarden. Gebruik kleine letters in uw voorwaarden. Een waarde met hoofdletters komt niet overeen met een kluis of geheime naam.

Azure Key Vault acties

U kunt ABAC-voorwaarden toepassen op de volgende Key Vault geheime gegevensacties. Elke subsectie beschrijft de actie, de onderliggende DataAction, de kenmerkbron die wordt geëvalueerd (resource of aanvraag) en een voorbeeldvoorwaarde.

Geheim ophalen

Property Value
weergavenaam Geheim ophalen
Description Hiermee haalt u de waarde van een geheim op.
DataAction Microsoft.KeyVault/vaults/secrets/getSecret/action
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'

Geheime metagegevens lezen

Property Value
weergavenaam Geheime metagegevens lezen
Description Hiermee worden de eigenschappen van een geheim, maar niet de waarde ervan weergegeven of weergegeven.
DataAction Microsoft.KeyVault/vaults/secrets/readMetadata/action
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/readMetadata/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-'

Warning

De readMetadata/action beschrijving omvat het ophalen van de eigenschappen van één geheim (die een geheime naam bevat) en het weergeven van geheimen in een kluis (een verzamelingsaanroep zonder naam per geheim). ABAC evalueert een voorwaarde per actie, niet rij-op-rij ten opzichte van lijstresultaten, dus een geheime-naamvoorwaarde bij readMetadata/action mislukte lijstaanroep met een 403-fout: het name kenmerk is niet aanwezig in de verzamelingsaanvraag en kan niet overeenkomen. Dit gedrag wordt op de blade Geheimen van de portal weergegeven als een lege lijst.

Als u wilt dat een principal elke geheime naam in de lijst ziet, maar alleen de waarden opent die overeenkomen met een patroon, moet u niet gateen readMetadata/action. In plaats daarvan readMetadata/action verleent u voorwaardelijke toegang en past u de voorwaarde voor de geheime naam toe op getSecret/action. Zie het voorbeeld leestoegang tot geheimen beperken met een naamvoorvoegsel .

Geheim instellen

Property Value
weergavenaam Geheim instellen
Description Hiermee stelt u de waarde van een geheim in. Als het geheim niet bestaat, wordt de eerste versie gemaakt. Anders wordt er een nieuwe versie gemaakt met de opgegeven waarde.
DataAction Microsoft.KeyVault/vaults/secrets/setSecret/action
Kenmerken aanvragen Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'

Geheim bijwerken

Property Value
weergavenaam Geheim bijwerken
Description Hiermee worden de kenmerken bijgewerkt die zijn gekoppeld aan het opgegeven geheim.
DataAction Microsoft.KeyVault/vaults/secrets/update/action
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/update/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'

Geheim verwijderen

Property Value
weergavenaam Geheim verwijderen
Description Hiermee verwijdert u een geheim. Alle versies worden verwijderd.
DataAction Microsoft.KeyVault/vaults/secrets/delete
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/delete'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'temp-'

Back-upgeheim

Property Value
weergavenaam Back-upgeheim
Description Hiermee maakt u het back-upbestand van een geheim. Het bestand kan worden gebruikt om het geheim te herstellen in een sleutelkluis van hetzelfde abonnement. Er zijn mogelijk beperkingen van toepassing.
DataAction Microsoft.KeyVault/vaults/secrets/backup/action
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/backup/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'critical-'

Geheim herstellen

Property Value
weergavenaam Geheim herstellen
Description Hiermee herstelt u een geheim en alle bijbehorende versies van een back-upbestand dat is gegenereerd door Key Vault.
DataAction Microsoft.KeyVault/vaults/secrets/restore/action
Kenmerken aanvragen Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/restore/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'

Geheim herstellen

Property Value
weergavenaam Geheim herstellen
Description Herstelt een verwijderd geheim. De bewerking voert de omkering van de verwijderbewerking uit en is van toepassing in kluizen die zijn ingeschakeld voor voorlopig verwijderen.
DataAction Microsoft.KeyVault/vaults/secrets/recover/action
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/recover/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'

Geheim leegmaken

Property Value
weergavenaam Geheim leegmaken
Description Verwijdert een verwijderd geheim, waardoor het niet meer kan worden hersteld.
DataAction Microsoft.KeyVault/vaults/secrets/purge/action
Resourcekenmerken Geheime naam
Example !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/purge/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'old-'

Kenmerkbronnen

Kenmerken beschrijven eigenschappen die op aanvraag zijn geëvalueerd. Resourcekenmerken beschrijven de resource die wordt geopend. Aanvraagkenmerken beschrijven de binnenkomende aanvraag wanneer de resource mogelijk nog niet bestaat (bijvoorbeeld tijdens setSecret of restore).

Kluisnaam

Gebruik dit kenmerk om toegang te krijgen tot sleutelkluizen waarvan de namen overeenkomen met een bepaald patroon. Wanneer u een voorwaarde toepast op abonnements- of resourcegroepsbereik, evalueert Azure de kluisnaam voor elke kluis waartoe de principal toegang probeert te krijgen.

Property Value
weergavenaam Kluisnaam
Description De naam van de sleutelkluis die wordt geopend.
Attribute Microsoft.KeyVault/vaults:name
Kenmerkbron Resource
Attribuuttype String
Toepasselijke acties Alle Key Vault geheime gegevensacties (globaal kenmerk)

Voorbeeldvoorwaarden:

@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'prod-'
@Resource[Microsoft.KeyVault/vaults:name] StringEquals 'sample-vault'
@Resource[Microsoft.KeyVault/vaults:name] StringLike 'team-*-prod'

Geheime naam (resource)

Gebruik dit kenmerk wanneer het geheim al bestaat tijdens de evaluatie.

Property Value
weergavenaam Geheime naam
Description De naam van het geheim dat wordt geopend.
Attribute Microsoft.KeyVault/vaults/secrets:name
Kenmerkbron Resource
Attribuuttype String
Toepasselijke acties getSecret/action, readMetadata/action, update/action, delete, backup/action, , recover/action, purge/action

Voorbeeldvoorwaarden:

@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringLike 'api-key-*'

Geheime naam (aanvraag)

Gebruik dit kenmerk wanneer het geheim mogelijk nog niet bestaat tijdens de evaluatie, zoals tijdens het maken of herstellen.

Property Value
weergavenaam Geheime naam (aanvraag)
Description De naam van een geheim dat wordt aangevraagd.
Attribute Microsoft.KeyVault/vaults/secrets:name
Kenmerkbron Verzoek
Attribuuttype String
Toepasselijke acties setSecret/action, restore/action

Voorbeeldvoorwaarden:

@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
@Request[Microsoft.KeyVault/vaults/secrets:name] StringLike 'config-*'

Rollen die ABAC-voorwaarden ondersteunen

U kunt ABAC-voorwaarden toepassen op elke rol die Key Vault geheim dataActionsbevat. Rollen die alleen besturingsvlakacties (zoals Eigenaar of Beleidsbeheerder) bevatten, bieden geen ondersteuning voor ABAC-voorwaarden, omdat Azure voorwaarden exclusief evalueert voor bewerkingen op het gegevensvlak. In deze preview bevat geen ingebouwde rol een vooraf toegewezen Key Vault ABAC-voorwaarde: u ontwerpt de voorwaarde wanneer u de roltoewijzing maakt.

De volgende ingebouwde rollen omvatten geheime gegevensacties en ondersteunen ABAC-voorwaarden in deze preview. Zie Azure ingebouwde rollen voor Key Vault gegevensvlakbewerkingen voor de volledige roldefinities en id's.

Role Description Id Ondersteuning voor voorwaarde
Key Vault-beheerder Voer alle gegevensvlakbewerkingen uit op een sleutelkluis en alle objecten erin. 00482a5a-887f-4fb3-b363-3b7fe8e74483 Resource- en aanvraagkenmerken voor geheime bewerkingen
Key Vault Geheimenbeheerder Voer een actie uit voor geheimen. b86a8fe4-44ce-4948-aee5-eccb2c155cd7 Resourcekenmerken voor lees- en levenscyclusbewerkingen; Kenmerken aanvragen voor setSecret en restore bewerkingen
Key Vault Secrets-gebruiker Geheime inhoud lezen. 4633458b-17de-408a-b874-0445c86b69e6 Resourcekenmerken voor geheime leesbewerkingen
Key Vault-lezer Metagegevens van kluizen en hun objecten lezen. 21090545-7ca7-4776-b22c-e363652d74d2 Resourcekenmerken readMetadata/action voor één geheim. Een geheime-naamvoorwaarde hier blokkeert lijstaanroepen; zie de waarschuwing onder Geheime metagegevens lezen.
Key Vault-certificaatgebruiker De inhoud van het certificaat lezen. db79e9a7-68ee-4b58-9aeb-b90e7c24fcba Resourcekenmerken ingeschakeld getSecret en readMetadata (certificaten worden opgehaald via het geheime eindpunt: de geheime naam is gelijk aan de certificaatnaam)
Aangepaste rollen Elke aangepaste roldefinitie die geheim dataActions bevat voor Key Vault. - Is afhankelijk van welk geheim dataActions is opgenomen

Note

Alleen rollen die zijn toegewezen via Azure RBAC (geen verouderd toegangsbeleid voor kluizen) ondersteunen ABAC-voorwaarden. Voor de sleutelkluis moet het machtigingsmodel zijn ingesteld op Azure op rollen gebaseerd toegangsbeheer. Vanaf API-versie 2026-02-01 is Azure RBAC de standaardinstelling voor nieuw gemaakte kluizen. Zie Voorbereiding voor Key Vault API-versie 2026-02-01 en hoger voor meer informatie.

Voorbeelden van voorwaarden

In de volgende voorbeelden ziet u algemene ABAC-patronen voor Key Vault geheimen. Zie Azure indeling en syntaxis voor roltoewijzingen voor meer informatie over de syntaxis van de voorwaarde.

Voorbeeld: Leestoegang tot geheimen beperken met een naamvoorvoegsel

Sta een principal toe om alleen geheimen te lezen waarvan de namen beginnen met test-app:

  • Role: Key Vault Secrets Gebruiker
  • Bereik: Key Vault-resource
  • Voorwaarde:
(
  !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
  OR
  (
    @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
  )
)

Gedrag:

  • Toegestaan: lezen test-app-secret1.
  • Geweigerd (ForbiddenByRbac): Lezen test-db-password.

Voorbeeld: Toegang tot geheimen in specifieke kluizen beperken op naamvoorvoegsel van kluis

Sta een principal toe om geheimen alleen te lezen in kluizen waarvan de namen beginnen met kv-prod:

  • Role: Key Vault Secrets Gebruiker
  • Bereik: Abonnement
  • Voorwaarde:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'

Gedrag:

  • Toegestaan: toegang tot kv-prod-1.
  • Geweigerd: toegang tot test-kv.

Voorbeeld: Nieuw gemaakte geheimen beperken tot een naamvoorvoegsel

Sta een principal toe om alleen geheimen te maken wanneer de geheime naam begint met app-. Omdat het geheim nog niet bestaat tijdens de evaluatie, gebruikt u het kenmerk Aanvraag:

  • Rol: Key Vault Geheimen officer
  • Bereik: Key Vault-resource
  • Voorwaarde:
(
  !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'})
  OR
  (
    @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
  )
)

Voorbeeld: Voorwaarden voor kluis- en geheime naam combineren

Beperk een principal tot alleen-lezen geheimen die beginnen in api- kluizen waarvan de namen beginnen met kv-prod:

  • Role: Key Vault Secrets Gebruiker
  • Bereik: Abonnement
  • Voorwaarde:
(
  !(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-'
  )
)