Rollbaserad åtkomstkontroll i Azure i Microsoft Dev Box

Den här artikeln är avsedd för plattformstekniker, centrala IT-administratörer och andra administratörer på högre nivå som planerar och hanterar Microsoft Dev Box-distributioner. Den beskriver de olika inbyggda roller som Microsoft Dev Box stöder och hur de mappas till organisationsroller som plattformstekniker och dev manager så att du kan planera rätt behörighetsmodell innan du distribuerar Dev Box.

Rollbaserad åtkomstkontroll i Azure (RBAC) anger inbyggda roller som definierar vilka behörigheter som ska tillämpas. I stället för att ge detaljerade behörigheter direkt till enskilda användare eller grupper tilldelar du roller som paketerar relaterade behörigheter tillsammans så att du kan tillämpa och granska åtkomsten konsekvent mellan resurser. Du tilldelar en användare eller grupp den här rolldefinitionen via en rolltilldelning för ett visst omfång. Omfånget kan vara en enskild resurs, en resursgrupp eller i hela prenumerationen. I nästa avsnitt får du lära dig vilka inbyggda roller Microsoft Dev Box stöder.

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

Kommentar

När du gör ändringar i rolltilldelningen kan det ta några minuter innan uppdateringarna sprids.

Inbyggda roller

I den här artikeln är de inbyggda Azure-rollerna logiskt grupperade i tre typer av organisationsroller, baserat på deras påverkansområde:

  • Plattformsteknikerroller: påverka behörigheter för utvecklingscentra, kataloger och projekt

  • Dev Manager: påverka behörigheter för projektbaserade resurser

  • Utvecklarroller: påverka behörigheter för användare

Följande är de inbyggda roller som stöds av Microsoft Dev Box:

Typ av organisationsroll Inbyggd roll beskrivning
Plattformstekniker Ägare Ge fullständig kontroll för att skapa/hantera utvecklingscentra, kataloger och projekt och bevilja behörigheter till andra användare. Läs mer om rollen Ägare.
Plattformstekniker Deltagare Ge fullständig kontroll för att skapa/hantera utvecklingscentra, kataloger och projekt, förutom att tilldela roller till andra användare. Läs mer om deltagarrollen.
Plattformstekniker DevCenter-ägare Ge åtkomst för att hantera alla Microsoft.DevCenter-resurser och åtkomst till dem. Läs mer om rollen DevCenter-ägare.
Utvecklingschef DevCenter-projektadministratör Bevilja behörighet att hantera vissa aspekter av projekt och utvecklingsrutor. Läs mer om rollen DevCenter-projektadministratör.
Utvecklare Dev Box-användare Bevilja behörighet att skapa dev-rutor och ha fullständig kontroll över de dev-rutor som de skapar. Läs mer om Dev Box-användarrollen.

Rolltilldelningsomfång

I Azure RBAC är omfånget den uppsättning resurser som åtkomsten gäller för. När du tilldelar en roll är det viktigt att förstå omfånget så att du bara beviljar den åtkomst som behövs.

I Azure kan du ange ett omfång på fyra nivåer: hanteringsgrupp, prenumeration, resursgrupp och resurs. Omfång är strukturerade i en överordnad/underordnad relation. Varje hierarkinivå gör omfånget mer specifikt. Du kan tilldela roller på någon av dessa omfångsnivåer. Den nivå du väljer avgör hur mycket rollen tillämpas. Lägre nivåer ärver rollbehörigheter från högre nivåer. Läs mer om omfång för Azure RBAC.

För Microsoft Dev Box bör du överväga följande omfång:

