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


JavaScript-alkalmazások hitelesítése az Azure-szolgáltatásokban az Azure Identity-kódtár használatával

Ha egy alkalmazásnak hozzá kell férnie egy Azure-erőforráshoz, például a Storage-hoz, a Key Vaulthoz vagy a Cognitive Serviceshez, az alkalmazást hitelesíteni kell az Azure-ban. Ez minden alkalmazásra igaz, legyen szó az Azure-ban üzembe helyezett, a helyszínen üzembe helyezett vagy a helyi fejlesztői munkaállomáson végzett fejlesztés alatt álló alkalmazásokról. Ez a cikk azokat a javasolt módszereket ismerteti, hogyan hitelesíthet egy alkalmazást az Azure-ban a JavaScripthez készült Azure SDK használatakor.

Ajánlott, hogy az alkalmazások jogkivonaton alapuló hitelesítésthasználjanak a kapcsolati karakterláncok vagy kulcsok helyett, amikor az Azure erőforrásokhoz hitelesítenek. Az Azure Identity-kódtár jogkivonatalapú hitelesítést biztosít, és lehetővé teszi, hogy az alkalmazások zökkenőmentesen hitelesítsék magukat az Azure-erőforrásokon, függetlenül attól, hogy az alkalmazás helyi fejlesztés alatt áll, üzembe van helyezve az Azure-ban vagy egy helyszíni kiszolgálón.

Az alkalmazás által az Azure-erőforrásokon való hitelesítéshez használt jogkivonatalapú hitelesítés konkrét típusa attól függ, hogy az alkalmazás hol fut, és az alábbi ábrán látható.

Környezet Hitelesítés
helyi Ha egy fejlesztő helyi fejlesztés során futtat egy alkalmazást – Az alkalmazás hitelesítést végezhet az Azure-ban egy alkalmazásszolgáltatásnév használatával a helyi fejlesztéshez, vagy a fejlesztő Azure-beli hitelesítő adatainak használatával. Ezekről a lehetőségekről részletesebben a helyi fejlesztés alatti hitelesítés című szakaszban olvashat.
Azúr Ha egy alkalmazást az Azure-ban üzemeltetnek – Az alkalmazásnak felügyelt identitással kell hitelesítenie az Azure-erőforrásokat. Az alábbiakban részletesebben tárgyaljuk ezt a lehetőséget a kiszolgálói környezetekben történő hitelesítés szakaszában .
helyszíni Amikor egy alkalmazást üzemeltetnek és üzembe helyeznek a helyszínen , az alkalmazásnak hitelesítenie kell magát az Azure-erőforrásokban egy alkalmazásszolgáltatás-tag használatával. Ezt a lehetőséget az alábbiakban részletesebben tárgyaljuk a hitelesítés a kiszolgálói környezetekben című szakaszban.

Egy alkalmazás ajánlott jogkivonatalapú hitelesítési stratégiáit bemutató diagram, attól függően, hogy hol fut.

A tokenalapú hitelesítés előnyei

Az Azure-hoz készült alkalmazások létrehozásakor a token alapú hitelesítés erősen ajánlott a titkok (kapcsolati sztringek vagy más kulcsok) felett. A tokenalapú hitelesítést a DefaultAzureCredentialbiztosítja.

Tokenealapú hitelesítés Titkos kódok (kapcsolati sztringek és kulcsok)
minimális jogosultságielve határozza meg az alkalmazás által az Azure-erőforráson szükséges konkrét engedélyeket. A kapcsolati sztring vagy kulcs teljes jogokat biztosít az Azure-erőforrás számára.
Nincs tárolandó alkalmazáskulcs. Titkokat kell tárolnia és elforgatnia az alkalmazásbeállításokban vagy a környezeti változókban.
Az Azure Identity-könyvtár a színfalak mögött kezeli a tokeneket. Ez megkönnyíti a jogkivonatalapú hitelesítés használatát kapcsolati sztringként. Titkok nincsenek kezelve.

