Dela via


Migrera från en princip för valvåtkomst till en rollbaserad behörighetsmodell för åtkomstkontroll i Azure

Azure Key Vault erbjuder två auktoriseringssystem: Rollbaserad åtkomstkontroll i Azure (Azure RBAC) och en åtkomstprincipmodell. Azure RBAC är standard och rekommenderat auktoriseringssystem för Azure Key Vault. En jämförelse av de två auktoriseringsmetoderna finns i Rollbaserad åtkomstkontroll i Azure (Azure RBAC) jämfört med åtkomstprinciper.

Den här artikeln innehåller den information som krävs för att migrera ett nyckelvalv från en åtkomstprincipmodell till en Azure RBAC-modell.

Åtkomstprinciper till Azure-rollmappning

Azure RBAC har flera inbyggda Azure-roller som du kan tilldela till användare, grupper, tjänstens huvudnamn och hanterade identiteter. Om de inbyggda rollerna inte uppfyller organisationens specifika behov kan du skapa egna anpassade Azure-roller.

Inbyggda Key Vault-roller för åtkomsthantering av nycklar, certifikat och hemligheter:

  • Key Vault-administratör
  • Key Vault-läsare
  • Key Vault-rensningsoperator
  • Ansvarig för Key Vault-certifikat
  • Key Vault-certifikatanvändare
  • Nyckelvalv Kryptotjänsteman
  • Key Vault Crypto-användare
  • Krypteringsanvändare för Key Vault Crypto Service
  • Användare för frigivning av Key Vault Crypto-tjänst
  • Nyckelvalvsekretessansvarig
  • Nyckelvalvshemlighetsanvändare

Mer information om befintliga inbyggda roller finns i Inbyggda Azure-roller

Principer för valvåtkomst kan tilldelas med individuellt valda behörigheter eller med fördefinierade behörighetsmallar.

Åtkomstprincip fördefinierade behörighetsmallar:

  • Nyckel, hemlighet, certifikathantering
  • Nyckel- och hemlighetshantering
  • Hemlighets- och certifikathantering
  • Nyckelhantering
  • Hemlig hantering
  • Certifikathantering
  • SQL Server-anslutningsprogram
  • Azure Data Lake Storage eller Azure Storage
  • Azure Backup
  • Exchange Online-kundnyckel
  • SharePoint Online-kundnyckel
  • Azure Information BYOK

Komma åt principmallar till Azure-rollmappning

Åtkomstprincipmall Operativa åtgärder Azure-roll
Nyckel, hemlighet, certifikathantering Nycklar: alla åtgärder
Certifikat: alla åtgärder
Hemligheter: alla åtgärder
Key Vault-administratör
Nyckel- och hemlighetshantering Nycklar: alla åtgärder
Hemligheter: alla åtgärder
Nyckelvalv Krypteringsansvarig
Nyckelvalvsekretessansvarig
Hemlighets- och certifikathantering Certifikat: alla åtgärder
Hemligheter: alla åtgärder
Certifikatansvarig för Nyckelvalv
Nyckelvalvsekretessansvarig
Nyckelhantering Nycklar: alla åtgärder Nyckelvalv Kryptotjänsteman
Hemlig hantering Hemligheter: alla åtgärder Nyckelvalvsekretessansvarig
Certifikathantering Certifikat: alla åtgärder Ansvarig för Key Vault-certifikat
SQL Server-anslutningsprogram Nycklar: get, list, wrap key, unwrap key Krypteringsanvändare för Key Vault Crypto Service
Azure Data Lake Storage eller Azure Storage Nycklar: get, list, unwrap key Ej tillämpligt
Anpassad roll krävs
Azure Backup Nycklar: get, list, backup
Hemligheter: get, list, backup
Ej tillämpligt
Anpassad roll krävs
Exchange Online-kundnyckel Nycklar: get, list, wrap key, unwrap key Krypteringsanvändare för Key Vault Crypto Service
Exchange Online-kundnyckel Nycklar: get, list, wrap key, unwrap key Krypteringsanvändare för Key Vault Crypto Service
Azure Information BYOK Nycklar: hämta, dekryptera, signera Ej tillämpligt
Anpassad roll krävs

