Vad är rollbaserad åtkomstkontroll i Azure (Azure RBAC)?

Åtkomsthantering för molnresurser är en viktig funktion för alla organisationer som använder molnet. Rollbaserad åtkomstkontroll i Azure (Azure RBAC) hjälper dig att hantera vem som har åtkomst till Azure-resurser, vad de kan göra med dessa resurser och vilka områden de har åtkomst till.

Azure RBAC är ett auktoriseringssystem som bygger Azure Resource Manager som ger dig tillgång till åtkomsthantering av Azure-resurser.

Den här videon ger en snabb översikt över Azure RBAC.

Vad kan jag göra med Azure RBAC?

Här följer några exempel på vad du kan göra med Azure RBAC:

  • Tillåt en användare att hantera virtuella datorer i en prenumeration och en annan användare att hantera virtuella nätverk
  • Tillåta en DBA-grupp att hantera SQL-databaser i en prenumeration
  • Tillåt en användare att hantera alla resurser i en resursgrupp, till exempel virtuella datorer, webbplatser och undernät
  • Tillåt att ett program får åtkomst till alla resurser i en resursgrupp

Så här fungerar Azure RBAC

Du styr åtkomsten till resurser med Azure RBAC genom att tilldela Azure-roller. Det här är ett viktigt begrepp att förstå – det är hur behörigheter tillämpas. En rolltilldelning består av tre delar: säkerhetsobjekt, rolldefinition och omfång.

Säkerhetsobjekt

En säkerhetsobjekt är ett objekt som representerar en användare, en grupp, tjänstens huvudnamn eller hanterad identitet som begär åtkomst till Azure-resurser. Du kan tilldela en roll till någon av dessa säkerhetsobjekt.

Diagram som visar säkerhetsobjektstyperna för en rolltilldelning.

Rolldefinition

En rolldefinition är en samling behörigheter. Det kallas vanligtvis bara för en roll. En rolldefinition listar de åtgärder som kan utföras, till exempel läsa, skriva och ta bort. Roller kan vara på hög nivå, som ägare, eller specifika, som läsare för virtuell dator.

Diagram som visar exempel på rolldefinition för en rolltilldelning

Azure innehåller flera inbyggda roller som du kan använda. Till exempel tillåter rollen Virtuell datordeltagare att en användare skapar och hanterar virtuella datorer. Om de inbyggda rollerna inte uppfyller organisationens specifika behov kan du skapa egna anpassade Azure-roller.

Den här videon ger en snabb översikt över inbyggda roller och anpassade roller.

Azure har dataåtgärder som gör att du kan bevilja åtkomst till data i ett objekt. Till exempel kan en användare med dataläsningsåtkomst till ett lagringskonto läsa blobar eller meddelanden i det lagringskontot.

Mer information finns i Förstå rolldefinitioner i Azure.

Omfång

Omfång är den uppsättning resurser som åtkomsten som gäller för. När du tilldelar en roll kan du ytterligare begränsa de åtgärder som tillåts genom att definiera ett omfång. Det här är användbart om du vill göra någon till webbplatsdeltagare,men endast för en resursgrupp.

I Azure kan du ange ett omfång på fyra nivåer: hanteringsgrupp,prenumeration, resursgruppeller resurs. Omfång är strukturerade i en överordnad/underordnad relation. Du kan tilldela roller på någon av dessa omfångsnivåer.

Diagram som visar omfångsnivåer för en rolltilldelning.

Mer information om omfång finns i Förstå omfånget.

Rolltilldelningar

En rolltilldelning är processen att koppla en rolldefinition till en användare, grupp, tjänstens huvudnamn eller hanterad identitet i ett visst omfång för att bevilja åtkomst. Åtkomst beviljas genom att en rolltilldelning skapas, och åtkomst återkallas genom att en rolltilldelning tas bort.

Följande diagram visar ett exempel på en rolltilldelning. I det här exemplet har marknadsföringsgruppen tilldelats rollen Deltagare för resursgruppen pharma-sales (läkemedelsförsäljning). Det innebär att användare i marknadsföringsgruppen kan skapa och hantera vilka Azure-resurser som helst i resursgruppen pharma-sales. Marknadsföringsanvändare har inte åtkomst till resurser utanför resursgruppen pharma-sales såvida de inte är en del av en annan rolltilldelning.

