Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Note
Azure ABAC för Key Vault finns i förhandsversionen. Vissa aspekter kan ändras före allmän tillgänglighet. För förhandsversionsvillkor, se de kompletterande användningsvillkoren.
Den här artikeln beskriver de åtgärder, attribut och operatorer som stöds och som du kan använda under villkor för Azure rolltilldelningar för Azure Key Vault. En översikt över hur rolltilldelningsvillkor fungerar finns i Vad är Azure attributbaserad åtkomstkontroll (Azure ABAC)?. En lista över Key Vault dataåtgärder som en specifik behörighet påverkar finns i åtgärdsguiden Azure RBAC for Key Vault dataplan.
Overview
Azure ABAC för Key Vault bygger på Azure RBAC genom att lägga till villkor i rolltilldelningar. Azure utvärderar varje villkor vid körning mot attributen för den resurs som används eller den inkommande begäran, och tillåter eller nekar antingen begäran baserat på jämförelseoperatorer.
Fördelarna med att använda rolltilldelningsvillkor för Key Vault är:
- Finare åtkomst till hemligheter. Begränsa ett huvudnamn till hemligheter vars namn matchar ett specifikt mönster (till exempel
app-*ellerteam-prod-*), eller till specifika nyckelvalv efter valvnamn. - Färre rolltilldelningar att hantera. Använd en enda villkorsgrindad rolltilldelning för en säkerhetsgrupp i stället för många enskilda tilldelningar som modellerar samma behörigheter. ABAC hjälper dig att skala rollhantering – det beviljar inte behörigheter som en rolltilldelning inte redan beviljar.
- Utökar befintliga Azure RBAC. ABAC-lager ovanpå dina befintliga rolltilldelningar. Du behöver inte ersätta RBAC för att använda den.
I den här förhandsversionen gäller ABAC för Key Vault endast för hemliga dataåtgärder och stöder två attribut: valvnamnet och det hemliga namnet. Viktiga dataåtgärder, certifikatdataåtgärder, taggbaserade attribut, tokenattribut och inbyggda Key Vault ABAC-villkor för någon roll ingår inte.
Om du vill använda ABAC-villkor måste nyckelvalvets behörighetsmodell anges till Azure RBAC. Bakgrund finns i Azure RBAC jämfört med åtkomstprinciper och Förbereda för Key Vault API-version 2026-02-01 och senare.
Villkorsformat
Villkor använder följande allmänna format:
@Resource[<ResourceType>:<AttributeName>] <Operator> '<Value>'
| Component | Description |
|---|---|
@Resource |
Refererar till ett attribut för resursen som används. Använd @Request när attributet beskriver den inkommande begäran (till exempel namnet på en hemlighet som ännu inte finns). |
ResourceType |
Resurstypen Azure Resource Manager. För Key Vault i den här förhandsversionen, antingen Microsoft.KeyVault/vaults eller Microsoft.KeyVault/vaults/secrets. |
AttributeName |
Det specifika attribut som ska utvärderas. I den här förhandsversionen name är det enda attribut som stöds. |
Operator |
Jämförelseoperatorn. Se Operatorer som stöds. |
Value |
Det literalvärde som ska jämföras med. |
Villkorsversionen måste vara inställd på 2.0. Fullständig grammatik finns i Azure villkorsformat och syntax för rolltilldelning.
Operatorer som stöds
Azure Key Vault ABAC-villkor stöder alla strängjämförelseoperatorer som definierats i Azure ABAC-villkorsformat. En fullständig lista över operatorer och deras beteende finns i Strängjämförelseoperatorer.
Note
Azure ABAC-strängjämförelseoperatorer innehåller skiftlägeskänsliga varianter, men Key Vault valvnamn och objektnamn är skiftlägeskänsliga och normaliseras till gemener. Därför gäller skiftlägeskänslig matchning inte för Key Vault ABAC-villkor. Använd gemener i dina villkor – ett värde som innehåller versaler matchar inte valv eller hemligt namn.
Azure Key Vault åtgärder
Du kan tillämpa ABAC-villkor på följande Key Vault hemliga dataåtgärder. Varje underavsnitt beskriver åtgärden, den underliggande DataAction, attributkällan som utvärderas (resurs eller begäran) och ett exempelvillkor.
Hämta hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Hämta hemlighet |
| Description | Hämtar värdet för en hemlig information. |
| DataAction | Microsoft.KeyVault/vaults/secrets/getSecret/action |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app' |
Läsa hemliga metadata
| Property | Value |
|---|---|
| Visningsnamn | Läsa hemliga metadata |
| Description | Visar eller visar egenskaperna för en hemlighet, men inte dess värde. |
| DataAction | Microsoft.KeyVault/vaults/secrets/readMetadata/action |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/readMetadata/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-' |
Varning
Omfattar readMetadata/action både hämtning av en enskild hemlighets egenskaper (som bär ett hemligt namn) och listar hemligheter i ett valv (ett samlingsanrop utan namn per hemlighet). ABAC utvärderar ett villkor per åtgärd, inte rad för rad mot listresultat, så ett villkor för hemligt namn misslyckas readMetadata/action med listanropet med ett 403-fel – name attributet finns inte i samlingsbegäran och kan inte matcha. Det här beteendet visas på portalens bladet Hemligheter som en tom lista.
Om du vill att ett huvudnamn ska se varje hemligt namn i listan men bara öppna de värden som matchar ett mönster ska du inte grinda readMetadata/action. Bevilja readMetadata/action i stället villkorslöst och tillämpa villkoret secret-name på getSecret/action. Se exemplet Begränsa läsbehörighet till hemligheter med ett namnprefix .
Ange hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Ange hemlighet |
| Description | Anger värdet för en hemlighet. Om hemligheten inte finns skapas den första versionen. Annars skapas en ny version med det angivna värdet. |
| DataAction | Microsoft.KeyVault/vaults/secrets/setSecret/action |
| Attribueter för begäran | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Uppdatera hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Uppdatera hemlighet |
| Description | Uppdaterar attributen som är associerade med den angivna hemligheten. |
| DataAction | Microsoft.KeyVault/vaults/secrets/update/action |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/update/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Ta bort hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Ta bort hemlighet |
| Description | Tar bort en hemlighet. Alla versioner tas bort. |
| DataAction | Microsoft.KeyVault/vaults/secrets/delete |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/delete'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'temp-' |
Säkerhetskopieringshemlighet
| Property | Value |
|---|---|
| Visningsnamn | Säkerhetskopieringshemlighet |
| Description | Skapar säkerhetskopian av en hemlighet. Filen kan användas för att återställa hemligheten i ett nyckelvalv i samma prenumeration. Begränsningar kan gälla. |
| DataAction | Microsoft.KeyVault/vaults/secrets/backup/action |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/backup/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'critical-' |
Återställ hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Återställ hemlighet |
| Description | Återställer en hemlighet och alla dess versioner från en säkerhetskopia som genereras av Key Vault. |
| DataAction | Microsoft.KeyVault/vaults/secrets/restore/action |
| Attribueter för begäran | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/restore/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Återställa hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Återställa hemlighet |
| Description | Återställer en borttagen hemlighet. Åtgärden utför återföringen av åtgärden Ta bort och gäller i valv som är aktiverade för mjuk borttagning. |
| DataAction | Microsoft.KeyVault/vaults/secrets/recover/action |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/recover/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Rensa hemlighet
| Property | Value |
|---|---|
| Visningsnamn | Rensa hemlighet |
| Description | Rensar en borttagen hemlighet, vilket gör den oåterkallelig. |
| DataAction | Microsoft.KeyVault/vaults/secrets/purge/action |
| Resursattribut | Hemligt namn |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/purge/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'old-' |
Attributkällor
Attribut beskriver egenskaper som utvärderas vid begärandetillfället. Resursattribut beskriver resursen som används. Begärandeattribut beskriver den inkommande begäran när resursen kanske ännu inte finns (till exempel under setSecret eller restore).
Valvnamn
Använd det här attributet för att begränsa åtkomsten till nyckelvalv vars namn matchar ett visst mönster. När du tillämpar ett villkor i prenumerations- eller resursgruppsomfång utvärderar Azure valvnamnet för varje valv som huvudnamnet försöker komma åt.
| Property | Value |
|---|---|
| Visningsnamn | Valvnamn |
| Description | Namnet på nyckelvalvet som används. |
| Attribute | Microsoft.KeyVault/vaults:name |
| Attributkälla | Resource |
| Typ av attribut | String |
| Tillämpliga åtgärder | Alla Key Vault hemliga dataåtgärder (globalt attribut) |
Exempelvillkor:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'prod-'
@Resource[Microsoft.KeyVault/vaults:name] StringEquals 'sample-vault'
@Resource[Microsoft.KeyVault/vaults:name] StringLike 'team-*-prod'
Hemligt namn (resurs)
Använd det här attributet när hemligheten redan finns vid utvärderingstillfället.
| Property | Value |
|---|---|
| Visningsnamn | Hemligt namn |
| Description | Namnet på hemligheten som används. |
| Attribute | Microsoft.KeyVault/vaults/secrets:name |
| Attributkälla | Resource |
| Typ av attribut | String |
| Tillämpliga åtgärder |
getSecret/action, readMetadata/action, update/action, delete, backup/action, , , recover/actionpurge/action |
Exempelvillkor:
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringLike 'api-key-*'
Hemligt namn (begäran)
Använd det här attributet när hemligheten kanske inte finns vid utvärderingstillfället, till exempel under skapandet eller återställningen.
| Property | Value |
|---|---|
| Visningsnamn | Hemligt namn (begäran) |
| Description | Namnet på en hemlighet som begärs. |
| Attribute | Microsoft.KeyVault/vaults/secrets:name |
| Attributkälla | Förfrågan |
| Typ av attribut | String |
| Tillämpliga åtgärder |
setSecret/action, restore/action |
Exempelvillkor:
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
@Request[Microsoft.KeyVault/vaults/secrets:name] StringLike 'config-*'
Roller som stöder ABAC-villkor
Du kan tillämpa ABAC-villkor på alla roller som innehåller Key Vault hemlighet dataActions. Roller som endast innehåller kontrollplansåtgärder (till exempel ägare eller principadministratör) stöder inte ABAC-villkor eftersom Azure utvärderar villkor exklusivt för dataplansåtgärder. I den här förhandsversionen innehåller ingen inbyggd roll en förtilldelad Key Vault ABAC-villkor – du skapar villkoret när du skapar rolltilldelningen.
Följande inbyggda roller omfattar hemliga dataåtgärder och stöd för ABAC-villkor i den här förhandsversionen. Fullständiga rolldefinitioner och ID:er finns i Azure inbyggda roller för Key Vault dataplansåtgärder.
| Befattning | Description | ID | Villkorsstöd |
|---|---|---|---|
| Key Vault-administratör | Utför alla dataplanåtgärder på ett nyckelvalv och alla objekt i det. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Resurs- och begärandeattribut för hemliga åtgärder |
| Key Vault hemlighetsansvarig | Utför alla åtgärder på hemligheter. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Resursattribut för läs- och livscykelåtgärder. Begär attribut på setSecret och restore åtgärder |
| Key Vault Secrets-användare | Läs hemligt innehåll. | 4633458b-17de-408a-b874-0445c86b69e6 |
Resursattribut för hemliga läsåtgärder |
| Key Vault-läsare | Läs metadata för valv och deras objekt. | 21090545-7ca7-4776-b22c-e363652d74d2 |
Resursattribut på readMetadata/action för en enda hemlighet. Ett villkor för hemligt namn här blockerar listanrop; se varningen under Läs hemliga metadata. |
| Key Vault-certifikatanvändare | Läsa certifikatinnehåll. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Resursattribut på getSecret och readMetadata (certifikat hämtas via den hemliga slutpunkten – det hemliga namnet är lika med certifikatnamnet) |
| Skräddarsydda roller | Alla anpassade rolldefinitioner som innehåller hemlighet dataActions för Key Vault. |
- | Beror på vilken hemlighet dataActions som ingår |
Note
Endast roller som tilldelats via Azure RBAC (inte äldre åtkomstprinciper för valv) stöder ABAC-villkor. Nyckelvalvet måste ha sin behörighetsmodell inställd på Azure rollbaserad åtkomstkontroll. Från och med API-version 2026-02-01 är Azure RBAC standard för nyligen skapade valv. Mer information finns i Prepare for Key Vault API version 2026-02-01 och senare.
Villkorsexempel
I följande exempel visas vanliga ABAC-mönster för Key Vault hemligheter. Mer information om villkorssyntaxen finns i Azure format och syntax för rolltilldelningsvillkor.
Exempel: Begränsa läsåtkomst till hemligheter med ett namnprefix
Tillåt att ett huvudnamn endast kan läsa hemligheter vars namn börjar med test-app:
- Role: Key Vault-sekretessanvändare
- Omfång: Key Vault-resurs
- Villkor:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
)
)
Beteende:
- Tillåten: Läser
test-app-secret1. - Nekad (
ForbiddenByRbac): Läsertest-db-password.
Exempel: Begränsa åtkomsten till hemligheter i specifika valv efter valvnamnprefix
Tillåt att ett huvudnamn endast läser hemligheter i valv vars namn börjar med kv-prod:
- Role: Key Vault-sekretessanvändare
- Omfång: Prenumeration
- Villkor:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
Beteende:
- Tillåten: Åtkomst till
kv-prod-1. - Nekad: Åtkomst till
test-kv.
Exempel: Begränsa nyligen skapade hemligheter till ett namnprefix
Tillåt endast att ett huvudnamn skapar hemligheter när det hemliga namnet börjar med app-. Eftersom hemligheten ännu inte finns vid utvärderingstillfället använder du attributet Begäran:
- Roll: Key Vault Hemlighetsansvarig
- Omfång: Key Vault-resurs
- Villkor:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'})
OR
(
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
)
)
Exempel: Kombinera villkor för valv och hemligt namn
Begränsa ett huvudnamn till skrivskyddade hemligheter som börjar med api- i valv vars namn börjar med kv-prod:
- Role: Key Vault-sekretessanvändare
- Omfång: Prenumeration
- Villkor:
(
!(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-'
)
)
Relaterat innehåll
- Lägga till rolltilldelningsvillkor för Key Vault hemligheter med hjälp av Azure CLI (förhandsversion)
- Lägga till rolltilldelningsvillkor för Key Vault hemligheter med hjälp av Azure PowerShell (förhandsversion)
- Vad är azure-attributbaserad åtkomstkontroll (Azure ABAC)?
- Villkorsformat och syntax för Azure-rolltilldelning
- Ge åtkomst till Key Vault-nycklar, certifikat och hemligheter med Azure RBAC
- Felsöka villkor för Rolltilldelning i Azure
- Felsöka problem med åtkomst till nyckelvalv
- Förbereda för Key Vault API-version 2026-02-01 och senare