Sdílet prostřednictvím


Řetězy přihlašovacích údajů v klientské knihovně Azure Identity pro JavaScript

Klientská knihovna Azure Identity poskytuje přihlašovací údaje, což jsou veřejné třídy, které implementují rozhraní TokenCredential knihovny Azure Core. Přihlašovací údaje představují jedinečný tok ověřování pro získání přístupového tokenu z ID Microsoft Entra. Tyto přihlašovací údaje lze vybrat jednotlivě nebo zřetězit a vytvořit seřazenou posloupnost ověřovacích mechanismů, které mají být použity.

  • Individuální přihlašovací údaje poskytují rychlost a jistotu. Pokud selžou, víte, že se přihlašovací údaje neověřily.
  • Řetězy poskytují alternativní řešení. Pokud se přihlašovací údaje nepodaří ověřit, pokusí se o další přihlašovací údaje v řetězu.

Návrh toků ověřování

Při použití klientských knihoven Azure SDK je prvním krokem ověření do Azure. Existuje mnoho možností ověřování, které je třeba zvážit, jako jsou nástroje a integrovaná vývojová prostředí používaná ve vývojovém týmu, automatizační pracovní postupy, jako jsou testování a nasazování CI/CD, a hostingové platformy, jako je Azure App Service.

Vyberte si z následujících běžných průběhů toku ověřování:

  • Použijte DefaultAzureCredential pro týmy , jejichž vývojáři používají různá integrovaná vývojová prostředí (IDE) a příkazové řádky (CLI) k ověřování v Azure. To umožňuje největší flexibilitu. Tato flexibilita je poskytována na úkor výkonu, aby bylo možné postupně ověřovat přihlašovací údaje v řetězci, dokud není alespoň jeden úspěšně ověřen.

    • Přechod z jednoho přihlašovacího údaje na druhý se automaticky zvolí na základě zjištěného prostředí.
    • Chcete-li zjistit, které přihlašovací údaje byly vybrány, zapněte ladění.
  • Použijte ChainedTokenCredential pro týmy, které mají striktní a vymezený výběr nástrojů. Například, všichni se přihlašují a používají stejné integrované vývojové prostředí nebo rozhraní příkazového řádku. To týmu umožňuje vybrat přesné přihlašovací údaje a pořadí, které stále poskytuje flexibilitu, ale s nižšími náklady na výkon.

    • Z přihlašovacích údajů k přihlašovacím údajům vyberete záložní cestu bez ohledu na prostředí, ve které se spouští.
    • Chcete-li zjistit, které přihlašovací údaje byly vybrány, zapněte ladění.
  • Pro týmy s jistotou přihlašovacích údajů ve všech prostředích vám příkaz toku řízení, jako je if/else, umožňuje zjistit, které přihlašovací údaje byly vybrány v jednotlivých prostředích.

    • K jinému typu přihlašovacích údajů neexistuje žádné alternativní řešení.
    • Nepotřebujete zjišťovat, které přihlašovací údaje byly zvoleny, protože bylo uvedeno.

Jak fungují zřetězené přihlašovací údaje

Během spuštění se řetěz přihlašovacích údajů pokusí ověřit pomocí prvních přihlašovacích údajů v pořadí. Pokud se tento přihlašovací údaj nepodaří získat přístupový token, pokusí se další přihlašovací údaje v této sekvenci atd., dokud se přístupový token úspěšně nezíská. Toto chování znázorňuje následující sekvenční diagram:

diagram znázorňující tok sekvence přihlašovacích údajů identity Azure

Používejte DefaultAzureCredential pro flexibilitu

DefaultAzureCredential je předkonfigurovaný řetězec přihlašovacích údajů s pevně stanovenými preferencemi. Je navržená tak, aby podporovala mnoho prostředí spolu s nejběžnějšími toky ověřování a vývojářskými nástroji. Základní řetězec v grafické podobě vypadá takto:

diagram znázorňující tok ověřování DefaultAzureCredential

Pořadí, ve kterém DefaultAzureCredential použije přihlašovací údaje, je následující.

Objednávka Pověření Popis
1 prostředí Načte kolekci proměnných prostředí k určení, jestli je pro aplikaci nakonfigurovaný servisní principál (uživatel aplikace). Pokud ano, DefaultAzureCredential tyto hodnoty použije k ověření aplikace v Azure. Tato metoda se nejčastěji používá v serverových prostředích, ale dá se použít také při místním vývoji.
2 identita pracovního zatížení Pokud je aplikace nasazená na hostitele Azure s povolenou identitou úloh, ověřte tento účet.
3 spravované identity Pokud je aplikace nasazená na hostitele Azure s povolenou spravovanou identitou, ověřte ji v Azure pomocí této spravované identity.
4 Azure CLI Pokud se vývojář ověřil v Azure pomocí příkazu azure CLI az login, ověřte aplikaci v Azure pomocí stejného účtu.
5 Azure PowerShell Pokud se vývojář ověřil v Azure pomocí Connect-AzAccount rutiny Azure PowerShellu, ověřte aplikaci v Azure pomocí stejného účtu.
6 Azure Developer CLI Pokud se vývojář ověřil v Azure pomocí azd auth login příkazu Azure Developer CLI, ověřte ho pomocí daného účtu.

V nejjednodušší podobě můžete použít bezparametrovou verzi DefaultAzureCredential následujícím způsobem:

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

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

const blobServiceClient = new BlobServiceClient(
    "https://<my_account_name>.blob.core.windows.net",
    credential
);

Přihlašovací údaje jsou pro prostředí globální.

DefaultAzureCredential kontroluje přítomnost určitých proměnných prostředí . Je možné, že někdo může přidat nebo upravit tyto proměnné prostředí na úrovni systému na hostitelském počítači. Tyto změny platí globálně a proto mění chování DefaultAzureCredential za běhu v libovolné aplikaci spuštěné na tomto počítači.

Použijte ChainedTokenCredential pro granularitu

ChainedTokenCredential je prázdný řetězec, ke kterému přidáte přihlašovací údaje podle potřeb vaší aplikace. Například následující příklad přidá instanci ManagedIdentityCredential a pak AzureCliCredential instanci.

import { 
    ChainedTokenCredential, 
    ManagedIdentityCredential, 
    AzureCliCredential 
} from "@azure/identity";

const credential = ChainedTokenCredential(
    ManagedIdentityCredential({ clientId: "<YOUR_CLIENT_ID>" }),
    AzureCliCredential()
);

Předchozí ukázka kódu vytvoří přizpůsobený řetěz přihlašovacích údajů složený ze dvou přihlašovacích údajů. Varianta spravované identity přiřazená uživatelem ManagedIdentityCredential je nejprve použita, a pokud je to nutné, následuje varianta AzureCliCredential. V grafické podobě řetězec vypadá takto:

diagram znázorňující řetěz přihlašovacích údajů identity Azure pro spravovanou identitu a Azure CLI

Spropitné

Pokud chcete dosáhnout vyššího výkonu, optimalizujte řazení přihlašovacích údajů pro produkční prostředí . Přihlašovací údaje určené k použití v místním vývojovém prostředí by měly být přidány jako poslední.

Ladění zřetězených přihlašovacích údajů

Pokud chcete ladit řetěz přihlašovacích údajů, povolte protokolování sady Azure SDK.

Další zdroje informací