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.
Az Azure által üzemeltetett alkalmazások más Azure erőforrásokra való hitelesítésének ajánlott módszere egy felügyelt identitás használata. Ez a megközelítés támogatott a legtöbb Azure szolgáltatáshoz, beleértve a Azure App Service, Azure Container Apps és Azure Virtual Machines üzemeltetett alkalmazásokat is. A hitelesítés áttekintési oldalán további információkat talál a különböző hitelesítési technikákról és módszerekről. Az alábbi szakaszokban a következő ismereteket fogja elsajátítani:
- Alapvető felügyelt identitásfogalmak
- Rendszer által hozzárendelt felügyelt identitás létrehozása az alkalmazáshoz
- Szerepkörök hozzárendelése a rendszer által hozzárendelt felügyelt identitáshoz
- Hitelesítés a rendszer által hozzárendelt felügyelt identitással az alkalmazáskódból
Alapvető felügyelt identitásfogalmak
A felügyelt identitás lehetővé teszi, hogy az alkalmazás biztonságosan csatlakozzon más Azure erőforrásokhoz titkos kulcsok vagy más alkalmazáskulcsok használata nélkül. Belsőleg Azure nyomon követi az identitást, és hogy mely erőforrásokhoz csatlakozhat. Azure ezeket az információkat arra használja, hogy automatikusan Microsoft Entra tokeneket szerezzen meg az alkalmazáshoz, lehetővé téve, hogy más Azure erőforrásokhoz csatlakozzon.
A felügyelt identitások kétféleképpen konfigurálhatók a üzemeltetett alkalmazás konfigurálásakor:
- System által hozzárendelt felügyelt identitások közvetlenül egy Azure erőforráson vannak engedélyezve, és az életciklusához vannak kötve. Az erőforrás törlésekor az Azure automatikusan törli az identitást. A rendszer által hozzárendelt identitások minimalista megközelítést biztosítanak a felügyelt identitások használatához.
- Felhasználó által hozzárendelt felügyelt identitások különálló Azure erőforrásokként jönnek létre, és nagyobb rugalmasságot és képességeket biztosítanak. Olyan megoldásokhoz ideálisak, amelyek több Azure erőforrást tartalmaznak, amelyeknek azonos identitással és engedélyekkel kell rendelkezniük. Ha például több virtuális gépnek kell elérnie ugyanazt a Azure erőforráskészletet, a felhasználó által hozzárendelt felügyelt identitás újrahasználhatóságot és optimalizált felügyeletet biztosít.
Jótanács
További információ a rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitások kiválasztásáról és kezeléséről a felügyelt identitásokkal kapcsolatos ajánlott eljárásokra vonatkozó javaslatokkal foglalkozó cikkben.
Az alábbi szakaszok a rendszer által hozzárendelt felügyelt identitás Azure által üzemeltetett alkalmazásokhoz való engedélyezésének és használatának lépéseit ismertetik. Ha felhasználó által hozzárendelt felügyelt identitást kell használnia, további információt a felhasználó által hozzárendelt felügyelt identitásokról szóló cikkben talál.
Rendszer által hozzárendelt felügyelt identitás engedélyezése a Azure üzemeltetési erőforráson
A rendszer által hozzárendelt felügyelt identitás alkalmazással való használatának megkezdéséhez engedélyezze az identitást az alkalmazást futtató Azure erőforráson, például egy Azure App Service, Azure Container Apps vagy Azure Virtual Machines-példányon.
Egy Azure erőforráshoz rendszer által hozzárendelt felügyelt identitást engedélyezhet a Azure portálon vagy a Azure CLI.
A Azure portálon keresse meg az alkalmazáskódot tároló erőforrást, például egy Azure App Service vagy Azure Container Apps-példányt.
Az erőforrás Áttekintés lapján bontsa ki a Beállítások elemet, és válassza az Identitás lehetőséget a navigációs sávon.
Az Identitás lapon állítsa be az Állapot csúszkát Be állásba.
Válassza a Mentés lehetőséget a módosítások alkalmazásához.
Szerepkörök hozzárendelése a felügyelt identitáshoz
Ezután határozza meg, hogy az alkalmazásnak mely szerepkörökre van szüksége, és rendelje hozzá ezeket a szerepköröket a felügyelt identitáshoz. A szerepköröket a következő hatókörökben rendelheti hozzá egy felügyelt identitáshoz:
- Erőforrás: A hozzárendelt szerepkörök csak az adott erőforrásra vonatkoznak.
- Erőforráscsoport: A hozzárendelt szerepkörök az erőforráscsoportban található összes erőforrásra vonatkoznak.
- Előfizetés: A hozzárendelt szerepkörök az előfizetésben található összes erőforrásra érvényesek.
Az alábbi példa bemutatja, hogyan rendelhet hozzá szerepköröket az erőforráscsoport hatóköréhez, mivel számos alkalmazás egyetlen erőforráscsoport használatával kezeli az összes kapcsolódó Azure erőforrást.
Lépjen a rendszer által hozzárendelt felügyelt identitással rendelkező alkalmazást tartalmazó erőforráscsoport Áttekintés lapjára.
A bal oldali navigációs sávon válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
A Hozzáférés-vezérlés (IAM) lapon válassza a + Hozzáadás lehetőséget a felső menüben, majd a Szerepkör-hozzárendelés hozzáadása lehetőséget választva lépjen a Szerepkör-hozzárendelés hozzáadása lapra.
A Szerepkör-hozzárendelés hozzáadása lap egy többlépéses munkafolyamatot jelenít meg a szerepkörök identitásokhoz való hozzárendelése érdekében. A kezdeti Szerepkör lapon a felső keresőmezővel keresse meg az identitáshoz hozzárendelni kívánt szerepkört.
Válassza ki a szerepkört az eredmények közül, majd a Tovább gombra kattintva lépjen a Tagok lapra.
A Hozzáférés hozzárendelése beállításhoz válassza a Felügyelt identitás lehetőséget.
A Tagok beállításnál válassza a + Tagok kijelölése lehetőséget a Felügyelt identitások kiválasztása panel megnyitásához.
A Felügyelt identitások kiválasztásapanelen az Előfizetés és a Felügyelt identitás legördülő listával szűrheti az identitások keresési eredményeit. A Select keresőmezővel keresse meg az alkalmazást üzemeltető Azure erőforráshoz engedélyezett rendszeridentitást.
Válassza ki az identitást, és a folytatáshoz válassza a Panel alján található Kijelölés lehetőséget.
Válassza a Véleményezés + hozzárendelés lehetőséget a lap alján.
A végső Véleményezés + hozzárendelés lapon válassza a Véleményezés + hozzárendelés lehetőséget a munkafolyamat befejezéséhez.
Hitelesítés Azure szolgáltatásokhoz az alkalmazásból
Az Azure Identitástár különböző hitelesítő adatokat – a TokenCredential különböző forgatókönyvek és Microsoft Entra hitelesítési folyamatok támogatásához igazított implementációit biztosítja. Mivel a felügyelt identitás helyi futtatáskor nem érhető el, az alábbi lépések bemutatják, hogy melyik hitelesítő adatot melyik forgatókönyvben érdemes használni:
-
Helyi fejlesztői környezet: Csak a helyi fejlesztés során használjon DefaultAzureCredential nevű osztályt a hitelesítő adatok véleményezett, előre konfigurált láncolatához.
DefaultAzureCredentialészleli a felhasználói hitelesítő adatokat a helyi fejlesztő eszközökből vagy IDE-ből, például az Azure CLI vagy a Visual Studio Code. Emellett rugalmasságot és kényelmet biztosít az újrapróbálkozáshoz, a válaszok várakozási idejéhez és a több hitelesítési lehetőség támogatásához is. További információért látogasson el az Azure szolgáltatások hitelesítése helyi fejlesztés során című cikkre. -
Azure által üzemeltetett alkalmazások: Ha az alkalmazás Azure fut, a
ManagedIdentityCredentialhasználatával biztonságosan felderítheti az alkalmazáshoz konfigurált felügyelt identitást. Ennek a hitelesítő adattípusnak a megadása megakadályozza, hogy más elérhető hitelesítő adatok váratlanul átvehetők legyenek.
A kód implementálása
JavaScript-projektben adja hozzá a @azure/identity csomagot. Keresse meg az alkalmazásprojekt könyvtárát egy tetszőleges terminálon, és futtassa a következő parancsokat:
npm install @azure/identity
Azure szolgáltatások speciális ügyfélosztályokkal érhetők el a különböző Azure SDK ügyfélkódtárakból.
index.js hajtsa végre a következő lépéseket a tokenalapú hitelesítés konfigurálásához:
Importálja a
@azure/identitycsomagot.Adjon át egy megfelelő
TokenCredentialpéldányt az ügyfélnek:- Akkor használható
DefaultAzureCredential, ha az alkalmazás helyileg fut -
ManagedIdentityCredentialhasználata, ha az alkalmazás Azure fut.
import { BlobServiceClient } from '@azure/storage-blob'; import { ManagedIdentityCredential, DefaultAzureCredential } from '@azure/identity'; function createBlobServiceClient() { const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME; if (!accountName) throw Error('Azure Storage accountName not found'); const url = `https://${accountName}.blob.core.windows.net`; if (process.env.NODE_ENV === "production") { return new BlobServiceClient(url, new ManagedIdentityCredential()); } else { return new BlobServiceClient(url, new DefaultAzureCredential()); } } async function main() { try { const blobServiceClient = createBlobServiceClient(); const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME); const properties = await containerClient.getProperties(); console.log(properties); } catch (err) { console.error("Error retrieving container properties:", err.message); throw err; } } main().catch((err) => { console.error("Error running sample:", err.message); process.exit(1); });- Akkor használható
A kód implementálása
Egy JavaScript-projektben adja hozzá a @azure/identity csomagot. Keresse meg az alkalmazásprojekt könyvtárát egy tetszőleges terminálon, és futtassa a következő parancsokat:
npm install @azure/identity @types/node
Azure szolgáltatások speciális ügyfélosztályokkal érhetők el a különböző Azure SDK ügyfélkódtárakból. A index.js során hajtsa végre a következő lépéseket a jogkivonat-alapú hitelesítés konfigurálásához:
Importálja a
@azure/identitycsomagot.Adjon át egy megfelelő
TokenCredentialpéldányt az ügyfélnek:- Akkor használható
DefaultAzureCredential, ha az alkalmazás helyileg fut -
ManagedIdentityCredentialhasználata, ha az alkalmazás Azure fut.
import { BlobServiceClient } from '@azure/storage-blob'; import { ManagedIdentityCredential, DefaultAzureCredential } from '@azure/identity'; function createBlobServiceClient(): BlobServiceClient { const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME; if (!accountName) throw Error('Azure Storage accountName not found'); const url = `https://${accountName}.blob.core.windows.net`; if (process.env.NODE_ENV === "production") { return new BlobServiceClient(url, new ManagedIdentityCredential()); } else { return new BlobServiceClient(url, new DefaultAzureCredential()); } } async function main(): Promise<void> { try { const blobServiceClient = createBlobServiceClient(); const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME!); const properties = await containerClient.getProperties(); console.log(properties); } catch (err: any) { console.error("Error retrieving container properties:", err.message); throw err; } } main().catch((err: Error) => { console.error("Error running sample:", err.message); process.exit(1); });- Akkor használható
Az előző kód eltérően viselkedik attól függően, hogy melyik környezetben fut:
- A helyi fejlesztői munkaállomáson a
DefaultAzureCredentialegy alkalmazásszolgáltatásnév környezeti változóiban vagy a helyileg telepített fejlesztői eszközökben (például Visual Studio Code) keresi a fejlesztői hitelesítő adatok készletét. - A Azure üzembe helyezésekor
ManagedIdentityCredentialfelderíti a felügyelt identitáskonfigurációkat, hogy automatikusan hitelesítse magát más szolgáltatásokban.