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 Batch azonosítást támogat a Microsoft Entra ID segítségével, amely a Microsoft több-bérlős, felhő alapú könyvtár- és identitás-kezelő szolgáltatása. Az Azure a Microsoft Entra ID-t használja saját ügyfelei, szolgáltatás-adminisztrátorai és szervezeti felhasználói hitelesítésére.
Az Azure Batch alkalmazások hitelesítésének ajánlott módja az Azure Identity-ügyfélkódtár, amely tokenalapú hitelesítési osztályokat (például DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential és InteractiveBrowserCredential) biztosít, amelyek folyamatosan működnek, függetlenül attól, hogy az alkalmazás helyileg, Azure vagy helyszíni környezetben fut-e. Az ajánlott hitelesítési stratégiák áttekintését lásd:
- A .NET-alkalmazások hitelesítése Azure szolgáltatásokhoz az Azure Identitástár használatával
- A Azure Identitástár használatával Azure szolgáltatások Python alkalmazások hitelesítése
Ez a cikk a Microsoft Entra ID Azure Batch hitelesítésének két gyakori forgatókönyvét ismerteti:
Az integrált (interaktív) hitelesítés hitelesíti az alkalmazást használó felhasználókat. Használjon olyan hitelesítő adatokat, mint például
InteractiveBrowserCredentialvagyDefaultAzureCredential(amelyek a fejlesztői eszközök bejelentkezései, például a Azure CLI, a Visual Studio és a Visual Studio Code) között láncolódhatnak).A szolgáltatásnév vagy a felügyelt identitás hitelesítése felügyelet nélküli alkalmazást hitelesít. Használjon hitelesítő adatokat, például
ManagedIdentityCredentiala Azure üzemeltetett alkalmazásokhoz, vagyClientSecretCredential/ClientCertificateCredentialolyan alkalmazásokhoz, amelyek egy regisztrált alkalmazás titkos kódjával vagy tanúsítványával hitelesítik magukat.
További információért a Microsoft Entra ID-ről lásd a Microsoft Entra dokumentációt.
Végpontok összegyűjtése hitelesítéshez
A Batch alkalmazások hitelesítéséhez a Microsoft Entra ID-vel hozzá kell adni a Microsoft Entra végpontot és a Batch erőforrás végpontot a kódjához.
Microsoft Entra végpont
A Microsoft Entra alapértelmezett hitelesítési szolgáltatói végpontja: https://login.microsoftonline.com/. A Microsoft Entra ID-val történő hitelesítéshez használja ezt a végpontot a hitelesítéshez használni kívánt Microsoft Entra-bérlőt azonosító bérlőazonosítóval:
https://login.microsoftonline.com/<tenant-id>
A bérlői azonosítóját a Microsoft Entra ID főoldalán találhatja meg az Azure portálon. A bal oldali navigációban választhatja a Tulajdonságok lehetőséget, és megtekintheti a Bérlő azonosítóját a Tulajdonságok oldalon.
Important
A bérlő-specifikus Microsoft Entra végpont szükséges, amikor egy szolgáltatási főszereplővel hitelesíti magát.
Amikor integrált hitelesítést használ az azonosításhoz, a bérlő-specifikus végpont ajánlott, de nem kötelező. A Microsoft Entra közös végpontját is használhatja, hogy általános hitelesítési felületet biztosítson, amikor nincs megadva konkrét bérlő. A közös végpont
https://login.microsoftonline.com/common.
További információért a Microsoft Entra végpontokról, lásd Authentication vs. authorization.
Kötegelt erőforrás végpont
Használja a Batch erőforrás-végpontot https://batch.core.windows.net/ egy token megszerzéséhez, amely lehetővé teszi a kérések hitelesítését a Batch szolgáltatáshoz.
Regisztrálja az alkalmazását egy bérlőnél
Az első lépés a Microsoft Entra hitelesítés használatában az, hogy regisztrálja alkalmazását egy Microsoft Entra bérlőben. Az alkalmazás regisztrálása után a kódban használhatja a Azure Identity-kódtár hitelesítő adatait a Batch szolgáltatáshoz tartozó Microsoft Entra jogkivonatok lekéréséhez. Az alkalmazás regisztrálása szükséges a bizalmas ügyfélalkalmazás- (service principal-) folyamatokhoz, valamint minden olyan interaktív folyamathoz, amely bérlőspecifikus alkalmazás-regisztrációt igényel.
Tip
Ha a kód DefaultAzureCredential használ, és egy fejlesztői eszközzel (Azure CLI, Azure PowerShell, Visual Studio vagy Visual Studio Code) vagy felügyelt identitással jelentkezik be, nem kell külön alkalmazást regisztrálnia – a hitelesítő adatok az adott környezetben már konfigurált identitást használják.
Amikor regisztrálja az alkalmazását, adatokat szolgáltat az alkalmazásáról a Microsoft Entra ID-nek. A Microsoft Entra ID ezután biztosít egy alkalmazásazonosítót, más néven ügyfél-azonosítót, amelyet az alkalmazás Microsoft Entra ID-hez való társításához használ a futásidő során. További információért az alkalmazásazonosítóról lásd: Alkalmazási és szolgáltatási főobjektumok a Microsoft Entra ID-ben.
Az alkalmazás csomagjának regisztrálásához kövesse a Regisztrálás egy alkalmazás lépéseit.
Miután regisztrálja az alkalmazását, az Áttekintés oldalon láthatja az Alkalmazás (ügyfél) azonosítót.
Konfigurálja az integrált hitelesítést
Ahhoz, hogy az integrált hitelesítéssel azonosítson, engedélyt kell adnia az alkalmazásának, hogy csatlakozhasson a Batch szolgáltatás API-jához. Ez a lépés lehetővé teszi, hogy az alkalmazás a Microsoft Entra ID-t használja a hívások hitelesítésére a Batch szolgáltatás API-jához.
Az alkalmazás regisztrálása után kövesse az alábbi lépéseket, hogy hozzáférést biztosítson az alkalmazásnak a Batch szolgáltatáshoz:
- Az Azure portálon keressen rá és válassza ki az alkalmazás regisztrációk lehetőséget.
- A Alkalmazás regisztrációk oldalon válassza ki az alkalmazását.
- Az alkalmazás oldalán válassza ki az API-engedélyeket a bal oldali navigációs sávon.
- Az API engedélyoldalán válassza az Engedély hozzáadása lehetőséget.
- A Request API-engedélyek lapon válassza a Azure Batch lehetőséget.
- Az Azure Batch oldalon, a Engedélyek kiválasztása rész alatt jelölje be a jelölőnégyzetet a user_impersonation mellett, majd válassza az Engedélyek hozzáadása lehetőséget.
Az API jogosultságok oldal most azt mutatja, hogy a Microsoft Entra alkalmazásod mind Microsoft Graph-hoz, mind pedig Azure Batch-hez hozzáféréssel rendelkezik. A jogosultságok automatikusan megadódnak a Microsoft Graph számára, amikor regisztrál egy alkalmazást a Microsoft Entra ID-vel.
Szolgáltatási főkomponens beállítása
Ahhoz, hogy hitelesítse egy felügyelet nélküli alkalmazás futtatását, használjon szolgáltatásfelelőst. Amikor az alkalmazása egy szolgáltatási főazonosító segítségével hitelesít, elküldi mind az alkalmazásazonosítót, mind egy titkos kulcsot a Microsoft Entra ID-hoz.
A regisztrációt követően kövesse az alábbi lépéseket az Azure portálon egy szolgáltatási főszereplő konfigurálásához:
- Kérjen titkos kulcsot az alkalmazásához.
- Alkalmazzon Azure szerepkör-alapú hozzáférés-vezérlést (Azure RBAC) az alkalmazásához.
Kérjen egy titkot az alkalmazásához
Kövesse az alábbi lépéseket a titkos kulcs létrehozásához és a kódba való másolásához:
- Az Azure portálon keressen rá és válassza ki az alkalmazás regisztrációk lehetőséget.
- A Alkalmazás regisztrációk oldalon válassza ki az alkalmazását.
- Az alkalmazás oldalán válassza a bal oldali navigációs sávban a Certificates & secrets lehetőséget.
- A Tanúsítványok és titkos kulcsok oldalon válassza a Új ügyfél titkos kulcs lehetőséget.
- A Kliens titok hozzáadása oldalon adjon meg egy leírást, és válassza ki a titok lejárati időszakát.
- Válassza a Hozzáadás lehetőséget a titok létrehozásához és megjelenítéséhez a Tanúsítványok és titkok oldalon.
- Másold a titkos Értéket egy biztonságos helyre, mert az oldal elhagyása után már nem fogsz hozzáférni. Ha elveszíted a hozzáférést a kulcsodhoz, újat generálhatsz.
Azure RBAC hozzárendelése az alkalmazáshoz
Kövesse ezeket a lépéseket, hogy hozzárendeljen egy Azure RBAC szerepkört az alkalmazásához. További információkért lásd: Az Azure Batch szolgáltatás szerepkör-alapú hozzáférés-vezérlése.
- Az Azure portálon navigáljon arra a Batch-fiókra, amelyet az alkalmazása használ.
- Válassza ki a Hozzáférés-vezérlés (IAM) lehetőséget a bal oldali navigációs sávban.
- A Hozzáférés-vezérlés (IAM) oldalon válassza a Szerepkör hozzárendelése lehetőséget.
- A Szerepkiosztás hozzáadása oldalon válassza a Szerepkör fület, majd válasszon egyet az Azure Batch beépített RBAC szerepkörei közül az alkalmazásához.
- Válassza a Tagok lapot, és válassza a Tagok kijelölése lehetőséget a Tagok csoportban.
- A Tagok kiválasztása képernyőn keresse meg és válassza ki az alkalmazását, majd kattintson a Kiválasztás gombra.
- Válassza a Felülvizsgálat + hozzárendelés lehetőséget a Szerepkör-hozzárendelés hozzáadása oldalon.
Az alkalmazásának most meg kell jelennie a Szerepkiosztások fülön a Felhőszolgáltatási fiók Hozzáférés-vezérlés (IAM) oldalán.
Kódpéldák
Az ebben a szakaszban található kódpéldák bemutatják, hogyan lehet a Microsoft Entra ID-val hitelesíteni az Azure Batchhez az Azure Identity-kódtár hitelesítő adatait használva. A példák .NET és Python használnak, de ugyanezek a minták más Azure SDK nyelvekre is érvényesek.
Note
A Microsoft Entra hitelesítési token egy óra elteltével lejár. Ha hosszú élettartamú BatchClient objektumot használ, a megadott Azure IdentityTokenCredential átlátható módon gyorsítótárazza és frissíti a tokent, így a rendszer csak akkor szerez be új tokent a Microsoft Entra ID-tól, amikor szükséges. További információkért a Microsoft Entra ID tokenekkel kapcsolatban, lásd: Biztonsági tokenek.
Tip
A legtöbb esetben használja a(z) DefaultAzureCredential elemet. Automatikusan kipróbál több hitelesítési módszert (felügyelt identitás, környezeti változók, fejlesztői eszközök bejelentkezései stb.), így ugyanaz a kód működik, függetlenül attól, hogy az alkalmazás helyileg fut-e a fejlesztés során, a Azure vagy a helyszínen. A Authenticate .NET apps és Authenticate Python apps című témakörben talál útmutatást a megfelelő hitelesítő adatok kiválasztásához.
Példakód: Hitelesítés az Azure Batchhez a .NET-ből
Ez a példa a Azure.Compute.Batch csomagot használja a Azure.Identity könyvtárral.
Telepítse a
Azure.Compute.BatchésAzure.IdentityNuGet-csomagokat.Deklarálja az alábbi
usingutasításokat a kódjában.using Azure.Compute.Batch; using Azure.Core; using Azure.Identity;Hivatkozzon a Batch-fiók végpontjára:
private const string BatchAccountUrl = "https://<myaccount>.<mylocation>.batch.azure.com";Hozzon létre egy hitelesítő adatot, és adja át a
BatchClientkonstruktornak. Használja az ügyfélobjektumot a Batch szolgáltatáshoz kapcsolódó további műveletekhez.Recommended:
DefaultAzureCredential– helyileg együttműködik a fejlesztői eszközök bejelentkezéseivel (Azure CLI, Visual Studio, Visual Studio Code), és automatikusan használja a felügyelt identitást, amikor az alkalmazás Azure fut:TokenCredential credential = new DefaultAzureCredential(); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential); await foreach (BatchJob job in client.GetJobsAsync()) { Console.WriteLine(job.Id); }Interaktív (integrált) bejelentkezés – arra kéri a felhasználót, hogy jelentkezzen be a rendszerböngészőn keresztül. Ezt akkor használja, ha az alkalmazásnak interaktívan kell hitelesítenie egy adott felhasználót:
TokenCredential credential = new InteractiveBrowserCredential( new InteractiveBrowserCredentialOptions { TenantId = "<tenant-id>", ClientId = "<application-id>", // optional; required only if you registered your own app RedirectUri = new Uri("http://localhost") }); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);Szolgáltatásnév (ügyfélkód) – alkalmazásregisztrációs titkos kóddal hitelesítendő felügyelet nélküli alkalmazásokhoz használható:
TokenCredential credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);A felügyelt identitás – akkor használható, ha az alkalmazás egy Azure erőforráson (például virtuális gépen, App Service-en vagy Tárolóalkalmazáson) fut, amely rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitással rendelkezik:
// System-assigned managed identity TokenCredential credential = new ManagedIdentityCredential(); // Or, user-assigned managed identity // TokenCredential credential = new ManagedIdentityCredential(clientId: "<user-assigned-client-id>"); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);
Kódpélda: Hitelesítés az Azure Batch szolgáltatásba Pythonból
Ez a példa az Azure-Batch-ügyfelet használja az azure-identity library hitelesítő adataival. Az örökölt azure.common.credentials.ServicePrincipalCredentials osztály elavult, helyette használjon azure-identity hitelesítő adatokat.
Telepítse a szükséges csomagokat:
pip install azure-batch azure-identityAdja meg a Batch-fiók végpontját és a Batch-erőforrás hatókörét:
BATCH_ACCOUNT_URL = "https://<myaccount>.<mylocation>.batch.azure.com" BATCH_SCOPE = "https://batch.core.windows.net/.default"Hozzon létre egy hitelesítő adatot, és adja át a
BatchServiceClientrészére.Ajánlott:
DefaultAzureCredential– helyben működik a fejlesztői eszközökbe való bejelentkezéssel, és automatikusan használja a felügyelt identitást az Azure-ban futtatva:from azure.batch import BatchServiceClient from azure.identity import DefaultAzureCredential credential = DefaultAzureCredential() batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )Interaktív (integrált) bejelentkezés – arra kéri a felhasználót, hogy jelentkezzen be a rendszerböngészőn keresztül:
from azure.batch import BatchServiceClient from azure.identity import InteractiveBrowserCredential credential = InteractiveBrowserCredential( tenant_id="<tenant-id>", client_id="<application-id>", # optional; required only if you registered your own app ) batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )Szolgáltatásnév (ügyfélkód) – felügyelet nélküli alkalmazásokhoz használható:
from azure.batch import BatchServiceClient from azure.identity import ClientSecretCredential credential = ClientSecretCredential( tenant_id="<tenant-id>", client_id="<application-id>", client_secret="<client-secret>", ) batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )A felügyelt identitás – akkor használható, ha az alkalmazás felügyelt identitással rendelkező Azure erőforráson fut:
from azure.batch import BatchServiceClient from azure.identity import ManagedIdentityCredential # System-assigned managed identity credential = ManagedIdentityCredential() # Or, user-assigned managed identity # credential = ManagedIdentityCredential(client_id="<user-assigned-client-id>") batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )
Következő lépések
- Hitelesítse a kötegkezelési megoldásokat az Active Directoryval
- A .NET-alkalmazások hitelesítése Azure szolgáltatásokhoz az Azure Identitástár használatával
- A Azure Identitástár használatával Azure szolgáltatások Python alkalmazások hitelesítése
- Azure Identity ügyfélkódtár a .NET-hez
- Azure Identity-ügyfélkódtár Pythonhoz
- Alkalmazás és szolgáltatás-főobjektumok a Microsoft Entra ID-ben
- Hogyan hozzunk létre Microsoft Entra alkalmazást és szolgáltatásbeli szerepkört, amely hozzáférhet az erőforrásokhoz