Megosztás a következőn keresztül:


Hitelesítőadat-láncok a JavaScripthez készült Azure Identity-ügyfélkódtárban

Az Azure Identity-ügyfélkódtár hitelesítő adatokat biztosít, amelyek nyilvános osztályok, amelyek implementálják az Azure Core-kódtár TokenCredential felületét. A hitelesítő adatok egy különálló hitelesítési folyamatot jelentenek a hozzáférési jogkivonat Microsoft Entra-azonosítóból való beszerzéséhez. Ezek a hitelesítő adatok külön-külön vagy összeláncolt módon is kiválaszthatók, hogy a megkísérlendő hitelesítési mechanizmusok rendezett sorozatát alakíthassák ki.

  • egyéni hitelesítő adatok sebességet és bizonyosságot biztosítanak. Ha sikertelenek, akkor tudja, hogy a hitelesítő adatok nem lettek hitelesítve.
  • láncok tartalékokat biztosítanak. Ha a hitelesítő adatok hitelesítése sikertelen, a rendszer megkísérli a következő hitelesítő adatot a láncban.

A hitelesítési folyamatok tervezése

Az Azure SDK-ügyfélkódtárak használatakor az első lépés az Azure-beli hitelesítés. A hitelesítési lehetőségek közé tartoznak a fejlesztői csapat által használt eszközök és IDE-k, az automatizálási munkafolyamatok, mint például a tesztelés és a CI/CD, valamint a hosztolt platformok, mint például az Azure App Service.

Válasszon a hitelesítési folyamat következő gyakori folyamatainak közül:

  • Használja a DefaultAzureCredentialcsapatok számára, amelyek fejlesztői különböző IDE-ket és CLI-ket használnak az Azureeléréséhez való hitelesítéshez. Ez a legnagyobb rugalmasságot teszi lehetővé. Ezt a rugalmasságot a teljesítmény költségén biztosítjuk a lánc hitelesítő adatainak ellenőrzéséhez, amíg az egyik sikeres nem lesz.

    • A hitelesítő adatok közötti visszalépés az észlelt környezet alapján automatikusan történik az Ön nevében.
    • A kiválasztott hitelesítő adat megállapításához kapcsolja be a hibakeresésimódot.
  • Használja a ChainedTokenCredential-t azokhoz a csapatokhoz, amelyek szigorúan válogatott eszközöket használnak. Például mindannyian bejelentkeznek és hitelesítenek azonos IDE-ben vagy CLI-ben, és ugyanezt a parancssori felületet használják. Így a csapat kiválaszthatja a pontos hitelesítő adatokat és a rendelést, amely továbbra is rugalmasságot biztosít, de alacsonyabb teljesítményköltséggel.

    • Válassza ki a tartalék elérési utat hitelesítő adatokról hitelesítő adatokra, függetlenül a környezettől, amelyben fut.
    • A kiválasztott hitelesítő adat megállapításához kapcsolja be a(z) hibakeresést.
  • Az csapatok számára, amelyek minden környezetben biztosak a hitelesítő adatokkal kapcsolatban, egy vezérlőfolyamat-utasítás, például az if/else ág lehetővé teszi, hogy megtudja, melyik hitelesítő adatot választották az egyes környezetekben.

    • Nincs visszalépés egy másik hitelesítő adattípusra.
    • Nem kell hibakeresést végeznie annak megállapításához, hogy melyik hitelesítő adatot választották ki, mert meg lett adva.

A láncolt hitelesítő működése

Futásidőben egy hitelesítőadat-lánc megpróbálja a hitelesítést a sorozat első hitelesítő adata alapján végrehajtani. Ha a hitelesítő adatok nem szereznek be hozzáférési jogkivonatot, a rendszer megkísérli a következő hitelesítő adatot a sorozatban, és így tovább, amíg egy hozzáférési jogkivonatot nem szerez be sikeresen. A következő szekvenciadiagram ezt a viselkedést szemlélteti:

Diagram az Azure Identity hitelesítőadat-szekvenciális folyamatának ábrázolására.

A DefaultAzureCredential használata a rugalmasság érdekében

DefaultAzureCredential egy véleményezett, előre konfigurált hitelesítőadat-lánc. Számos környezetet támogat, a leggyakoribb hitelesítési folyamatokkal és fejlesztői eszközökkel együtt. Grafikus formában az alapul szolgáló lánc a következőképpen néz ki:

DefaultAzureCredential hitelesítési folyamatot bemutató diagram.

DefaultAzureCredential a hitelesítő adatok próbálkozási sorrendjét követi.

Megrendelés Megbízólevél Leírás
1 környezet Beolvassa a környezeti változók gyűjteményét, annak megállapításához, hogy az alkalmazáshoz egy alkalmazás szolgáltatói objektum (alkalmazásfelhasználó) van-e konfigurálva. Ha igen, DefaultAzureCredential ezeket az értékeket használja az alkalmazás Azure-beli hitelesítéséhez. Ezt a módszert leggyakrabban kiszolgálókörnyezetekben használják, de helyi fejlesztéskor is használható.
2 Munkaterhelés identitás Ha az alkalmazás olyan Azure-gazdagépen van üzembe helyezve, amelyen engedélyezve van a Számítási feladat identitása, hitelesítse ezt a fiókot.
3 Kezelhető identitás Ha az alkalmazás olyan Azure-gazdagépen van üzembe helyezve, amelyen engedélyezve van a felügyelt identitás, hitelesítse az alkalmazást az Azure-ban ezzel a felügyelt identitással.
4 Azure CLI Ha a fejlesztő az Azure CLI az login parancsával hitelesítette az Azure-t, azonos fiókkal hitelesítse az alkalmazást az Azure-ban.
5 Azure PowerShell Ha a fejlesztő az Azure PowerShell Connect-AzAccount parancsmagjával hitelesítette az Azure-t, azonos fiókkal hitelesítse az alkalmazást az Azure-ban.
6 Azure Developer CLI Ha a fejlesztő az Azure Developer CLI azd auth login parancsával hitelesítve van az Azure-ban, akkor ezzel a fiókkal hitelesíthet.

Legegyszerűbb formájában a DefaultAzureCredential paraméter nélküli verzióját használhatja az alábbiak szerint:

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

A hitelesítő adatok globálisak a környezet számára

DefaultAzureCredential bizonyos környezeti változók meglétét ellenőrzi. Lehetséges, hogy valaki hozzáadhatja vagy módosíthatja ezeket a környezeti változókat a gazdaszámítógép rendszerszintjén. Ezek a módosítások globálisan érvényesek, és ezért módosítják a DefaultAzureCredential futásidőben való viselkedését a számítógépen futó alkalmazásokban.

A ChainedTokenCredential használata a részletesség érdekében

ChainedTokenCredential egy üres lánc, amelyhez hitelesítő adatokat ad hozzá az alkalmazás igényeinek megfelelően. Az alábbi példa például hozzáad egy ManagedIdentityCredential példányt, majd egy AzureCliCredential-példányt.

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

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

Az előző kódminta egy személyre szabott hitelesítőadat-láncot hoz létre, amely két hitelesítő adatból áll. A rendszer először a ManagedIdentityCredential felhasználó által hozzárendelt felügyelt identitásvariánsát kísérli meg, majd szükség esetén AzureCliCredential. Grafikus formában a lánc a következőképpen néz ki:

Diagram a felügyelt identitáshoz és az Azure CLI-hez készült Azure Identity hitelesítőadat-láncról.

Borravaló

A jobb teljesítmény érdekében optimalizálja a hitelesítő adatok sorrendjét az éles környezetben. A helyi fejlesztési környezetben való használatra szánt hitelesítő adatokat utoljára hozzá kell adni.

Láncolt hitelesítő adatok hibakeresése

Hitelesítőadat-lánc hibakereséséhez engedélyezze Azure SDK naplózási.

További erőforrások