Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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-*ofteam-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): Lezentest-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-'
)
)
Verwante onderwerpen
- Voorwaarden voor roltoewijzing toevoegen voor Key Vault geheimen met behulp van Azure CLI (preview)
- Voorwaarden voor roltoewijzing toevoegen voor Key Vault geheimen met behulp van Azure PowerShell (preview)
- Wat is op kenmerken gebaseerd toegangsbeheer van Azure (Azure ABAC)?
- Indeling en syntaxis van voorwaarden voor Azure-roltoewijzing
- Toegang bieden tot Key Vault-sleutels, -certificaten en -geheimen met Azure RBAC
- Problemen met Azure-roltoewijzingsvoorwaarden oplossen
- Toegangsproblemen met Key Vault oplossen
- Voorbereiden op Key Vault API-versie 2026-02-01 en hoger