Autentisera JavaScript-appar till Azure-tjänster under lokal utveckling med hjälp av utvecklarkonton

När du skapar molnprogram måste utvecklare felsöka och testa program på sin lokala arbetsstation. När ett program körs på en utvecklares arbetsstation under den lokala utvecklingen måste det fortfarande autentiseras mot alla Azure-tjänster som används av appen. Den här artikeln beskriver hur du använder en utvecklares Azure-autentiseringsuppgifter för att autentisera appen till Azure under den lokala utvecklingen.

Ett diagram som visar en lokal utvecklingsapp som kör hämtning av tjänstens huvudnamn från en .env-fil och använder den identiteten för att ansluta till Azure-resurser.

För att en app ska kunna autentisera till Azure under lokal utveckling med utvecklarens Azure-autentiseringsuppgifter måste utvecklaren vara inloggad på Azure från Visual Studio Code Azure Tools-tillägget, Azure CLI eller Azure PowerShell. Azure SDK för JavaScript kan identifiera att utvecklaren är inloggad från något av dessa verktyg och sedan hämta nödvändiga autentiseringsuppgifter från cacheminnet för autentiseringsuppgifter för att autentisera appen till Azure som inloggad användare.

Den här metoden är enklast att konfigurera för ett utvecklingsteam eftersom den utnyttjar utvecklarnas befintliga Azure-konton. En utvecklares konto kommer dock sannolikt att ha fler behörigheter än vad som krävs av programmet, vilket överskrider 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.

1 – Skapa Microsoft Entra-grupp för lokal utveckling

Eftersom det nästan alltid finns flera utvecklare som arbetar med ett program rekommenderar vi att du först skapar en Microsoft Entra-grupp för att kapsla in de roller (behörigheter) som appen behöver i lokal utveckling. Detta ger följande fördelar.

  • Varje utvecklare är säker på att ha samma roller tilldelade eftersom roller tilldelas på gruppnivå.
  • Om en ny roll behövs för appen behöver den bara läggas till i Microsoft Entra-gruppen för appen.
  • Om en ny utvecklare ansluter till teamet måste de helt enkelt läggas till i rätt Microsoft Entra-grupp för att få rätt behörighet att arbeta med appen.

Om du har en befintlig Microsoft Entra-grupp för ditt utvecklingsteam kan du använda den gruppen. I annat fall utför du följande steg för att skapa en Microsoft Entra-grupp.

Instruktioner Skärmbild
Gå till sidan Microsoft Entra-ID i Azure Portal genom att skriva Microsoft Entra-ID i sökrutan överst på sidan och sedan välja Microsoft Entra-ID under tjänster. En skärmbild som visar hur du använder det översta sökfältet i Azure Portal för att söka efter och navigera till sidan Microsoft Entra-ID.
På sidan Microsoft Entra-ID väljer du Grupper på den vänstra menyn. En skärmbild som visar platsen för menyalternativet Grupper i den vänstra menyn på sidan Standardkatalog för Microsoft Entra-ID.
På sidan Alla grupper väljer du Ny grupp. En skärmbild som visar platsen för knappen Ny grupp på sidan Alla grupper.
På sidan Ny grupp :
  1. GrupptypSäkerhet.
  2. Gruppnamn → Ett namn för säkerhetsgruppen, som vanligtvis skapas från programnamnet. Det är också bra att inkludera en sträng som local-dev i namnet på gruppen för att ange syftet med gruppen.
  3. Gruppbeskrivning → En beskrivning av syftet med gruppen.
  4. Välj länken Inga medlemmar har valts under Medlemmar för att lägga till medlemmar i gruppen.
En skärmbild som visar hur du skapar en ny Microsoft Entra-grupp. Platsen för länken som ska väljas för att lägga till medlemmar i den här gruppen är markerad.
I dialogrutan Lägg till medlemmar:
  1. Använd sökrutan för att filtrera listan med användarnamn i listan.
  2. Välj en eller flera användare för lokal utveckling för den här appen. När du väljer ett objekt flyttas objektet till listan Markerade objekt längst ned i dialogrutan.
  3. När du är klar väljer du knappen Välj .
En skärmbild av dialogrutan Lägg till medlemmar som visar hur du väljer utvecklarkonton som ska ingå i gruppen.
På sidan Ny grupp väljer du Skapa för att skapa gruppen.

Gruppen skapas och du kommer tillbaka till sidan Alla grupper . Det kan ta upp till 30 sekunder innan gruppen visas och du kan behöva uppdatera sidan på grund av cachelagring i Azure Portal.
En skärmbild av sidan Ny grupp som visar hur du slutför processen genom att välja knappen Skapa.

2 – Tilldela roller till Microsoft Entra-gruppen

