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
DefaultAzureCredential
csapatok 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:
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
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:
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.