Scope beskrivning
Prenumeration Används för att hantera fakturering och säkerhet för alla Azure-resurser och -tjänster. Vanligtvis har endast plattformstekniker åtkomst på prenumerationsnivå eftersom den här rolltilldelningen ger åtkomst till alla resurser i prenumerationen.
Resursgrupp En logisk container för att gruppera resurser. Rolltilldelning för resursgruppen ger behörighet till resursgruppen och alla resurser i den, till exempel utvecklingscentra, dev box-definitioner, dev box-pooler, projekt och utvecklingsrutor.
Dev Center (resurs) En samling projekt som kräver liknande inställningar. Rolltilldelning för utvecklingscentret ger behörighet till själva utvecklingscentret. Behörigheter som tilldelats utvecklingscentren ärvs inte av andra dev box-resurser.
Projekt (resurs) En Azure-resurs som används för att tillämpa vanliga konfigurationsinställningar när du skapar en utvecklingsruta. Rolltilldelning för projektet beviljar endast behörighet till det specifika projektet.
Dev box-pool (resurs) En samling dev-rutor som du hanterar tillsammans och som du tillämpar liknande inställningar på. Rolltilldelning för dev box-poolen ger endast behörighet till den specifika dev box-poolen.
Dev box-definition (resurs) En Azure-resurs som anger en källbild och storlek, inklusive beräkningsstorlek och lagringsstorlek. Rolltilldelning för dev box-definitionen ger endast behörighet till den specifika dev box-definitionen.

Diagram som visar rolltilldelningsomfången för Microsoft Dev Box.

Roller för vanliga Dev Box-aktiviteter

I följande tabell visas vanliga Dev Box-aktiviteter och den roll som krävs för att en användare ska kunna utföra den aktiviteten.

Aktivitet Rolltyp Roll Scope
Bevilja behörighet att skapa en resursgrupp. Plattformstekniker Ägare eller deltagare Prenumeration
Bevilja behörighet att skicka ett Microsoft-supportärende, inklusive för att begära kapacitet. Plattformstekniker Ägare, deltagare, supportbegärandedeltagare Prenumeration
Bevilja behörighet att skapa virtuella nätverk och undernät. Plattformstekniker Nätverksdeltagare Resursgrupp
Bevilja behörighet att skapa en nätverksanslutning. Plattformstekniker Ägare eller deltagare Resursgrupp
Bevilja behörighet att tilldela roller till andra användare. Plattformstekniker Ägare Resursgrupp
Bevilja behörighet till:
– Skapa/hantera utvecklingscentra.
– Lägg till/ta bort nätverksanslutningar.
– Lägg till/ta bort Azure-beräkningsgallerier.
– Skapa/hantera dev box-definitioner.
– Skapa/hantera projekt.
– Koppla/hantera katalogen till ett utvecklingscenter eller projekt (kataloger på projektnivå måste vara aktiverade i utvecklingscentret).
– Konfigurera dev box-gränser.
Plattformstekniker Deltagare Resursgrupp
Bevilja behörighet att skapa och hantera Dev Box-resurser utan att bevilja åtkomst till andra resurstyper i resursgruppen.
– Dev Centers
– Projekt
– Dev box-definitioner
– Dev box-pooler
Plattformstekniker DevCenter-ägare Resursgrupp
Bevilja behörighet att lägga till eller ta bort en nätverksanslutning för ett utvecklingscenter. Plattformstekniker Deltagare eller DevCenter-ägare Utvecklingscenter
Bevilja behörighet att aktivera/inaktivera projektkataloger. Utvecklingschef Deltagare Utvecklingscenter
Bevilja behörighet till:
– Lägg till, synkronisera, ta bort katalog (kataloger på projektnivå måste vara aktiverade i utvecklingscentret).
– Skapa dev box-pooler.
– Stoppa, starta, ta bort utvecklingsrutor i pooler.
Utvecklingschef DevCenter-projektadministratör Projekt
Skapa och hantera egna utvecklingsrutor i ett projekt. User Dev Box-användare Projekt
Skapa och hantera kataloger på en GitHub- eller Azure Repos-lagringsplats. Utvecklingschef Styrs inte av RBAC.
– Användaren måste tilldelas behörigheter via Azure DevOps eller GitHub.
Lagringsplats

Viktigt!

En organisations prenumeration används för att hantera fakturering och säkerhet för alla Azure-resurser och -tjänster. Du kan tilldela rollen Ägare eller Deltagare för prenumerationen. Vanligtvis är det bara plattformstekniker som har åtkomst på prenumerationsnivå eftersom detta inkluderar fullständig åtkomst till alla resurser i prenumerationen.

Roller för plattformstekniker