Därefter måste du bestämma vilka roller (behörigheter) din app behöver på vilka resurser och tilldela dessa roller till din app. I det här exemplet tilldelas rollerna till den Microsoft Entra-grupp som skapades i steg 1. Roller kan tilldelas en roll i ett resurs-, resursgrupps- eller prenumerationsomfång. Det här exemplet visar hur du tilldelar roller i resursgruppens omfång eftersom de flesta program grupperar alla sina Azure-resurser i en enda resursgrupp.

Instruktioner Skärmbild
Leta upp resursgruppen för ditt program genom att söka efter resursgruppens namn med hjälp av sökrutan överst i Azure Portal.

Gå till resursgruppen genom att välja resursgruppens namn under rubriken Resursgrupper i dialogrutan.
En skärmbild som visar hur du använder den översta sökrutan i Azure Portal för att hitta och navigera till den resursgrupp som du vill tilldela roller (behörigheter) till.
På sidan för resursgruppen väljer du Åtkomstkontroll (IAM) på den vänstra menyn. En skärmbild av resursgruppssidan som visar platsen för menyalternativet Åtkomstkontroll (IAM).
På sidan Åtkomstkontroll (IAM):
  1. Välj fliken Rolltilldelningar.
  2. Välj + Lägg till på den översta menyn och sedan Lägg till rolltilldelning från den resulterande nedrullningsbara menyn.
En skärmbild som visar hur du navigerar till fliken rolltilldelningar och platsen för knappen som används för att lägga till rolltilldelningar i en resursgrupp.
sidan Lägg till rolltilldelning visas alla roller som kan tilldelas för resursgruppen.
  1. Använd sökrutan för att filtrera listan till en mer hanterbar storlek. Det här exemplet visar hur du filtrerar efter Storage Blob-roller.
  2. Välj den roll du vill tilldela.
    Välj Nästa för att gå till nästa skärm.
En skärmbild som visar hur du filtrerar och väljer rolltilldelningar som ska läggas till i resursgruppen.
På nästa sida För att lägga till rolltilldelning kan du ange vilken användare som ska tilldela rollen till.
  1. Välj Användare, grupp eller tjänstens huvudnamn under Tilldela åtkomst till.
  2. Välj + Välj medlemmar under Medlemmar
En dialogruta öppnas till höger om Azure Portal.
En skärmbild som visar alternativknappen för att välja för att tilldela en roll till en Microsoft Entra-grupp och länken som används för att välja den grupp som rollen ska tilldelas till.
I dialogrutan Välj medlemmar:
  1. Textrutan Välj kan användas för att filtrera listan över användare och grupper i din prenumeration. Om det behövs skriver du de första tecknen i microsoft entra-gruppen för lokal utveckling som du skapade för appen.
  2. Välj den microsoft entra-grupp för lokal utveckling som är associerad med ditt program.
Välj Välj längst ned i dialogrutan för att fortsätta.
En skärmbild som visar hur du filtrerar efter och väljer Microsoft Entra-gruppen för programmet i dialogrutan Välj medlemmar.
Microsoft Entra-gruppen visas som markerad på skärmen Lägg till rolltilldelning .

Välj Granska + tilldela för att gå till den sista sidan och sedan Granska + tilldela igen för att slutföra processen.
En skärmbild som visar sidan Lägg till rolltilldelning och platsen för knappen Granska + tilldela som används för att slutföra processen.

3 – Logga in på Azure med VS Code, Azure CLI eller Azure PowerShell

Öppna en terminal på utvecklararbetsstationen och logga in på Azure från Azure PowerShell.

Connect-AzAccount

4 – Implementera DefaultAzureCredential i ditt program

Om du vill autentisera DefaultAzureCredential Azure SDK-klientobjekt till Azure bör ditt program använda klassen från @azure/identity paketet. I det här scenariot DefaultAzureCredential kontrollerar sekventiellt om utvecklaren har loggat in på Azure med hjälp av VS Code Azure-verktygstillägget, Azure CLI eller Azure PowerShell. Om utvecklaren är inloggad i Azure med något av dessa verktyg används de autentiseringsuppgifter som används för att logga in på verktyget av appen för att autentisera till Azure med.

Börja med att lägga till @azure/identitetspaketet i ditt program.

npm install @azure/identity

För alla JavaScript-kod som skapar ett Azure SDK-klientobjekt i din app vill du sedan:

  1. DefaultAzureCredential Importera klassen från modulen@azure/identity.
  2. Skapa ett DefaultAzureCredential objekt.
  3. Skicka objektet DefaultAzureCredential till Azure SDK-klientobjektkonstruktorn.

Ett exempel på detta visas i följande kodsegment.

import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';

// Acquire a credential object
const tokenCredential = DefaultAzureCredential();

const blobServiceClient = BlobServiceClient(
        `https://${accountName}.blob.core.windows.net`,
        tokenCredential
);

DefaultAzureCredential identifierar automatiskt den autentiseringsmekanism som konfigurerats för appen och hämtar nödvändiga token för att autentisera appen till Azure. Om ett program använder mer än en SDK-klient kan samma autentiseringsobjekt användas med varje SDK-klientobjekt.