Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 alkalmazáshitelesítési módszer
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. |
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.