Om du vill ge användarna behörighet att hantera Microsoft Dev Box i organisationens prenumeration kan du tilldela dem rollen Ägare eller Deltagare i resursgruppens omfång eller rollen DevCenter-ägare i dev center-omfånget.

När du använder rollerna Ägare eller Deltagare tilldelar du dem till resursgruppen. Utvecklingscentra, nätverksanslutningar, dev box-definitioner, dev box-pooler och projekt i resursgruppen ärver dessa rolltilldelningar.

Diagram som visar administratörsrolltilldelningar i prenumerationen för Azure Deployment Environments.

Rollen Ägare

Tilldela rollen Ägare för att ge en användare fullständig kontroll för att skapa eller hantera Dev Box-resurser och bevilja behörigheter till andra användare. När en användare har rollen Ägare i resursgruppen kan de utföra följande aktiviteter för alla resurser i resursgruppen:

  • Tilldela roller till plattformstekniker så att de kan hantera Dev Box-resurser.
  • Skapa utvecklingscentra, nätverksanslutningar, dev box-definitioner, dev box-pooler och projekt.
  • Visa, ta bort och ändra inställningar för alla utvecklingscentra, nätverksanslutningar, dev box-definitioner, dev box-pooler och projekt.
  • Koppla och koppla från kataloger.

Deltagarroll

Tilldela rollen Deltagare för att ge användaren fullständig kontroll för att skapa eller hantera utvecklingscentra och projekt i en resursgrupp. Rollen Deltagare har samma behörigheter som rollen Ägare, förutom :

  • Utföra rolltilldelningar.

Varning

När du tilldelar rollen Ägare eller Deltagare i resursgruppen gäller dessa behörigheter även för icke-Dev Box-relaterade resurser som finns i resursgruppen.

Rollen DevCenter-ägare

Du kan tilldela rollen DevCenter-ägare i resursgruppens omfång eller dev center-omfånget.

Rollen DevCenter-ägare i resursgruppens omfång

Tilldela rollen DevCenter-ägare till en resursgrupp för att ge en användare fullständig kontroll över Microsoft.DevCenter-resurser utan att ge bredare åtkomst till andra resurser i resursgruppen.

När en användare har rollen DevCenter-ägare i en resursgrupp kan de:

  • Skapa, uppdatera och ta bort utvecklingscentra i resursgruppen.
  • Skapa, uppdatera och ta bort projekt i resursgruppen.
  • Skapa, uppdatera och ta bort dev box-pooler och dev box-definitioner i den resursgruppen.
  • Hantera kataloger, nätverksanslutningar och beräkningsgallerier som är kopplade till utvecklingscentra i resursgruppen.
  • Delegera projektadministration genom att tilldela DevCenter-projektadministratörs- och DevCenter Dev Box-användarroller på projektnivå.

Rollen DevCenter-ägare i Dev Center-omfånget

Tilldela rollen DevCenter-ägare till ett utvecklingscenter för att ge en användare fullständig kontroll över Microsoft.DevCenter-resurser utan att ge bredare åtkomst till andra utvecklingscenter och deras resurser. Användare med den här rollen tilldelad till ett utvecklingscenter kan inte skapa nya utvecklingscenter.

När en användare har rollen DevCenter-ägare i ett utvecklingscenter kan de:

  • Skapa, uppdatera och ta bort projekt i utvecklingscentret.
  • Skapa, uppdatera och ta bort dev box-pooler och dev box-definitioner i utvecklingscentret.
  • Hantera kataloger, nätverksanslutningar och beräkningsgallerier som är kopplade till utvecklingscentret.
  • Delegera projektadministration genom att tilldela DevCenter-projektadministratörs- och DevCenter Dev Box-användarroller på projektnivå.

Roller för Dev Managers

Det finns en dev manager-roll: DevCenter Project Admin. Den här rollen har mer begränsade behörigheter på lägre nivå än plattformsteknikerrollerna. Du kan tilldela den här rollen till utvecklingsansvariga så att de kan utföra administrativa uppgifter för sitt team.

Diagram som visar rolltilldelningen för dev manager på projektnivåomfången för Microsoft Dev Box.

DevCenter-projektadministratörsroll

