Autentisering i Azure Key Vault

Autentisering med Key Vault fungerar tillsammans med Microsoft Entra-ID, som ansvarar för att autentisera identiteten för ett visst säkerhetsobjekt.

Ett säkerhetsobjekt är ett objekt som representerar en användare, grupp, tjänst eller ett program som begär åtkomst till Azure-resurser. Azure tilldelar ett unikt objekt-ID till varje säkerhetsobjekt.

  • Ett huvudnamn för användarsäkerhet identifierar en person som har en profil i Microsoft Entra-ID.

  • Ett huvudnamn för gruppsäkerhet identifierar en uppsättning användare som skapats i Microsoft Entra-ID. Alla roller eller behörigheter som tilldelats gruppen beviljas till alla användare i gruppen.

  • Ett huvudnamn för tjänsten är en typ av säkerhetsobjekt som identifierar ett program eller en tjänst, det vill säga en kod i stället för en användare eller grupp. Ett objekt-ID för tjänstens huvudnamn fungerar som dess användarnamn. tjänstens huvudnamns klienthemlighet fungerar som dess lösenord.

För program finns det två sätt att hämta ett huvudnamn för tjänsten:

  • Rekommenderas: aktivera en systemtilldelad hanterad identitet för programmet.

    Med hanterad identitet hanterar Azure internt programmets tjänsthuvudnamn och autentiserar programmet automatiskt med andra Azure-tjänster. Hanterad identitet är tillgänglig för program som distribueras till en mängd olika tjänster.

    Mer information finns i översikten över hanterad identitet. Se även Azure-tjänster som stöder hanterad identitet, som länkar till artiklar som beskriver hur du aktiverar hanterad identitet för specifika tjänster (till exempel App Service, Azure Functions, Virtuella datorer osv.).

  • Om du inte kan använda hanterad identitet registrerar du i stället programmet med din Microsoft Entra-klientorganisation enligt beskrivningen i Snabbstart: Registrera ett program med Azure-identitetsplattformen. Registreringen skapar också ett andra programobjekt som identifierar appen för alla klienter.

Konfigurera Key Vault-brandväggen

Som standard ger Key Vault åtkomst till resurser via offentliga IP-adresser. För större säkerhet kan du också begränsa åtkomsten till specifika IP-intervall, tjänstslutpunkter, virtuella nätverk eller privata slutpunkter.

Mer information finns i Åtkomst till Azure Key Vault bakom en brandvägg.

Åtgärdsflödet för Key Vault-begäranden med autentisering

Key Vault-autentisering sker som en del av varje begärandeåtgärd i Key Vault. När token har hämtats kan den återanvändas för efterföljande anrop. Exempel på autentiseringsflöde:

  1. En token begär att autentiseras med Microsoft Entra-ID, till exempel:

    • En Azure-resurs, till exempel en virtuell dator eller Ett App Service-program med en hanterad identitet, kontaktar REST-slutpunkten för att hämta en åtkomsttoken.
    • En användare loggar in på Azure-portalen med ett användarnamn och lösenord.
  2. Om autentiseringen med Microsoft Entra-ID lyckas beviljas säkerhetsobjektet en OAuth-token.

  3. Ett anrop till KEY Vault REST API via Key Vaults slutpunkt (URI).

  4. Key Vault Firewall kontrollerar följande villkor. Om något kriterium uppfylls tillåts anropet. Annars blockeras anropet och ett förbjudet svar returneras.

    • Brandväggen är inaktiverad och den offentliga slutpunkten för Key Vault kan nås från det offentliga Internet.
    • Anroparen är en betrodd Key Vault-tjänst, vilket gör att den kan kringgå brandväggen.
    • Anroparen visas i brandväggen efter IP-adress, virtuellt nätverk eller tjänstslutpunkt.
    • Anroparen kan nå Key Vault via en konfigurerad privat länkanslutning.
  5. Om brandväggen tillåter anropet anropar Key Vault Microsoft Entra-ID:t för att verifiera säkerhetsobjektets åtkomsttoken.

  6. Key Vault kontrollerar om säkerhetsobjektet har nödvändig behörighet för den begärda åtgärden. Annars returnerar Key Vault ett förbjudet svar.

  7. Key Vault utför den begärda åtgärden och returnerar resultatet.

Följande diagram illustrerar processen för ett program som anropar key vault-API:et "Get Secret":

Azure Key Vault-autentiseringsflödet

Kommentar

Key Vault SDK-klienter för hemligheter, certifikat och nycklar gör ytterligare ett anrop till Key Vault utan åtkomsttoken, vilket resulterar i 401-svar för att hämta klientinformation. Mer information finns i Autentisering, begäranden och svar

Autentisering till Key Vault i programkod

Key Vault SDK använder Azure Identity-klientbiblioteket, vilket möjliggör sömlös autentisering till Key Vault i miljöer med samma kod

Azure Identity-klientbibliotek

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

Mer information om metodtips och utvecklarexempel finns i Autentisera till Key Vault i kod

Nästa steg