Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Under den lokala utvecklingen måste program autentiseras till Azure för att använda olika Azure-tjänster. Autentisera lokalt med någon av följande metoder:
- Använd ett utvecklarkonto med något av utvecklarverktygen som stöds av Azure Identity-biblioteket.
- Använd en mäklare för att hantera autentiseringsuppgifter.
- Använd tjänstens huvudnamn.
Den här artikeln beskriver hur du autentiserar med ett utvecklarkonto med verktyg som stöds av Azure Identity-biblioteket. I de kommande avsnitten lär du dig:
- Så här använder du Microsoft Entra-grupper för att effektivt hantera behörigheter för flera utvecklarkonton.
- Så här tilldelar du roller till utvecklarkonton för att begränsa behörigheter.
- Så här loggar du in på lokala utvecklingsverktyg som stöds.
- Autentisera med ett utvecklarkonto från din appkod.
Utvecklarverktyg som stöds för autentisering
För att en app ska kunna autentisera till Azure under lokal utveckling med utvecklarens Azure-autentiseringsuppgifter måste utvecklaren vara inloggad i Azure från något av följande utvecklarverktyg:
- Azure CLI
- Azure Developer CLI
- Azure PowerShell
- Visual Studio
- Visual Studio Code
Azure Identity-biblioteket kan identifiera att utvecklaren är inloggad från något av dessa verktyg. Biblioteket kan sedan hämta Microsoft Entra-åtkomsttoken via verktyget för att autentisera appen till Azure som den inloggade användaren.
Den här metoden utnyttjar utvecklarens befintliga Azure-konton för att effektivisera autentiseringsprocessen. Ett utvecklarkonto har dock sannolikt fler behörigheter än vad som krävs av appen, och överskrider därför de behörigheter som appen körs med i produktion. Alternativt kan du skapa tjänstehuvudkonton för applikationer för användning under lokal utveckling, som kan begränsas till att ha endast den åtkomst som appen behöver.
Skapa en Microsoft Entra-grupp för lokal utveckling
Skapa en Microsoft Entra-grupp för att kapsla in de roller (behörigheter) som appen behöver under lokal utveckling, istället för att tilldela rollerna till enskilda tjänsthuvudobjekt. Den här metoden erbjuder följande fördelar:
- Varje utvecklare har samma roller tilldelade på gruppnivå.
- Om en ny roll behövs för appen behöver den bara läggas till i gruppen för appen.
- Om en ny utvecklare ansluter till teamet skapas ett nytt huvudnamn för programtjänsten för utvecklaren och läggs till i gruppen, vilket säkerställer att utvecklaren har rätt behörighet att arbeta med appen.
- Azure-portalen
- Azure CLI
Gå till översiktssidan för Microsoft Entra ID på Azure-portalen.
Välj Alla grupper på den vänstra menyn.
På sidan Grupper väljer du Ny grupp.
På sidan Ny grupp fyller du i följande formulärfält:
- Grupptyp: Välj Security.
- Gruppnamn: Ange ett namn för gruppen som innehåller en referens till appen eller miljönamnet.
- Gruppbeskrivning: Ange en beskrivning som förklarar syftet med gruppen.
Välj länken Inga medlemmar har valts under Medlemmar för att lägga till medlemmar i gruppen.
I den utfällbara panelen som öppnas söker du efter tjänstens huvudnamn som du skapade tidigare och väljer det från de filtrerade resultaten. Välj knappen Välj längst ned i panelen för att bekräfta ditt val.
Välj Skapa längst ned på sidan Ny grupp för att skapa gruppen och återgå till sidan Alla grupper. Om du inte ser den nya gruppen i listan väntar du en stund och uppdaterar sidan.
Tilldela roller till gruppen
Bestäm sedan vilka roller (behörigheter) din app behöver för vilka resurser och tilldela dessa roller till den Microsoft Entra-grupp som du skapade. Grupper kan tilldelas en roll på resurs-, resursgrupps- eller prenumerationsnivå. Det här exemplet visar hur du tilldelar roller i resursgruppens omfång, eftersom de flesta appar grupperar alla sina Azure-resurser i en enda resursgrupp.
- Azure-portalen
- Azure CLI
I Azure-portalen går du till sidan Översikt i resursgruppen som innehåller din app.
Välj åtkomstkontroll (IAM) på det vänstra navigeringsfältet.
På sidan Åtkomstkontroll (IAM) väljer du + Lägg till och väljer sedan Lägg till rolltilldelning på den nedrullningsbara menyn. Sidan Lägg till rolltilldelning innehåller flera flikar för att konfigurera och tilldela roller.
På fliken Roll använder du sökrutan för att hitta den roll som du vill tilldela. Välj rollen och välj sedan Nästa.
På fliken Medlemmar:
- För värdet Tilldela åtkomst till väljer du Användare, grupp eller tjänstens huvudnamn .
- För värdet Medlemmar väljer du + Välj medlemmar för att öppna Välj medlemmar utfällbara panelen.
- Sök efter den Microsoft Entra-grupp som du skapade tidigare och välj den från de filtrerade resultaten. Välj Välj för att välja gruppen och stänga den utfällbara panelen.
- Välj Granska och tilldela längst ned på fliken Medlemmar.
På fliken Granska + tilldela väljer du Granska + tilldela längst ned på sidan.
Logga in på Azure med hjälp av utvecklarverktyg
Logga sedan in på Azure med något av flera utvecklarverktyg som kan användas för att utföra autentisering i utvecklingsmiljön. Det konto som du autentiserar bör också finnas i den Microsoft Entra-grupp som du skapade och konfigurerade tidigare.
- Visual Studio
- Visual Studio Code
- Azure CLI
- Azure Developer CLI
- Azure PowerShell
Utvecklare som använder Visual Studio 2017 eller senare kan autentisera med sitt utvecklarkonto via IDE. Appar som använder DefaultAzureCredential eller VisualStudioCredential kan identifiera och använda det här kontot för att autentisera appbegäranden när de körs lokalt. Det här kontot används också när du publicerar appar direkt från Visual Studio till Azure.
Viktigt!
Du måste installera Azure-utveckling arbetsbelastning för att aktivera Visual Studio-verktyg för Azure-autentisering, utveckling och distribution.
I Visual Studio går du till Verktyg>Alternativ för att öppna alternativdialogrutan.
I rutan Sökalternativ överst skriver du Azure för att filtrera de tillgängliga alternativen.
Under rubriken "Azure Service Authentication" väljer du "Kontoval".
Välj den nedrullningsbara menyn under Välj ett konto och välj att lägga till ett Microsoft-konto.
I fönstret som öppnas anger du autentiseringsuppgifterna för ditt önskade Azure-konto och bekräftar sedan dina indata.
Välj OK för att stänga alternativdialogrutan.
Autentisera till Azure-tjänster från din app
Azure Identity-biblioteket innehåller olika autentiseringsuppgifter– implementeringar av TokenCredential anpassade för att stödja olika scenarier och Microsoft Entra-autentiseringsflöden. Stegen framåt visar hur du använder DefaultAzureCredential när du arbetar med användarkonton lokalt.
Implementera koden
DefaultAzureCredential är en åsiktsbaserad, ordnad sekvens med mekanismer för autentisering till Microsoft Entra-ID. Varje autentiseringsmekanism är en klass som härleds från klassen TokenCredential och kallas för en autentisering. Vid körning försöker DefaultAzureCredential att autentisera med hjälp av den första autentiseringsuppgiften. Om det misslyckas att erhålla en åtkomsttoken prövas nästa referens i sekvensen och så vidare, tills en åtkomsttoken framgångsrikt har erhållits. På så sätt kan din app använda olika autentiseringsuppgifter i olika miljöer utan att skriva miljöspecifik kod.
Om du vill använda lägger du till Azure.Identity och eventuellt Microsoft.Extensions.Azure-paketet i ditt program.
- Kommandoraden
- NuGet-pakethanteraren
I valfri terminal går du till programprojektkatalogen och kör följande kommandon:
dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure
Azure-tjänster används med hjälp av specialiserade klientklasser från de olika Azure SDK-klientbiblioteken. Dessa klasser och dina egna anpassade tjänster bör registreras så att de kan nås via beroendeinmatning i hela appen. I Program.cs fullföljer du följande steg för att registrera en klientklass och DefaultAzureCredential:
- Inkludera
Azure.IdentityochMicrosoft.Extensions.Azurenamnrymderna viausing-direktiv. - Registrera Azure-tjänstklienten med hjälp av motsvarande
Add-prefixad extensionsmetod. - Skicka en instans av
DefaultAzureCredentialtillUseCredential-metoden.
builder.Services.AddAzureClients(clientBuilder =>
{
clientBuilder.AddBlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"));
clientBuilder.UseCredential(new DefaultAzureCredential());
});
Ett alternativ till metoden UseCredential är att tillhandahålla autentiseringsuppgifterna direkt till tjänstklienten:
builder.Services.AddSingleton<BlobServiceClient>(_ =>
new BlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"),
new DefaultAzureCredential()));