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.

Azure RBAC tillåter användare att hantera behörigheter för nyckel, hemligheter och certifikat. Det ger en plats där du kan hantera alla behörigheter för 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 tilldelade i Key Vault-omfånget.

Du bör undvika att tilldela roller på enskilda nycklar, hemligheter och certifikat. Undantag till allmän vägledning:

  • Scenarier där enskilda hemligheter måste delas mellan flera program, till exempel måste ett program komma åt data från det andra programmet

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 Certificates Officer Utför alla åtgärder på certifikaten för ett nyckelvalv, förutom att 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 lägga till rolltilldelningar måste du ha Microsoft.Authorization/roleAssignments/write och Microsoft.Authorization/roleAssignments/delete behörigheter, till exempel Key Vault Data Access Administrator, User Access Administrator eller Owner.

Aktivera Azure RBAC-behörigheter i Key Vault

Kommentar

För att ändra behörighetsmodellen krävs behörigheten 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" stöds inte.

  1. Aktivera Azure RBAC-behörigheter för nytt nyckelvalv:

    Aktivera Azure RBAC-behörigheter – nytt valv

  2. Aktivera Azure RBAC-behörigheter för befintliga nyckelvalv:

    Aktivera Azure RBAC-behörigheter – befintligt valv

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 endast 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> --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 {i.e jalichwa@microsoft.com} --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

  1. Verifiera att du lägger till ny hemlighet utan rollen "Key Vault Secrets Officer" på nyckelvalvsnivå.

    1. Gå till fliken Åtkomstkontroll för nyckelvalv (IAM) och ta bort rolltilldelningen "Key Vault Secrets Officer" för den här resursen.

      Ta bort tilldelning – nyckelvalv

    2. Navigera till en hemlighet som skapats tidigare. Du kan se alla hemliga egenskaper.

      Hemlig vy med åtkomst

    3. Skapa ny hemlighet (Hemligheter > +Generera/importera) bör visa det här felet:

      Skapa ny hemlighet

  2. Verifiera hemlig redigering utan rollen "Key Vault Secret Officer" på hemlig nivå.

    1. Gå till fliken Hemlig åtkomstkontroll (IAM) och ta bort rolltilldelningen "Key Vault Secrets Officer" för den här resursen.

    2. Navigera till en hemlighet som skapats tidigare. Du kan se hemliga egenskaper.

      Hemlig vy utan åtkomst

  3. Verifiera hemligheter som lästs utan läsarroll på nyckelvalvsnivå.

    1. Gå till fliken Åtkomstkontroll för nyckelvalvets resursgrupp (IAM) och ta bort rolltilldelningen "Key Vault Reader".

    2. Om du navigerar till fliken Hemligheter för nyckelvalvet bör det här felet visas:

      Fliken Hemlighet – fel

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:

Anpassade roller i Azure

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.

Läs mer