Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Under den lokala utvecklingen måste program autentiseras till Azure för att få åtkomst till olika Azure-tjänster. Två vanliga metoder för lokal autentisering är att använda tjänstens huvudnamn eller att använda ett utvecklarkonto. I den här artikeln beskrivs hur du använder ett utvecklarkonto. I de kommande avsnitten lär du dig:
- Använda Microsoft Entra-grupper för att effektivt hantera behörigheter för flera utvecklarkonton
- Så här tilldelar du roller till utvecklarkonton för omfångsbehörigheter
- Så här loggar du in på lokala utvecklingsverktyg som stöds
- Autentisera med ett utvecklarkonto från din appkod
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 (kommandoradsgränssnittet för Azure)
- Azure Developer CLI (kommandoradsgränssnitt)
- Azure PowerShell
- 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 huvudnamn för programtjänsten som ska användas under den lokala utvecklingen, vilket kan begränsas till att endast ha den åtkomst som krävs av appen.
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 i lokal utveckling i stället för att tilldela rollerna till enskilda objekt för tjänstens huvudobjekt. 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.
Gå till översiktssidan för Microsoft Entra-ID i 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 Säkerhet.
- Gruppnamn: Ange ett namn för gruppen som innehåller en referens till appens eller miljöns namn.
- 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 i resurs-, resursgrupp- eller prenumerationsomfattning. 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.
I Azure-portalen går du till sidan Översikt för 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 i 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 den utfällbara panelen Välj medlemmar .
- 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äng den utfällbara panelen.
- Välj Granska + 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.
Utvecklare kan använda Azure CLI för att autentisera till Microsoft Entra-ID. Appar som använder DefaultAzureCredential eller AzureCliCredential kan sedan använda det här kontot för att autentisera appbegäranden när de körs lokalt.
Kör kommandot för att autentisera az login med Azure CLI. I ett system med en standardwebbläsare startar Azure CLI webbläsaren för att autentisera användaren.
az login
För system utan en standardwebbläsare använder kommandot az login autentiseringsflödet för enhetskod. Användaren kan också tvinga Azure CLI att använda enhetskodflödet i stället för att starta en webbläsare genom att ange argumentet --use-device-code.
az login --use-device-code
Autentisera till Azure-tjänster från din app
Azure Identity-biblioteket innehåller implementeringar av TokenCredential som stöder olika scenarier och Microsoft Entra-autentiseringsflöden. Följande steg visar hur du använder StandardAzureCredential eller en specifik autentiseringsuppgift för utvecklingsverktyg när du arbetar med användarkonton lokalt.
Tips/Råd
När ditt team använder flera utvecklingsverktyg för att autentisera med Azure föredrar du en lokal utvecklingsoptimerad instans av DefaultAzureCredential över verktygsspecifika autentiseringsuppgifter.
Implementera koden
Lägg till @azure/identity till ditt program.
npm install @azure/identityAnmärkning
Om du vill använda
VisualStudioCodeCredentialmåste du också installera plugin-paketet @azure/identity-vscode . Läs sedan in autentiseringsuppgifterna explicit. Ett exempel finns i @azure/identity-vscode README.Välj en av implementeringarna för autentiseringsuppgifter baserat på ditt scenario.
- Använd en specifik autentiseringsuppgift för ditt utvecklingsverktyg: det här alternativet är bäst för scenarier med en person eller ett enda verktyg.
- Använd en tillgänglig autentiseringsuppgift för användning i alla utvecklingsverktyg: det här alternativet passar bäst för projekt med öppen källkod och olika verktygsteam.
Använda en specifik autentiseringsuppgift för ditt utvecklingsverktyg
Skicka en TokenCredential instans som motsvarar ett specifikt utvecklingsverktyg till Azure-tjänstklientkonstruktorn, till exempel AzureCliCredential.
import { AzureCliCredential } from "@azure/identity";
import { BlobServiceClient } from "@azure/storage-blob";
const credential = new AzureCliCredential();
const client = new BlobServiceClient(
"https://<storage-account-name>.blob.core.windows.net",
credential
);
Använda en tillgänglig autentiseringsuppgift för användning i alla utvecklingsverktyg
Använd en DefaultAzureCredential instans som är optimerad för alla lokala utvecklingsverktyg. Det här exemplet kräver att miljövariabeln AZURE_TOKEN_CREDENTIALS är inställd på dev. Mer information finns i Exkludera en kategori av autentiseringsuppgifter.
import { DefaultAzureCredential } from "@azure/identity";
import { BlobServiceClient } from "@azure/storage-blob";
// Set environment variable AZURE_TOKEN_CREDENTIALS to "dev"
const credential = new DefaultAzureCredential({
requiredEnvVars: ["AZURE_TOKEN_CREDENTIALS"]
});
const client = new BlobServiceClient(
"https://<storage-account-name>.blob.core.windows.net",
credential
);