Mappning av tilldelningsomfång

Azure RBAC för Key Vault tillåter rolltilldelning med följande omfång:

  • Hanteringsgrupp
  • Prenumeration
  • Resursgrupp
  • Key Vault-resurs
  • Enskild nyckel, hemlighet och certifikat

Behörighetsmodellen för valvåtkomstprincip är begränsad till att endast tilldela principer på Key Vault-resursnivå.

I allmänhet är det bästa praxis att ha ett nyckelvalv per program och hantera åtkomst på nyckelvalvsnivå. Det finns scenarier när du hanterar åtkomst i andra omfång kan förenkla åtkomsthanteringen.

  • Infrastruktur, säkerhetsadministratörer och operatörer: Hantering av grupp med nyckelvalv på hanteringsgrupps-, prenumerations- eller resursgruppsnivå med principer för valvåtkomst kräver underhåll av principer för varje nyckelvalv. Med Azure RBAC kan du skapa en rolltilldelning i hanteringsgrupp, prenumeration eller resursgrupp. Tilldelningen gäller för alla nya nyckelvalv som skapats inom samma omfång. I det här scenariot rekommenderar vi att du använder Privileged Identity Management med just-in-time-åtkomst för att ge permanent åtkomst.

  • Program: Det finns scenarier när programmet skulle behöva dela hemlighet med andra program. Med hjälp av valvåtkomstprinciper måste separata nyckelvalv skapas för att undvika att ge åtkomst till alla hemligheter. Med Azure RBAC kan du tilldela roll med omfång för enskild hemlighet i stället med hjälp av ett enda nyckelvalv.

Så här migrerar du

Följ de här stegen för att migrera ditt nyckelvalv till RBAC från åtkomstprinciper:

  • Förbered: Se till att du har rätt behörigheter och en inventering av dina program.
  • Inventering: Dokumentera alla befintliga åtkomstprinciper och behörigheter.
  • Skapa RBAC-roller: Tilldela lämpliga RBAC-roller till varje säkerhetsentitet.
  • Aktivera RBAC: Växla nyckelvalvet för att använda RBAC-behörighetsmodellen.
  • Verifiera: Testa åtkomsten för att säkerställa att alla program och användare behåller lämplig åtkomst.
  • Övervaka: Konfigurera övervakning och aviseringar för åtkomstproblem.

Förutsättningar

Kontrollera att du har följande innan du påbörjar migreringen:

  1. Nödvändiga behörigheter: Du måste ha följande behörigheter för nyckelvalvet:

    • Microsoft.Authorization/roleAssignments/write behörighet som ingår i rollen Ägare och Administratör för användaråtkomst
    • Microsoft.KeyVault/vaults/write den behörighet som ingår i rollen Key Vault-medverkande

    Kommentar

    Klassiska administratörsroller för prenumerationer (tjänstadministratör och Co-Administrator) stöds inte.

  2. Inventering av program och identiteter: Lista alla program, tjänster och användare som har åtkomst till nyckelvalvet och dokumentera alla aktuella åtkomstprinciper och de behörigheter som de beviljar.

Inventera aktuella åtkomstprinciper

Dokumentera alla befintliga åtkomstprinciper och notera säkerhetsobjekten (användare, grupper, tjänstens huvudnamn) och deras behörigheter.

Använd kommandot Azure CLI az keyvault show för att hämta åtkomstprinciperna:

# List all current access policies
az keyvault show --name <vault-name> --resource-group <resource-group-name> --query properties.accessPolicies

Skapa motsvarande RBAC-rolltilldelningar

För varje säkerhetsobjekt med en åtkomstprincip skapar du en eller flera RBAC-rolltilldelningar baserat på mappningstabellen ovan.

Använd kommandot az role assignment create för att bevilja lämpliga roller:

