Microsoft Entra Id ile Batch Management çözümlerinin kimliğini doğrulama

Azure Batch Management hizmetini çağıran uygulamalar, Microsoft Entra ID Microsoft çok kiracılı bulut tabanlı dizin ve kimlik yönetimi hizmetiyle kimlik doğrulaması yapar. Azure, müşterilerinin, hizmet yöneticilerinin ve kuruluş kullanıcılarının kimliğini doğrulamak için Microsoft Entra ID kullanır.

Batch yönetim uygulamaları için kimlik doğrulaması yapmanın önerilen yolu, Azure Identity istemci kitaplığı ile birlikte Azure.ResourceManager.Batch yönetim kitaplığını kullanmaktır. Azure Kimliği kitaplığı, uygulamanızın yerel olarak, Azure veya şirket içinde çalıştığında tutarlı bir şekilde çalışan belirteç tabanlı kimlik bilgisi 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ın Azure hizmetlerinde kimlik doğrulaması.

Azure.ResourceManager.Batch kitaplığı Batch hesaplarını, hesap anahtarlarını, uygulamaları ve uygulama paketlerini yönetmek için türleri kullanıma sunar. Azure bir kaynak sağlayıcısı istemcisidir ve bu kaynakları program aracılığıyla yönetmek için Azure Resource Manager ile birlikte çalışır. Microsoft Entra ID, bu kitaplık dahil olmak üzere herhangi bir Azure kaynak sağlayıcısı istemcisi aracılığıyla yapılan isteklerin kimliğini doğrulamak için gereklidir.

Note

Eski Microsoft.Azure.Management.Batch paketi ve ADAL tabanlı kod desenleri (AuthenticationContext.AcquireToken) kullanım dışıdır. Yeni kod, Azure.ResourceManager.Batch kimlik bilgileriyle Azure.Identity kullanmalıdır.

Batch Management .NET kitaplığını kullanma hakkında daha fazla bilgi edinmek için bkz. .NET için Batch Management istemci kitaplığıyla batch hesaplarını ve kotalarını yönetme .

Uygulama kaydetme (isteğe bağlı)

Ayrı bir Microsoft Entra uygulaması kaydetmeniz gerekip gerekmediği, kullandığınız kimlik bilgisi türüne bağlıdır:

  • DefaultAzureCredential kullanıyorsanız ve bir geliştirici aracı (Azure CLI, Azure PowerShell, Visual Studio veya Visual Studio Code) üzerinden oturum açarsanız veya uygulamanız yönetilen kimlikli bir Azure kaynağında çalışıyorsa, ayrı bir uygulama kaydetmeniz gerekmez. Kimlik bilgisi, bu ortamda zaten yapılandırılmış olan kimliği kullanır.
  • Uygulamanız hizmet sorumlusu olarak kimlik doğrulaması yaparsa (örneğin, ClientSecretCredential veya ClientCertificateCredential ile), bir uygulamayı Microsoft Entra kiracınıza kaydetmeniz gerekir.

Bir uygulamayı kaydetmek için Quickstart: Uygulamayı Microsoft kimlik platformu ile kaydetme adımlarını izleyin. Kayıttan sonra Microsoft Entra ID, çalışma zamanında kullanacağınız bir uygulama (istemci) kimliği sağlar. Daha fazla bilgi için bkz Microsoft Entra ID'de uygulama ve hizmet asıl nesneleri.

Azure RBAC izinlerini atama

Uygulamanızın hangi kimliği (geliştirici hesabı, yönetilen kimlik veya hizmet sorumlusu) kullandığına karar verdikten sonra, bu kimliğe Batch hesaplarını yönettiğiniz kaynak grubunda veya abonelikte ihtiyaç duyduğu Azure rol tabanlı erişim denetimi (RBAC) izinlerini atayın. Yaygın yerleşik roller arasında Contributor, Azure Batch Hesap Katkıda Bulunanı ve Reader bulunur.

Adımlar için bkz. Azure portalını kullanarak Azure rolleri atama.

Azure Kimlik kitaplığıyla kimlik doğrulaması

Azure.Identity ve Azure.ResourceManager.Batch ile Microsoft Entra uç noktalarına, kaynak URI'lerine veya yeniden yönlendirme URI'lerine el ile başvurmanız gerekmez; kimlik bilgisi belirteç alma, önbelleğe alma ve yenileme işlemlerini otomatik olarak işler.

  1. Gerekli NuGet paketlerini yükleyin:

    dotnet add package Azure.Identity
    dotnet add package Azure.ResourceManager.Batch
    
  2. Kodunuza aşağıdaki using deyimleri ekleyin:

    using Azure.Identity;
    using Azure.ResourceManager;
    using Azure.ResourceManager.Batch;
    
  3. Bir kimlik bilgisi oluşturun ve bunu ArmClient öğesine iletin. Batch hesaplarını listelemek veya yönetmek için istemcisini 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:

    ArmClient arm = new ArmClient(new DefaultAzureCredential());
    
    SubscriptionResource subscription = await arm.GetDefaultSubscriptionAsync();
    await foreach (BatchAccountResource account in subscription.GetBatchAccountsAsync())
    {
        Console.WriteLine(account.Data.Name);
    }
    

    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:

    var 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")
        });
    
    ArmClient arm = new ArmClient(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:

    var credential = new ClientSecretCredential(
        tenantId: "<tenant-id>",
        clientId: "<application-id>",
        clientSecret: "<client-secret>");
    
    ArmClient arm = new ArmClient(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
    var credential = new ManagedIdentityCredential();
    
    // Or, user-assigned managed identity
    // var credential = new ManagedIdentityCredential(clientId: "<user-assigned-client-id>");
    
    ArmClient arm = new ArmClient(credential);
    

Kimlik bilgisi belirteçleri şeffaf bir şekilde önbelleğe alır ve yeniler; böylece ArmClient ve Batch yönetim kaynaklarını uygulamanızın kullanım ömrü boyunca etkin tutabilirsiniz.

Sonraki adımlar