Sdílet prostřednictvím


Ověřování Node.js aplikací ve službách Azure během místního vývoje pomocí vývojářských účtů

Během místního vývoje se aplikace musí ověřit v Azure, aby bylo možné přistupovat k různým službám Azure. Dva běžné přístupy pro místní ověřování jsou použití instančního objektu nebo použití vývojářského účtu. Tento článek vysvětluje, jak používat vývojářský účet. V dalších částech se dozvíte:

  • Jak používat skupiny Microsoft Entra k efektivní správě oprávnění pro více vývojářských účtů
  • Přiřazení rolí vývojářským účtům k rozsahu oprávnění
  • Jak se přihlásit k podporovaným místním vývojovým nástrojům
  • Ověření pomocí vývojářského účtu v kódu aplikace

Aby se aplikace během místního vývoje ověřila v Azure pomocí přihlašovacích údajů Azure vývojáře, musí být vývojář přihlášený k Azure z některého z následujících vývojářských nástrojů:

  • Azure CLI (příkazový řádek nástroje Azure)
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio Code

Knihovna identit Azure dokáže zjistit, že vývojář je přihlášený z některého z těchto nástrojů. Knihovna pak může získat přístupový token Microsoft Entra prostřednictvím nástroje k ověření aplikace v Azure jako přihlášený uživatel.

Tento přístup využívá stávající účty Azure vývojáře ke zjednodušení procesu ověřování. Účet vývojáře ale pravděpodobně má více oprávnění, než vyžaduje aplikace, a proto překračuje oprávnění, která aplikace běží v produkčním prostředí. Jako alternativu můžete vytvořit instanční objekty aplikace, které se použijí při místním vývoji, což může být vymezeno tak, aby měly přístup potřebný jenom pro aplikaci.

Vytvoření skupiny Microsoft Entra pro místní vývoj

Vytvořte skupinu Microsoft Entra pro zapouzdření rolí (oprávnění), které aplikace potřebuje pro místní vývoj, místo aby byly role přiřazovány jednotlivým objektům služby principal. Tento přístup nabízí následující výhody:

  • Každý vývojář má stejné role přiřazené na úrovni skupiny.
  • Pokud je pro aplikaci potřeba nová role, stačí ji přidat jenom do skupiny aplikace.
  • Pokud se nový vývojář připojí k týmu, vytvoří se nový instanční objekt aplikace pro vývojáře a přidá se do skupiny, aby vývojář získal správná oprávnění pro práci s aplikací.
  1. V Azure portálu přejděte na stránku přehledu Microsoft Entra ID.

  2. V nabídce vlevo vyberte Všechny skupiny .

  3. Na stránce Skupiny vyberte Nová skupina.

  4. Na stránce Nová skupina vyplňte následující pole formuláře:

    • Typ skupiny: Vyberte Zabezpečení.
    • Název skupiny: Zadejte název skupiny, která obsahuje odkaz na název aplikace nebo prostředí.
    • Popis skupiny: Zadejte popis, který vysvětluje účel skupiny.

    Snímek obrazovky znázorňující, jak vytvořit skupinu na webu Azure Portal

  5. Vyberte odkaz Žádné členy vybrané v části Členové a přidejte do skupiny členy.

  6. V panelu, který se otevře, vyhledejte service principal, který jste vytvořili dříve, a vyberte ho z filtrovaných výsledků. Výběrem tlačítka Vybrat v dolní části panelu potvrďte výběr.

  7. Výběrem možnosti Vytvořit v dolní části stránky Nová skupina vytvořte skupinu a vraťte se na stránku Všechny skupiny . Pokud novou skupinu nevidíte, chvíli počkejte a aktualizujte stránku.

Přiřazení rolí ke skupině

Dále určete, jaké role (oprávnění) vaše aplikace potřebuje k jakým prostředkům, a přiřaďte tyto role skupině Microsoft Entra, kterou jste vytvořili. Skupiny je možné přiřadit roli v oboru prostředku, skupiny prostředků nebo předplatného. Tento příklad ukazuje, jak přiřadit role v oboru skupiny prostředků, protože většina aplikací seskupuje všechny prostředky Azure do jedné skupiny prostředků.

  1. Na webu Azure Portal přejděte na stránku Přehled skupiny prostředků, která obsahuje vaši aplikaci.

  2. V levém navigačním panelu vyberte řízení přístupu (IAM).

  3. Na stránce Řízení přístupu (IAM) vyberte + Přidat a pak v rozevírací nabídce zvolte Přidat přiřazení role . Stránka Přidat přiřazení role poskytuje několik záložek pro konfiguraci a přiřazení rolí.

  4. Na kartě Role vyhledejte roli, kterou chcete přiřadit, pomocí vyhledávacího pole. Vyberte roli a pak zvolte Další.

  5. Na kartě Členové :

    • V části Přiřadit přístup k hodnotě vyberte Uživatel, skupina nebo instanční objekt .
    • Pro hodnotu Členové zvolte + Vybrat členy , aby se otevřel informační panel Vybrat členy .
    • Vyhledejte skupinu Microsoft Entra, kterou jste vytvořili dříve, a vyberte ji z filtrovaných výsledků. Výběrem možnosti Vybrat vyberte skupinu a zavřete informační panel.
    • V dolní části karty Členové vyberte Zkontrolovat a přiřadit.

    Snímek obrazovky znázorňující, jak přiřadit roli ke skupině Microsoft Entra

  6. Na kartě Revize a Přiřazení vyberte Revize a Přiřazení v dolní části stránky.

Přihlášení k Azure pomocí vývojářských nástrojů

Dále se přihlaste k Azure pomocí některého z několika vývojářských nástrojů, které se dají použít k ověřování ve vašem vývojovém prostředí. Účet, který ověříte, by měl existovat také ve skupině Microsoft Entra, kterou jste vytvořili a nakonfigurovali dříve.

Vývojáři můžou použít Azure CLI k ověření v Microsoft Entra ID. Aplikace používající DefaultAzureCredential nebo AzureCliCredential můžou tento účet použít k ověřování žádostí o aplikace při místním spuštění.

Pokud se chcete ověřit pomocí Azure CLI, spusťte az login příkaz. V systému s výchozím webovým prohlížečem azure CLI spustí prohlížeč pro ověření uživatele.

az login

Pro systémy bez výchozího webového prohlížeče používá příkaz az login tok ověřování kódu zařízení. Uživatel může také vynutit, aby azure CLI používalo tok kódu zařízení místo spuštění prohlížeče zadáním argumentu --use-device-code.

az login --use-device-code

Ověřování ve službách Azure z vaší aplikace

Knihovna Identit Azure poskytuje implementace TokenCredential, které podporují různé scénáře a toky ověřování Microsoft Entra. Následující kroky ukazují, jak při práci s uživatelskými účty místně používat defaultAzureCredential nebo konkrétní přihlašovací údaje vývojového nástroje.

Návod

Pokud váš tým k ověřování v Azure používá více vývojových nástrojů, upřednostňujte místní instanci DefaultAzureCredential optimalizovanou pro vývoj před přihlašovacími údaji specifickými pro konkrétní nástroje.

Implementace kódu

  1. Přidejte do aplikace balíček @azure/identity .

    npm install @azure/identity
    

    Poznámka:

    Pokud chcete použít VisualStudioCodeCredential, musíte také nainstalovat balíček modulu plug-in @azure/identity-vscode . Pak explicitně načtěte přihlašovací údaje. Příklad najdete v souboru README @azure/identity-vscode.

  2. Zvolte jednu z implementací přihlašovacích údajů na základě vašeho scénáře.

Použití přihlašovacích údajů specifických pro váš vývojový nástroj

Předejte konstruktoru klienta služby Azure instanci, která odpovídá konkrétnímu vývojovému nástroji, například 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
);

Použití přihlašovacích údajů dostupných v jakémkoli vývojovém nástroji

Použijte instanci optimalizovanou DefaultAzureCredential pro všechny místní vývojové nástroje. Tento příklad vyžaduje proměnnou AZURE_TOKEN_CREDENTIALS prostředí nastavenou na dev. Další informace najdete v tématu Vyloučení kategorie typu přihlašovacích údajů.

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
);