# Example for Key Vault Administrator role:
az role assignment create --role "Key Vault Administrator" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Secrets Officer:
az role assignment create --role "Key Vault Secrets Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Crypto Officer:
az role assignment create --role "Key Vault Crypto Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Certificates Officer:
az role assignment create --role "Key Vault Certificates Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"

Aktivera RBAC-behörighetsmodell

När du har skapat alla nödvändiga rolltilldelningar ändrar du valvets inställningar till att använda RBAC-behörighetsmodellen.

Använd kommandot az keyvault update för att aktivera RBAC:

# Switch the vault to RBAC permission model
az keyvault update --name <vault-name> --resource-group <resource-group-name> --enable-rbac-authorization true

Verifiera åtkomst

Testa åtkomsten till valvet för att säkerställa att alla program och användare fortfarande kan utföra nödvändiga åtgärder.

Testa din åtkomst med följande kommandon:

# Try to list secrets to verify access
az keyvault secret list --vault-name <vault-name>

# Try to get a secret to verify access
az keyvault secret show --vault-name <vault-name> --name <secret-name>

Konfigurera övervakning och aviseringar

Efter migreringen konfigurerar du korrekt övervakning för att identifiera eventuella åtkomstproblem:

Använd kommandot az monitor diagnostic-settings create :

# Enable diagnostics logging for Key Vault
az monitor diagnostic-settings create --resource <vault-id> --name KeyVaultLogs --logs "[{\"category\":\"AuditEvent\",\"enabled\":true}]" --workspace <log-analytics-workspace-id>

Migreringsstyrning med Azure Policy

Med hjälp av Azure Policy-tjänsten kan du styra migreringen av RBAC-behörighetsmodellen i dina valv. Du kan skapa en anpassad principdefinition för att granska befintliga nyckelvalv och framtvinga alla nya nyckelvalv för att använda Azure RBAC-behörighetsmodellen.

Skapa och tilldela principdefinition för Key Vault Azure RBAC-behörighetsmodell

  1. Gå till Principresurs
  2. Välj Tilldelningar under Redigering till vänster på sidan Azure Policy
  3. Välj Tilldela policy överst på sidan
  4. Ange följande information:
  5. Slutför uppgiften genom att granska den och skapa den

När policyn har tilldelats kan det ta upp till 24 timmar att slutföra genomsökningen. När genomsökningen är klar kan du se efterlevnadsresultat på Azure Policy-instrumentpanelen.

Jämförelseverktyg för åtkomstprincip till Azure RBAC

Viktigt!

Det här verktyget skapas och underhålls av Microsoft Community-medlemmar och utan formell support för kundtjänst. Verktyget tillhandahålls som är utan garanti av något slag.

PowerShell-verktyget för att jämföra Key Vault-åtkomstprinciper med tilldelade RBAC-roller för att hjälpa till med migrering av åtkomstprincip till RBAC-behörighetsmodell. Avsikten med verktyget är att tillhandahålla sanitetskontroll vid migrering av befintlig Key Vault till RBAC-behörighetsmodell för att säkerställa att tilldelade roller med underliggande dataåtgärder omfattar befintliga åtkomstprinciper.

Felsökning av vanliga problem

  • Fördröjning av rolltilldelning: Rolltilldelningar kan ta flera minuter att propagera. Implementera logik för återförsök i dina program.
  • Förlorade rolltilldelningar efter återställning: Rolltilldelningar bevaras inte när ett valv återställs efter mjuk borttagning. Du måste återskapa alla rolltilldelningar efter återställningen.
  • Felmeddelanden om nekad åtkomst: Kontrollera att:
    • Rätt roller tilldelas i rätt omfång
    • Tjänstens huvudprincip eller hanterade identitet har de exakta behörigheterna som krävs
    • Regler för nätverksåtkomst blockerar inte anslutningen
  • Skript misslyckas efter migreringen: Uppdatera alla skript som använde åtkomstprinciper för att använda rolltilldelningar i stället.

Läs mer