Ge åtkomst till 密钥保管库 nycklar, certifikat och hemligheter med en rollbaserad åtkomstkontroll i Azure

Anteckning

密钥保管库 resursprovider 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.

Anteckning

Служба приложений Azure certifikatkonfiguration via Azure Portal stöder inte 密钥保管库 RBAC-behörighetsmodell. Det stöds med hjälp av klientbibliotek som Azure PowerShell, Azure CLI, ARM-malldistributioner med 密钥保管库 Secrets User och 密钥保管库 Reader-rolltilldelare.

Rollbaserad åtkomstkontroll i Azure (Azure RBAC) är ett auktoriseringssystem som bygger på Azure Resource Manager som ger detaljerad åtkomsthantering av Azure-resurser.

Med Azure RBAC kan användare hantera behörigheter för nycklar, hemligheter och certifikat. Det ger en plats där du kan hantera alla behörigheter i alla nyckelvalv.

Azure RBAC-modellen ger möjlighet att ange behörigheter på olika omfångsnivåer: hanteringsgrupp, prenumeration, resursgrupp eller enskilda resurser. Azure RBAC för nyckelvalv ger också möjlighet att 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).

Enskilda nycklar, hemligheter och certifikatbehörigheter bör endast användas för specifika scenarier:

  • Dela enskilda hemligheter mellan flera program, t.ex. ett program måste komma åt data från det andra programmet

Mer information om riktlinjer för Hantering av Azure 密钥保管库 finns i:

Inbyggda Azure-roller för 密钥保管库 dataplansåtgärder

Anteckning

Rollen Key Vault Contributor är för hanteringsplanåtgärder för att hantera nyckelvalv. Det tillåter inte åtkomst till nycklar, hemligheter och certifikat.

Inbyggd roll Description ID
密钥保管库-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 nyckelvalvsresurser eller hantera rolltilldelningar. Fungerar bara för nyckelvalv som använder behörighetsmodellen "Rollbaserad åtkomstkontroll i Azure". 00482a5a-887f-4fb3-b363-3b7fe8e74483
密钥保管库 certifikatansvarig 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
密钥保管库 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 kryptotjänsten 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
密钥保管库 kryptoanvä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
密钥保管库 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
密钥保管库 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
密钥保管库 secrets user 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

Anteckning

Det finns inget Key Vault Certificate User eftersom program kräver hemlighetsdelen av certifikatet med privat nyckel. Rollen Key Vault Secrets User ska användas för program för att hämta certifikat.

Mer information om inbyggda rolldefinitioner i Azure finns i Inbyggda Azure-roller.

Använda azure RBAC-behörigheter för hemlighet, nyckel och certifikat med 密钥保管库

Den nya Azure RBAC-behörighetsmodellen för nyckelvalv ger alternativ till behörighetsmodellen för valvåtkomstprincip.

Krav

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 administratör för användaråtkomst eller ägare.

Aktivera Azure RBAC-behörigheter för 密钥保管库

Anteckning

För att ändra behörighetsmodellen krävs "Microsoft. Behörigheten 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 nya nyckelvalv:

    Aktivera Azure RBAC-behörigheter – nytt valv

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

    Aktivera Azure RBAC-behörigheter – befintligt valv

Viktigt

Om du ställer in 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

Anteckning

Vi rekommenderar att du använder det unika roll-ID:t i stället för rollnamnet i skript. Om en roll har bytt namn fortsätter därför skripten att fungera. I det här dokumentrollnamnet används endast för läsbarhet.

Kör följande kommando för att skapa en rolltilldelning:

az role assignment create --role <role_name_or_id> --assignee <assignee> --scope <scope>

Fullständig information finns i Tilldela Azure-roller med Azure CLI.

Information om hur du tilldelar roller med hjälp av Azure-Portal finns i Tilldela Azure-roller med hjälp av Azure-Portal. I Azure-Portal är skärmen Azure-rolltilldelningar tillgänglig för alla resurser på fliken Åtkomstkontroll (IAM).