A kapcsolati sztringek használatát olyan koncepcióalkalmazások vagy fejlesztési prototípusok kezdeti ellenőrzésére kell korlátozni, amelyek nem férnek hozzá éles vagy bizalmas adatokhoz. Ellenkező esetben az Azure Identity-kódtárban elérhető jogkivonatalapú hitelesítési osztályokat mindig előnyben kell részesíteni az Azure-erőforrásokhoz való hitelesítéskor.

Használja a következő kódtárat:

DefaultAzureCredential

Az Azure Identity-kódtár által biztosított DefaultAzureCredential osztály lehetővé teszi, hogy az alkalmazások a futtatásuk környezetétől függően különböző hitelesítési módszereket használjanak. Ez a viselkedés lehetővé teszi az alkalmazások előléptetését a helyi fejlesztéstől a tesztkörnyezeteken át az éles környezetekig kód módosítása nélkül. Konfigurálja a megfelelő hitelesítési módszert az egyes környezetekhez, és DefaultAzureCredential automatikusan észleli és használja ezt a hitelesítési módszert. A DefaultAzureCredential használatát előnyben kell részesíteni a feltételes logika vagy funkciójelzők manuális kódolása helyett, hogy különböző hitelesítési módszereket használjon különböző környezetekben.

Az DefaultAzureCredential használatával kapcsolatos részletek a című szakaszban találhatók. Használja a DefaultAzureCredential-t azalkalmazásban.

Hitelesítés kiszolgálói környezetekben

Kiszolgálói környezetben való üzemeltetéskor minden alkalmazáshoz egyedi alkalmazásidentitást kell hozzárendelni, környezetenként. Az Azure-ban az alkalmazásidentitásokat egy szolgáltatási főszereplőképviseli, amely egy speciális biztonsági főszereplő, amely az Azure-beli alkalmazások azonosítására és hitelesítésére szolgál. Az alkalmazáshoz használandó szolgáltatásnév típusa attól függ, hogy az alkalmazás hol fut.

Hitelesítés a helyi fejlesztés során

Ha egy alkalmazás egy fejlesztői munkaállomáson fut a helyi fejlesztés során, a helyi környezetnek továbbra is hitelesítenie kell magát az alkalmazás által használt Azure-szolgáltatásokban.

DefaultAzureCredential használata egy alkalmazásban

DefaultAzureCredential egy előrefelételezett, rendezett mechanizmusok sorozata a Microsoft Entra azonosítóhoz való hitelesítéshez. Minden hitelesítési mechanizmus egy osztály, amely a TokenCredential osztályból származik, és hitelesítőnéven ismert. Futásidőben DefaultAzureCredential az első hitelesítő adatok használatával próbál hitelesíteni. 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. Ily módon az alkalmazás különböző hitelesítő adatokat használhat különböző környezetekben anélkül, hogy környezetspecifikus kódot ír.

Az DefaultAzureCredentialhasználatához adja hozzá a @azure/identity csomagot az alkalmazáshoz.

npm install @azure/identity

Ezután a következő kódminta bemutatja, hogyan lehet példányosítani egy DefaultAzureCredential objektumot, és hogyan használhatja azt egy Azure SDK szolgáltatás ügyfélosztályával – ebben az esetben az Azure Blob Storage eléréséhez használt BlobServiceClient.

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

const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
if (!accountName) throw Error('Azure Storage accountName not found');

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

DefaultAzureCredential automatikusan észleli az alkalmazáshoz konfigurált hitelesítési mechanizmust, és beszerezi az alkalmazás Azure-ba történő hitelesítéséhez szükséges jogkivonatokat. Ha egy alkalmazás több SDK-ügyfelet használ, ugyanazt a hitelesítő objektumot használhatja minden egyes SDK-ügyfélobjektumhoz.