Diagram som visar hur säkerhetsobjekt, rolldefinition och omfång skapar en rolltilldelning.

Du kan tilldela roller med hjälp Azure Portal, Azure CLI, Azure PowerShell, Azure-API:er eller REST-API:er.

Mer information finns i Steg för att tilldela en Azure-roll.

Grupper

Rolltilldelningar är transitiva för grupper, vilket innebär att om en användare är medlem i en grupp och den gruppen är medlem i en annan grupp som har en rolltilldelning, har användaren behörigheterna i rolltilldelningen.

Diagram som visar hur rolltilldelningar är transitiva för grupper.

Flera rolltilldelningar

Så vad händer om du har flera överlappande rolltilldelningar? Azure RBAC är en additiv modell, så dina gällande behörigheter är summan av dina rolltilldelningar. Fundera på följande exempel där en användare beviljas deltagarrollen i prenumerationsomfånget och läsarrollen på en resursgrupp. Summan av behörigheterna Deltagare och Läsare är i praktiken rollen Deltagare för prenumerationen. Därför har läsarrolltilldelningen ingen inverkan i det här fallet.

Diagram som visar hur flera rolltilldelningar överlappar.

Avvisa tilldelning

Tidigare var Azure RBAC en modell för endast tillåtna utan nekande, men nu stöder Azure RBAC tilldelningsnekanden på ett begränsat sätt. På samma sätt som en rolltilldelning kopplar ett tilldelningsnekande en uppsättning nekandeåtgärder till en användare, grupp, tjänstens huvudnamn eller hanterad identitet i ett visst omfång för att neka åtkomst. En rolltilldelning definierar en uppsättning åtgärder som är tillåtna, medan en nekandetilldelning definierar en uppsättning åtgärder som inte är tillåtna. Med andra ord blockerar tilldelningsnekanden användare från att utföra angivna åtgärder, även om en rolltilldelning ger dem åtkomst. Tilldelningsnekanden åsidosätter rolltilldelningar.

Mer information finns i Förstå Tilldelningsnekanden i Azure.

Så här avgör Azure RBAC om en användare har åtkomst till en resurs

Följande är de avancerade stegen som Azure RBAC använder för att avgöra om du har åtkomst till en resurs. De här stegen gäller för Azure Resource Manager tjänster eller dataplanstjänster som är integrerade med Azure RBAC. Det här är bra att förstå om du vill felsöka ett problem med åtkomst.

  1. En användare (eller tjänstens huvudnamn) hämtar en token för Azure Resource Manager.

    Token innehåller användarens gruppmedlemskap (inklusive transitiva gruppmedlemskap).

  2. Användaren gör ett REST API-anrop till Azure Resource Manager med den token som är ansluten.

  3. Azure Resource Manager hämtar alla rolltilldelningar och avvisar tilldelningar som tillämpas på resursen som åtgärden som utförs på.

  4. Om det gäller ett tilldelningsnekanden blockeras åtkomsten. Annars fortsätter utvärderingen.

  5. Azure Resource Manager begränsar rolltilldelningarna som gäller för den här användaren eller gruppen och avgör vilka roller som användaren har för den här resursen.

  6. Azure Resource Manager anger om åtgärden i API-anropet ingår i de roller som användaren har för den här resursen. Om rollerna inkluderar som har ett jokertecken ( ) beräknas de gällande Actions * behörigheterna genom att subtrahera NotActions från den tillåtna Actions . På samma sätt görs samma subtraktion för alla dataåtgärder.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. Om användaren inte har någon roll med åtgärden i det begärda omfånget tillåts inte åtkomst. Annars utvärderas eventuella villkor.

  8. Om rolltilldelningen innehåller villkor utvärderas de. Annars tillåts åtkomst.

  9. Om villkoren är uppfyllda tillåts åtkomst. Annars tillåts inte åtkomst.

Följande diagram är en sammanfattning av utvärderingslogiken.

Flödesschema för utvärderingslogik för att fastställa åtkomst till en resurs.

Licenskrav

Användningen av den här funktionen är kostnads fri och ingår i din Azure-prenumeration.

Nästa steg