Rolltilldelning för resursgruppsomfång

  1. Gå till den resursgrupp som innehåller ditt nyckelvalv.

    Rolltilldelning – resursgrupp

  2. Välj Åtkomstkontroll (IAM) .

  3. Välj Lägg tillLägg till >rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  4. Tilldela följande roll. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

    Inställning Värde
    Roll "密钥保管库 Läsare"
    Tilldela åtkomst till Aktuell användare
    Medlemmar Sök efter e-postadress

    Lägg till rolltilldelningssida i Azure-Portal.

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 nyckelvalvsobjekt i nyckelvalvet.

密钥保管库 omfångsrolltilldelning

  1. Gå till fliken 密钥保管库 > åtkomstkontroll (IAM)

  2. Välj Lägg tillLägg till >rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  3. Tilldela följande roll. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

    Inställning Värde
    Roll "密钥保管库 Secrets Officer"
    Tilldela åtkomst till Aktuell användare
    Medlemmar Sök efter e-postadress

    Lägg till rolltilldelningssida i Azure-Portal.

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

Anteckning

Rolltilldelningar för nyckelvalv, certifikat och nyckelomfång bör endast användas för begränsade scenarier som beskrivs här för att följa rekommenderade säkerhetsmetoder.

  1. Öppna en tidigare skapad hemlighet.

  2. Klicka på fliken Åtkomstkontroll (IAM)

    Rolltilldelning – hemlighet

  3. Välj Lägg tillLägg till >rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  4. Tilldela följande roll. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

    Inställning Värde
    Roll "密钥保管库 Secrets Officer"
    Tilldela åtkomst till Aktuell användare
    Medlemmar Sök efter e-postadress

    Lägg till rolltilldelningssida i Azure-Portal.

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

Anteckning

Webbläsare använder cachelagring och siduppdatering krävs när rolltilldelningar har tagits bort.
Tillåt flera minuter för att rolltilldelningar ska uppdateras

  1. Verifiera att du lägger till en ny hemlighet utan rollen "密钥保管库 Secrets Officer" på nyckelvalvsnivå.

    1. Gå till fliken Åtkomstkontroll för nyckelvalv (IAM) och ta bort rolltilldelningen "密钥保管库 Secrets Officer" för den här resursen.

      Ta bort tilldelning – nyckelvalv

    2. Gå 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 följande fel:

      Skapa ny hemlighet

  2. Verifiera hemlig redigering utan rollen "密钥保管库 Secret Officer" på hemlig nivå.

    1. Gå till fliken Hemlighet 存取控制 (IAM) som skapats tidigare och ta bort rolltilldelningen "密钥保管库 Secrets Officer" för den här resursen.

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

      Hemlig vy utan åtkomst

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

    1. Gå till fliken Åtkomstkontroll för nyckelvalvets resursgrupp (IAM) och ta bort rolltilldelningen "密钥保管库 Läsare".

    2. Om du navigerar till fliken Hemligheter för nyckelvalvet bör följande fel 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

Kända gränser och prestanda

  • 密钥保管库 rbac för dataplanet stöds inte i scenarier med flera klientorganisationer, till exempel med Azure Lighthouse
  • 2 000 Azure-rolltilldelningar per prenumeration
  • Svarstid för rolltilldelningar: vid aktuell förväntad prestanda tar det upp till 10 minuter (600 sekunder) efter att rolltilldelningar har ändrats för att rollen ska tillämpas

Vanliga frågor och svar:

Kan jag använda 密钥保管库 tilldelningar av rollbaserad åtkomstkontroll (RBAC) för objektomfång för att isolera programteam inom 密钥保管库?

Nej. MED RBAC-behörighetsmodellen kan du tilldela åtkomst till enskilda objekt i 密钥保管库 till användare eller program, men alla administrativa åtgärder som åtkomstkontroll, övervakning och objekthantering i nätverket kräver behörigheter på valvnivå som sedan exponerar säker information för operatörer i programteam.

Läs mer