Tilldela DevCenter-projektadministratören för att aktivera:

  • Lägg till, synkronisera, ta bort katalog (kataloger på projektnivå måste vara aktiverade i utvecklingscentret).

  • Skapa dev box-pooler.

  • Stoppa, starta, ta bort utvecklingsrutor i pooler.

Roller för utvecklare

Det finns en utvecklarroll: Dev Box-användare. Med den här rollen kan utvecklare skapa och hantera sina egna utvecklingsrutor.

Diagram som visar tilldelningar av användarroller i projektet för Microsoft Dev Box.

Dev Box-användarroll

Tilldela Dev Box-användarrollen för att ge användarna behörighet att skapa dev-rutor och ha fullständig kontroll över de dev-rutor som de skapar. Utvecklare kan utföra följande åtgärder på alla utvecklingsrutor som de skapar:

  • Skapa
  • Starta/stoppa
  • Starta om
  • Fördröj schemalagd avstängning
  • Delete

Identitets- och åtkomsthantering (IAM)

Sidan Åtkomstkontroll (IAM) i Azure Portal används för att konfigurera rollbaserad åtkomstkontroll i Azure på Microsoft Dev Box-resurser. Du kan använda inbyggda roller för individer och grupper i Active Directory. Följande skärmbild visar Active Directory-integrering (Azure RBAC) med åtkomstkontroll (IAM) i Azure Portal:

Skärmbild som visar sidan Åtkomstkontroll (IAM) för ett utvecklingscenter.

Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

Utvecklingscenter, resursgrupp och projektstruktur

Din organisation bör investera tid i förväg för att planera placeringen av dina utvecklingscentra och strukturen för resursgrupper och projekt.

Utvecklingscenter: Organisera utvecklingscenter efter den uppsättning projekt som du vill hantera tillsammans, tillämpa liknande inställningar och tillhandahålla liknande mallar.

Organisationer kan använda ett eller flera dev center. Normalt har varje underorganisation i organisationen ett eget utvecklingscenter. Du kan överväga att skapa flera utvecklingscenter i följande fall:

  • Om du vill att specifika konfigurationer ska vara tillgängliga för en delmängd av projekt.

  • Om olika team behöver äga och underhålla utvecklingscentrets resurs i Azure.

Projekt: Associeras med varje utvecklingsteam eller grupp med personer som arbetar med en app eller produkt.

Planering är särskilt viktigt när du tilldelar roller till resursgruppen eftersom den även tillämpar behörigheter för alla resurser i resursgruppen, inklusive utvecklingscentra, nätverksanslutningar, dev box-definitioner, dev box-pooler och projekt.

Så här ser du till att användarna endast beviljas behörighet till lämpliga resurser:

  • Skapa resursgrupper som bara innehåller Dev Box-resurser.

  • Organisera projekt enligt den dev box-definition och de dev box-pooler som krävs och de utvecklare som ska ha åtkomst. Det är viktigt att observera att dev box-pooler avgör var dev box-skapande ska skapas. Utvecklare bör skapa dev-rutor på en plats nära dem för minsta svarstid.

Du kan till exempel skapa separata projekt för olika utvecklarteam för att isolera varje teams resurser. Dev Managers i ett projekt kan sedan tilldelas rollen Projektadministratör, som endast ger dem åtkomst till teamets resurser.

Viktigt!

Planera strukturen i förväg eftersom det inte går att flytta Dev Box-resurser som projekt till en annan resursgrupp när de har skapats.

Katalogstruktur

Microsoft Dev Box använder kataloger för att göra det möjligt för utvecklare att distribuera anpassningar för dev-rutor med hjälp av en katalog med uppgifter och en anpassningsfil för att installera programvara, lägga till tillägg, klona lagringsplatser med mera. 

Microsoft Dev Box lagrar kataloger på antingen en GitHub-lagringsplats eller en Azure DevOps Services-lagringsplats. Du kan koppla en katalog till ett utvecklingscenter eller till ett projekt.

Du kan koppla en eller flera kataloger till utvecklingscentret och hantera alla anpassningar på den nivån. Om du vill ge mer detaljerad information om hur utvecklare får åtkomst till anpassningar kan du bifoga kataloger på projektnivå. När du planerar var kataloger ska bifogas bör du överväga behoven för varje utvecklingsteam.