Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Batch, Microsoft'un çok kiracılı bulut tabanlı dizini ve kimlik yönetimi hizmeti olan Microsoft Entra Id ile kimlik doğrulamasını destekler. Azure, kendi müşterilerinin, hizmet yöneticilerinin ve kuruluş kullanıcılarının kimliğini doğrulamak için Microsoft Entra ID’yi kullanır.
Azure Batch uygulamaların kimliğini doğrulamanın önerilen yolu, Azure Identity istemci kitaplığını kullanmaktır. uygulamanızın yerel olarak, Azure veya şirket içinde çalışıp çalışmadığı tutarlı bir şekilde çalışan belirteç tabanlı kimlik doğrulama sınıfları (DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential ve InteractiveBrowserCredential gibi) sağlar. Önerilen kimlik doğrulama stratejilerine genel bakış için bkz:
- Azure Identity kitaplığını kullanarak .NET uygulamalarını Azure hizmetlere doğrula
- Azure Identity kitaplığını kullanarak Python uygulamalarını Azure hizmetlere doğrula
Bu makalede, Microsoft Entra ID ile Azure Batch kimlik doğrulaması yapmak için iki yaygın senaryo açıklanmaktadır:
Tümleşik (etkileşimli) kimlik doğrulaması , bir uygulamayla etkileşim kuran bir kullanıcının kimliğini doğrular.
InteractiveBrowserCredentialveyaDefaultAzureCredentialgibi bir kimlik bilgisi kullanın (Azure CLI, Visual Studio ve Visual Studio Code gibi geliştirici aracı oturum açma işlemleri arasında zincir oluşturabilir).Hizmet sorumlusu veya yönetilen kimlik doğrulaması , katılımsız bir uygulamanın kimliğini doğrular. Azure üzerinde barındırılan uygulamalar için
ManagedIdentityCredentialveya kayıtlı bir uygulamanın gizli anahtarı veya sertifikasıyla kimlik doğrulaması yapan uygulamalar içinClientSecretCredential/ClientCertificateCredentialgibi bir kimlik bilgisi kullanın.
Microsoft Entra Kimliği hakkında daha fazla bilgi için Microsoft Entra belgelerine bakın.
Kimlik doğrulaması için uç noktaları toplama
Batch uygulamalarının kimliğini Microsoft Entra Id ile doğrulamak için kodunuzda Microsoft Entra uç noktasını ve Batch kaynak uç noktasını eklemeniz gerekir.
Microsoft Entra uç noktası
Microsoft Entra temel yetki uç noktası https://login.microsoftonline.com/. Microsoft Entra Kimliği ile kimlik doğrulaması yapmak için, kimlik doğrulaması için kullanılacak Microsoft Entra kiracısını tanımlayan kiracı kimliğiyle bu uç noktayı kullanın:
https://login.microsoftonline.com/<tenant-id>
Kiracı kimliğinizi Azure portalındaki ana Microsoft Entra Id sayfasından alabilirsiniz. Ayrıca sol gezinti bölmesinde Özellikler'i seçebilir ve Özellikler sayfasında Kiracı Kimliği'nigörebilirsiniz.
Önemli
Bir hizmet sorumlusu kullanarak kimlik doğrulaması yaptığınızda, kiracıya özgü Microsoft Entra uç noktası gereklidir.
Tümleşik kimlik doğrulaması kullanarak kimlik doğrulaması yaptığınızda kiracıya özgü uç nokta önerilir, ancak isteğe bağlıdır. Belirli bir kiracının sağlanmadığı durumlarda genel bir kimlik doğrulama arabirimi sağlamak için Microsoft Entra ortak uç noktasını da kullanabilirsiniz. Ortak uç nokta şudur:
https://login.microsoftonline.com/common.
Microsoft Entra uç noktaları hakkında daha fazla bilgi için bkz . Kimlik doğrulaması ve yetkilendirme.
Batch kaynak uç noktası
Batch hizmetine yönelik isteklerin kimliğini doğrulamak için bir belirteç almak için Batch kaynak uç noktasını https://batch.core.windows.net/ kullanın.
Uygulamanızı bir kiracıya kaydedin
Microsoft Entra kimlik doğrulamasını kullanmanın ilk adımı, uygulamanızı bir Microsoft Entra kiracısına kaydetmektir. Uygulamanız kaydedildikten sonra, Batch hizmeti için Microsoft Entra belirteçleri almak için kodunuzdaki Azure Identity library kimlik bilgilerini kullanabilirsiniz. Uygulamanızı kaydetmek, gizli istemci (hizmet sorumlusu) akışları ve kiracıya özgü uygulama kaydı gerektiren tüm etkileşimli akışlar için gereklidir.
Tip
Kodunuz DefaultAzureCredential kullanıyorsa ve bir geliştirici aracı (Azure CLI, Azure PowerShell, Visual Studio veya Visual Studio Code) ya da yönetilen kimlik aracılığıyla oturum açarsa, ayrı bir uygulama kaydetmeniz gerekmez; kimlik bilgisi bu ortamda yapılandırılmış olan kimliği kullanır.
Uygulamanızı kaydettiğinizde, uygulamanızla ilgili bilgileri Microsoft Entra Id'ye verirsiniz. Microsoft Entra Id daha sonra uygulamanızı çalışma zamanında Microsoft Entra Id ile ilişkilendirmek için kullandığınız istemci kimliği olarak da adlandırılan bir uygulama kimliği sağlar. Uygulama kimliği hakkında daha fazla bilgi için bkz: Microsoft Entra ID'de Uygulama ve Hizmet Ana Nesneleri.
Batch uygulamanızı kaydetmek için Uygulamayı kaydetme adımlarını izleyin.
Uygulamanızı kaydettikten sonra, uygulamanın Genel Bakış sayfasında Uygulama (istemci) kimliğini görebilirsiniz.
Tümleşik kimlik doğrulamayı yapılandırma
Tümleşik kimlik doğrulamasıyla kimlik doğrulaması yapmak için uygulamanıza Batch hizmeti API'sine bağlanma izni vermeniz gerekir. Bu adım, uygulamanızın Batch hizmeti API'sine yapılan çağrıların kimliğini doğrulamak için Microsoft Entra Id kullanmasını sağlar.
Uygulamanızı kaydettikten sonra, uygulamaya Batch hizmetine erişim vermek için şu adımları izleyin:
- Azure portalında uygulama kayıtlarını arayın ve seçin.
- Uygulama kayıtları sayfasında uygulamanızı seçin.
- Uygulamanızın sayfasında, sol gezinti bölmesinden API izinleri'ni seçin.
- API izinleri sayfasında İzin ekle'yi seçin.
- API izinlerini iste sayfasında Azure Batch'i seçin.
- Azure Batch sayfasında, İzinleri Seç altında, user_impersonation yanındaki onay kutusunu ve ardından İzinleri Ekle seçeneğini seçin.
API izinleri sayfası artık Microsoft Entra uygulamanızın hem Microsoft Graph'ahem de Azure Batch'e erişimi olduğunu gösterir. Bir uygulamayı Microsoft Entra Id ile kaydettiğinizde Microsoft Graph'a izinler otomatik olarak verilir.
Hizmet sorumlusunu yapılandır
Katılımsız çalışan bir uygulamanın kimliğini doğrulamak için bir hizmet ilkesi kullanırsınız. Uygulamanız bir hizmet sorumlusu kullanarak kimlik doğrulaması yaparken, hem uygulama kimliğini hem de gizli anahtarı Microsoft Entra Kimliği'ne gönderir.
Uygulamanızı kaydettikten sonra Azure portalında bir hizmet sorumlusu yapılandırmak için şu adımları izleyin:
- Uygulamanız için gizli anahtar isteyin.
- Uygulamanıza Azure rol tabanlı erişim denetimi (Azure RBAC) atayın.
Uygulamanız için bir gizli anahtar isteyin
Kodunuzda kullanmak üzere gizli anahtar oluşturmak ve kopyalamak için şu adımları izleyin:
- Azure portalında uygulama kayıtlarını arayın ve seçin.
- Uygulama kayıtları sayfasında uygulamanızı seçin.
- Uygulamanızın sayfasında, sol gezinti bölmesinden Sertifikalar ve gizli diziler'i seçin.
- Sertifikalar ve gizli diziler sayfasında Yeni istemci sırrı'nı seçin.
- İstemci gizli anahtarı ekle sayfasında bir açıklama girin ve gizli anahtar için bir sona erme süresi seçin.
- Gizliliği oluşturmak ve Sertifikalar ve gizlilikler sayfasında görüntülemek için Ekle'yi seçin.
- Gizli Değeri güvenli bir yere kopyalayın çünkü bu sayfadan ayrıldıktan sonra ona yeniden erişemezsiniz. Anahtarınıza erişiminizi kaybederseniz yeni bir anahtar oluşturabilirsiniz.
Uygulamanıza Azure RBAC atama
Uygulamanıza Azure RBAC rolü atamak için bu adımları izleyin. Daha fazla bilgi için bkz . Azure Batch hizmeti için rol tabanlı erişim denetimi.
- Azure portalında uygulamanızın kullandığı Batch hesabına gidin.
- Sol gezinti bölmesinden Erişim denetimi (IAM) öğesini seçin.
- Erişim denetimi (IAM) sayfasında Rol ataması ekle'yi seçin.
- Rol ataması ekle sayfasında Rol sekmesini seçin ve ardından Azure Batch'in yerleşik RBAC rollerinden biri olan uygulamanızın rolünü seçin.
- Üyeler sekmesini seçin ve Üyeler altında Üyeleri seç'i seçin.
- Üye seç ekranında, uygulamanızı arayıp seçin ve ardından Seç'i seçin.
- Rol ataması ekle sayfasında Gözden geçir + ata'yı seçin.
Uygulamanız artık Batch hesabının Erişim denetimi (IAM) sayfasının Rol atamaları sekmesinde görünmelidir.
Kod örnekleri
Bu bölümdeki kod örnekleri, Azure Kimlik kitaplığındaki kimlik bilgilerini kullanarak Microsoft Entra ID ile Azure Batch kimlik doğrulaması yapmayı gösterir. Örneklerde .NET ve Python kullanılır, ancak aynı desenler diğer Azure SDK diller için de geçerlidir.
Note
Microsoft Entra kimlik doğrulama belirtecinin süresi bir saat sonra dolar. Uzun ömürlü bir BatchClient nesnesi kullandığınızda, sağladığınız Azure IdentityTokenCredential, belirteci arka planda önbelleğe alır ve yeniler; bu nedenle Microsoft Entra ID'den yalnızca gerektiğinde yeni bir belirteç alınır. Microsoft Entra Id'deki belirteçler hakkında daha fazla bilgi için bkz . Güvenlik belirteçleri.
Tip
Çoğu senaryo için kullanın DefaultAzureCredential. Birden çok kimlik doğrulama yöntemini (yönetilen kimlik, ortam değişkenleri, geliştirici aracı oturum açma işlemleri vb.) otomatik olarak dener, bu nedenle uygulamanızın geliştirme sırasında, Azure veya şirket içinde yerel olarak çalışması fark etmeksizin aynı kod çalışır. Doğru kimlik bilgilerini seçme yönergeleri için bkz. Authenticate .NET apps and Authenticate Python apps.
Kod örneği: .NET'den Azure Batch için kimlik doğrulaması
Bu örnek, Azure.Identity kitaplığıyla birlikte Azure.Compute.Batch kullanır.
Azure.Compute.BatchveAzure.IdentityNuGet paketlerini yükleyin.Kodunuzda aşağıdaki
usingdeyimleri bildirin:using Azure.Compute.Batch; using Azure.Core; using Azure.Identity;Batch hesabınızın uç noktasına bakın:
private const string BatchAccountUrl = "https://<myaccount>.<mylocation>.batch.azure.com";Bir kimlik bilgisi oluşturun ve bunu
BatchClientoluşturucusuna iletin. Sonraki işlemlerde Batch hizmeti üzerinde istemciyi kullanın.Recommended:
DefaultAzureCredential— geliştirici aracı oturum açma işlemleriyle (Azure CLI, Visual Studio, Visual Studio Code) yerel olarak çalışır ve uygulama Azure çalıştırıldığında yönetilen kimliği otomatik olarak kullanır:TokenCredential credential = new DefaultAzureCredential(); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential); await foreach (BatchJob job in client.GetJobsAsync()) { Console.WriteLine(job.Id); }Etkileşimli (tümleşik) oturum açma — kullanıcıdan sistem tarayıcısı aracılığıyla oturum açmasını ister. Uygulamanızın belirli bir kullanıcının kimliğini etkileşimli olarak doğrulaması gerektiğinde bunu kullanın:
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);Hizmet sorumlusu (istemci gizli anahtarı) — uygulama kaydında tanımlı bir gizli anahtarla kimlik doğrulayan katılımsız uygulamalar için kullanın:
TokenCredential credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);Yönetilen kimlik — uygulamanız sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliğe sahip bir Azure kaynağında (VM, App Service veya Container App gibi) çalıştırıldığında kullanın:
// 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);
Kod örneği: Python Azure Batch için kimlik doğrulaması
Bu örnek, azure-identity kitaplığından alınan kimlik bilgileriyle azure-batch istemcisini kullanır. Eski azure.common.credentials.ServicePrincipalCredentials sınıf kullanım dışı bırakıldı; bunun yerine kimlik bilgilerini kullanın azure-identity .
Gerekli paketleri yükleyin:
pip install azure-batch azure-identityBatch hesabı uç noktanıza ve Batch kaynak kapsamına başvurun:
BATCH_ACCOUNT_URL = "https://<myaccount>.<mylocation>.batch.azure.com" BATCH_SCOPE = "https://batch.core.windows.net/.default"Bir kimlik bilgisi oluşturun ve bunu
BatchServiceClientöğesine iletin.Önerilen:
DefaultAzureCredential— geliştirici araçlarındaki oturum açma işlemleriyle yerel olarak çalışır ve Azure’da çalışırken yönetilen kimliği otomatik olarak kullanır:from azure.batch import BatchServiceClient from azure.identity import DefaultAzureCredential credential = DefaultAzureCredential() batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )Etkileşimli (tümleşik) oturum açma — kullanıcıdan sistem tarayıcısı aracılığıyla oturum açmasını ister:
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, )Hizmet sorumlusu (istemci gizli anahtarı) — gözetimsiz uygulamalar için kullanın:
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, )Yönetilen kimlik — uygulamanız yönetilen kimliği olan bir Azure kaynağında çalıştırıldığında kullanın:
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, )
Sonraki adımlar
- Active Directory ile Batch Management çözümlerinin kimliğini doğrulama
- Azure Identity kitaplığını kullanarak .NET uygulamalarını Azure hizmetlere doğrula
- Azure Identity kitaplığını kullanarak Python uygulamalarını Azure hizmetlere doğrula
- .NET için Azure Identity istemci kitaplığı
- Python için Azure Identity istemci kitaplığı
- Microsoft Entra ID'de uygulama ve hizmet ilkesi nesneleri
- Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturma