Ge åtkomst till Key Vault-nycklar, certifikat och hemligheter med en rollbaserad åtkomstkontroll i Azure
Kommentar
Key Vault-resursprovidern stöder två resurstyper: valv och hanterade HSM:er. Åtkomstkontroll som beskrivs i den här artikeln gäller endast för valv. Mer information om åtkomstkontroll för hanterad HSM finns i Hanterad HSM-åtkomstkontroll.
Kommentar
Azure App Service-certifikatkonfiguration via Azure-portalen stöder inte Key Vault RBAC-behörighetsmodell. Du kan använda distributioner av Azure PowerShell, Azure CLI och ARM-mallar med rolltilldelning för Key Vault-certifikatanvändare för global App Service-identitet, till exempel Microsoft Azure App Service i det offentliga molnet.
Rollbaserad åtkomstkontroll i Azure (Azure RBAC) är ett auktoriseringssystem som bygger på Azure Resource Manager och som tillhandahåller centraliserad åtkomsthantering av Azure-resurser.
Med Azure RBAC kan användare hantera behörigheter för nycklar, hemligheter och certifikat och på samma plats hantera alla behörigheter i alla nyckelvalv.
Med Azure RBAC-modellen kan användare ange behörigheter på olika omfångsnivåer: hanteringsgrupp, prenumeration, resursgrupp eller enskilda resurser. Med Azure RBAC för key vault kan användarna också ha separata behörigheter för enskilda nycklar, hemligheter och certifikat.
Mer information finns i Rollbaserad åtkomstkontroll i Azure (Azure RBAC).
Metodtips för rolltilldelningar för enskilda nycklar, hemligheter och certifikat
Vår rekommendation är att använda ett valv per program per miljö (utveckling, förproduktion och produktion) med roller som tilldelats i key vault-omfånget.
Du bör undvika att tilldela roller på enskilda nycklar, hemligheter och certifikat. Ett undantag är ett scenario där enskilda hemligheter måste delas mellan flera program. till exempel där ett program behöver komma åt data från ett annat program.
Mer information om riktlinjer för Hantering av Azure Key Vault finns i:
Inbyggda Azure-roller för Key Vault-dataplansåtgärder
Kommentar
Rollen Key Vault Contributor
är endast avsedd för hanteringsplanåtgärder för att hantera nyckelvalv. Det tillåter inte åtkomst till nycklar, hemligheter och certifikat.
Inbyggd roll | beskrivning | ID |
---|---|---|
Key Vault-administratör | Utför alla dataplansåtgärder på ett nyckelvalv och alla objekt i det, inklusive certifikat, nycklar och hemligheter. Det går inte att hantera key vault-resurser eller hantera rolltilldelningar. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Key Vault-läsare | Läs metadata för nyckelvalv och dess certifikat, nycklar och hemligheter. Det går inte att läsa känsliga värden, till exempel hemligt innehåll eller nyckelmaterial. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | 21090545-7ca7-4776-b22c-e363652d74d2 |
Key Vault-rensningsoperator | Tillåter permanent borttagning av mjukt borttagna valv. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
Key Vault Certificates Officer | Utför alla åtgärder på certifikaten för ett nyckelvalv, förutom att läsa hemlighets- och nyckeldelarna och hantera behörigheter. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | a4417e6f-fecd-4de8-b567-7b0420556985 |
Key Vault-certifikatanvändare | Läs hela certifikatinnehållet, inklusive hemlighet och nyckeldel. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Key Vault Crypto Officer | Utför alla åtgärder på nycklarna i ett nyckelvalv, förutom att hantera behörigheter. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | 14b46e9e-c2b7-41b4-b07b-48a6ebf60603 |
Krypteringsanvändare för Key Vault Crypto Service | Läs metadata för nycklar och utför wrap/unwrap-åtgärder. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | e147488a-f6f5-4113-8e2d-b22465e65bf6 |
Key Vault Crypto-användare | Utför kryptografiska åtgärder med hjälp av nycklar. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | 12338af0-0e69-4776-bea7-57ae8d297424 |
Key Vault Crypto Service Release User | Versionsnycklar för Azure Confidential Computing och motsvarande miljöer. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | |
Key Vault Secrets Officer | Utför alla åtgärder på hemligheterna i ett nyckelvalv, förutom att hantera behörigheter. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Nyckelvalvshemlighetsanvändare | Läs hemligt innehåll inklusive hemlig del av ett certifikat med privat nyckel. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". | 4633458b-17de-408a-b874-0445c86b69e6 |
Mer information om inbyggda Rolldefinitioner i Azure finns i Inbyggda Azure-roller.
Hantera inbyggda rolltilldelningar för Key Vault-dataplan
Inbyggd roll | beskrivning | ID |
---|---|---|
Key Vault-administratör för dataåtkomst | Hantera åtkomst till Azure Key Vault genom att lägga till eller ta bort rolltilldelningar för Key Vault-administratören, Key Vault Certificates Officer, Key Vault Crypto Officer, Key Vault Crypto Service Encryption User, Key Vault Crypto User, Key Vault Reader, Key Vault Secrets Officer eller Key Vault Secrets User-roller. Innehåller ett ABAC-villkor för att begränsa rolltilldelningar. | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
Använda Azure RBAC-behörigheter för hemlighet, nyckel och certifikat med Key Vault
Den nya Azure RBAC-behörighetsmodellen för nyckelvalv är ett alternativ till behörighetsmodellen för valvåtkomstprincip.
Förutsättningar
Du måste ha en Azure-prenumeration. Om du inte gör det kan du skapa ett kostnadsfritt konto innan du börjar.
Om du vill hantera rolltilldelningar måste du ha Microsoft.Authorization/roleAssignments/write
och Microsoft.Authorization/roleAssignments/delete
behörigheter, till exempel Key Vault Data Access Administrator (med begränsad behörighet att endast tilldela/ta bort specifika Key Vault-roller), administratör för användaråtkomst eller ägare.
Aktivera Azure RBAC-behörigheter i Key Vault
Kommentar
För att ändra behörighetsmodellen krävs obegränsad behörighet för "Microsoft.Authorization/roleAssignments/write", som ingår i rollerna Ägare och Administratör för användaråtkomst. Klassiska administratörsroller för prenumerationer som "Tjänstadministratör" och "medadministratör", eller begränsade "Key Vault Data Access Administrator" kan inte användas för att ändra behörighetsmodellen.
Aktivera Azure RBAC-behörigheter för nytt nyckelvalv:
Aktivera Azure RBAC-behörigheter för befintliga nyckelvalv:
Viktigt!
Om du anger Azure RBAC-behörighetsmodellen ogiltigförklaras alla behörigheter för åtkomstprinciper. Det kan orsaka avbrott när motsvarande Azure-roller inte tilldelas.
Tilldela rollen
Kommentar
Vi rekommenderar att du använder det unika roll-ID:t i stället för rollnamnet i skript. Om en roll byter namn fortsätter skripten därför att fungera. I det här dokumentrollnamnet används för läsbarhet.
Om du vill skapa en rolltilldelning med hjälp av Azure CLI använder du kommandot az role assignment :
az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}
Fullständig information finns i Tilldela Azure-roller med Hjälp av Azure CLI.
Rolltilldelning för resursgruppsomfång
az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
Fullständig information finns i Tilldela Azure-roller med Hjälp av Azure CLI.
Ovanstående rolltilldelning ger möjlighet att lista key vault-objekt i key vault.
Rolltilldelning för Key Vault-omfång
az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
Fullständig information finns i Tilldela Azure-roller med Hjälp av Azure CLI.
Rolltilldelning för hemligt omfång
Kommentar
Nyckelvalvshemlighet, certifikat och rolltilldelningar för nyckelomfattningar bör endast användas för begränsade scenarier som beskrivs här för att följa rekommenderade säkerhetsmetoder.
az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
Fullständig information finns i Tilldela Azure-roller med Hjälp av Azure CLI.
Testa och verifiera
Kommentar
Webbläsare använder cachelagring och siduppdatering krävs när rolltilldelningar har tagits bort. Tillåt flera minuter för rolltilldelningar att uppdateras
Verifiera att du lägger till ny hemlighet utan rollen "Key Vault Secrets Officer" på nyckelvalvsnivå.
Gå till fliken Åtkomstkontroll för nyckelvalv (IAM) och ta bort rolltilldelningen "Key Vault Secrets Officer" för den här resursen.
Navigera till en hemlighet som skapats tidigare. Du kan se alla hemliga egenskaper.
Skapa ny hemlighet (Hemligheter > +Generera/importera) bör visa det här felet:
Verifiera hemlig redigering utan rollen "Key Vault Secret Officer" på hemlig nivå.
Gå till fliken Hemlig åtkomstkontroll (IAM) och ta bort rolltilldelningen "Key Vault Secrets Officer" för den här resursen.
Navigera till en hemlighet som skapats tidigare. Du kan se hemliga egenskaper.
Verifiera hemligheter som lästs utan läsarroll på nyckelvalvsnivå.
Gå till fliken Åtkomstkontroll för nyckelvalvets resursgrupp (IAM) och ta bort rolltilldelningen "Key Vault Reader".
Om du navigerar till fliken Hemligheter för nyckelvalvet bör det här felet visas:
Skapa anpassade roller
kommandot az role definition create
az role definition create --role-definition '{ \
"Name": "Backup Keys Operator", \
"Description": "Perform key backup/restore operations", \
"Actions": [
], \
"DataActions": [ \
"Microsoft.KeyVault/vaults/keys/read ", \
"Microsoft.KeyVault/vaults/keys/backup/action", \
"Microsoft.KeyVault/vaults/keys/restore/action" \
], \
"NotDataActions": [
], \
"AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'
Mer information om hur du skapar anpassade roller finns i:
Vanliga frågor och svar
Kan jag använda rollbaserad åtkomstkontroll för Key Vault (RBAC) för tilldelningar av objektomfångstilldelningar för objektomfattning för att tillhandahålla isolering för programteam i Key Vault?
Nej. Med RBAC-behörighetsmodellen kan du tilldela åtkomst till enskilda objekt i Key Vault till användare eller program, men alla administrativa åtgärder som nätverksåtkomstkontroll, övervakning och objekthantering kräver behörigheter på valvnivå som sedan exponerar säker information för operatörer i programteam.