Dela via


Ge åtkomst till Key Vault-nycklar, certifikat och hemligheter med rollbaserad åtkomstkontroll i Azure

Anmärkning

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.

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.

Tilldelning av roller på enskilda nycklar, hemligheter och certifikat bör undvikas. 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

Anmärkning

Rollen Key Vault Contributor är endast avsedd för kontrollplansoperationer för att hantera nyckelvalv. Det tillåter inte åtkomst till nycklar, hemligheter och certifikat.

Inbyggd roll Beskrivning ID-nummer
Key Vault-administratör Utför alla dataplanåtgärder på ett nyckelvalv och alla objekt i det, inklusive certifikat, nycklar och sekretessbelagda uppgifter. 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 tillfälligt raderade valv. a68e7c17-0ab2-4c09-9a58-125dae29748c
Ansvarig för Key Vault-certifikat 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
Nyckelvalv Kryptotjänsteman Utför alla åtgärder på nycklarna i ett nyckelvalv, förutom hantering av 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 inkapslings-/avkapslingså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
Användare för frigivning av Key Vault Crypto-tjänst Versionsnycklar för Azure Confidential Computing och motsvarande miljöer. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure".
Nyckelvalvsekretessansvarig Utför alla åtgärder på hemligheterna i ett nyckelvalv, med undantag för hantering av behörigheter. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Användare av Nyckelvalvets hemligheter 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-nummer
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 sekretess, nycklar och certifikat i 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

Anmärkning

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.

  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!

Inställning av Azure RBAC-behörighetsmodellen ogiltigförklarar alla behörigheter för åtkomstpolicyer. Det kan orsaka avbrott när motsvarande Azure-roller inte tilldelas.

Tilldela roll

Anmärkning

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 dokumentet används rollnamn 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 i resursgruppens omfå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 område

Anmärkning

Nyckelvalvets hemlighet, certifikat, nyckel och rolltilldelningar för nyckelområde bör endast användas för begränsade scenarier som beskrivs här för att säkerställa efterlevnad av säkerhetsstandarder.

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

Anmärkning

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 den tidigare skapade hemligheten. 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 den tidigare skapade hemligheten. 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:

      Hemlig flik – 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 Azure-roller

Vanliga frågor och svar

Kan jag använda Key Vaults rollbaserade åtkomstkontroll (RBAC) behörighetsmodells objektomfångs-tilldelningar för att ge isolering för applikationsteam inom 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ära sig mer