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

Azure Batch Management hizmetini çağıran uygulamalar Microsoft Authentication Library (Microsoft Entra ID) ile kimlik doğrulaması yapar. Microsoft Entra ID, Microsoft'un çok kiracılı bulut tabanlı dizin ve kimlik yönetimi hizmetidir. Azure, müşterilerinin, hizmet yöneticilerinin ve kuruluş kullanıcılarının kimlik doğrulaması için Microsoft Entra Kimliğini kullanır.

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

Bu makalede, Batch Management .NET kitaplığını kullanan uygulamalardan kimlik doğrulaması yapmak için Microsoft Entra Id kullanmayı keşfedeceğiz. Tümleşik kimlik doğrulaması kullanarak bir abonelik yöneticisinin veya ortak yöneticinin kimliğini doğrulamak için Microsoft Entra Id'nin nasıl kullanılacağını gösteriyoruz. Batch Management .NET kitaplığıyla Microsoft Entra Id'yi kullanma adımlarını görmek için GitHub'da bulunan AccountManagement örnek projesini kullanırız.

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

Uygulamanızı Microsoft Entra Id ile kaydetme

Microsoft Authentication Library (MSAL), uygulamalarınızda kullanmak üzere Microsoft Entra Id'ye programlı bir arabirim sağlar. Uygulamanızdan MSAL'yi çağırmak için uygulamanızı bir Microsoft Entra kiracısına kaydetmeniz gerekir. Uygulamanızı kaydettiğinizde, Microsoft Entra id'ye uygulamanızla ilgili bilgiler sağlarsınız ve bunun için Microsoft Entra kiracısı içinde bir ad eklersiniz. Microsoft Entra Id daha sonra uygulamanızı çalışma zamanında Microsoft Entra Id ile ilişkilendirmek için kullandığınız bir uygulama kimliği sağlar. Uygulama kimliği hakkında daha fazla bilgi edinmek için bkz . Microsoft Entra Id'de uygulama ve hizmet sorumlusu nesneleri.

AccountManagement örnek uygulamasını kaydetmek için Uygulamaları Microsoft Entra Id ile tümleştirme bölümündeki Uygulama Ekleme bölümündeki adımları izleyin. Uygulama türü için Yerel İstemci Uygulaması'nı belirtin. Yeniden Yönlendirme URI'sinin endüstri standardı OAuth 2.0 URI'sini oluşturur urn:ietf:wg:oauth:2.0:oob. Ancak, Yeniden Yönlendirme URI'sinin gerçek bir uç nokta olması gerekmediğinden, yeniden yönlendirme URI'sinin geçerli herhangi bir URI'sini (örneğinhttp://myaccountmanagementsample) belirtebilirsiniz.

Uygulama ekleme

Kayıt işlemini tamamladıktan sonra uygulama kimliğini ve uygulamanız için nesne (hizmet sorumlusu) kimliğinin listelendiğini görürsünüz.

Tamamlanan kayıt işlemi

Azure Resource Manager API'sine uygulamanıza erişim verme

Ardından, azure resource manager API'sine uygulamanıza erişimi temsilci olarak atamanız gerekir. Resource Manager API'sinin Microsoft Entra tanımlayıcısı Windows Azure Service Management API'dir.

Azure portalında şu adımları izleyin:

  1. Azure portalının sol gezinti bölmesinde Tüm hizmetler'i seçin, Uygulama Kayıtları'na ve Ekle'ye tıklayın.

  2. Uygulama kayıtları listesinde uygulamanızın adını arayın:

    Uygulamanızın adını arayın

  3. Ayarlar dikey penceresini görüntüleyin. API Erişimi bölümünde Gerekli izinler'i seçin.

  4. Yeni bir gerekli izin eklemek için Ekle'ye tıklayın.

  5. 1. adımda Windows Azure Hizmet Yönetimi API'sini girin, sonuç listesinden bu API'yi seçin ve Seç düğmesine tıklayın.

  6. 2. adımda, Klasik Azure dağıtım modeline kuruluş kullanıcıları olarak erişme'nin yanındaki onay kutusunu seçin ve Seç düğmesine tıklayın.

  7. Bitti düğmesine tıklayın.

Gerekli İzinler dikey penceresi artık uygulamanıza yönelik izinlerin hem MSAL hem de Resource Manager API'lerine verildiğini gösterir. Uygulamanızı Microsoft Entra Id'ye ilk kaydettiğinizde varsayılan olarak MSAL'ye izinler verilir.

Azure Resource Manager API'sine izin atama

Microsoft Entra uç noktaları

Batch Management çözümlerinizin kimliğini Microsoft Entra Id ile doğrulamak için iki iyi bilinen uç noktanız olması gerekir.

  • Microsoft Entra ortak uç noktası, tümleşik kimlik doğrulamasında olduğu gibi belirli bir kiracı sağlanmadığında genel bir kimlik bilgisi toplama arabirimi sağlar:

    https://login.microsoftonline.com/common

  • Azure Resource Manager uç noktası, Batch yönetim hizmetine yönelik isteklerin kimliğini doğrulamak için bir belirteç almak için kullanılır:

    https://management.core.windows.net/

AccountManagement örnek uygulaması bu uç noktalar için sabitleri tanımlar. Bu sabitleri değiştirmeden bırakın:

// Azure Active Directory "common" endpoint.
private const string AuthorityUri = "https://login.microsoftonline.com/common";
// Azure Resource Manager endpoint
private const string ResourceUri = "https://management.core.windows.net/";

Uygulama kimliğinize başvurma

İstemci uygulamanız, çalışma zamanında Microsoft Entra Id'ye erişmek için uygulama kimliğini (istemci kimliği olarak da adlandırılır) kullanır. Uygulamanızı Azure portalına kaydettikten sonra kodunuzu, kayıtlı uygulamanız için Microsoft Entra Id tarafından sağlanan uygulama kimliğini kullanacak şekilde güncelleştirin. AccountManagement örnek uygulamasında uygulama kimliğinizi Azure portalından uygun sabite kopyalayın:

// Specify the unique identifier (the "Client ID") for your application. This is required so that your
// native client application (i.e. this sample) can access the Microsoft Graph API. For information
// about registering an application in Azure Active Directory, please see "Register an application with the Microsoft identity platform" here:
// https://video2.skills-academy.com/azure/active-directory/develop/quickstart-register-app
private const string ClientId = "<application-id>";

Ayrıca kayıt işlemi sırasında belirttiğiniz yeniden yönlendirme URI'sini kopyalayın. Kodunuzda belirtilen yeniden yönlendirme URI'sinin, uygulamayı kaydettiğinizde sağladığınız yeniden yönlendirme URI'sine uyması gerekir.

// The URI to which Azure AD will redirect in response to an OAuth 2.0 request. This value is
// specified by you when you register an application with AAD (see ClientId comment). It does not
// need to be a real endpoint, but must be a valid URI (e.g. https://accountmgmtsampleapp).
private const string RedirectUri = "http://myaccountmanagementsample";

Microsoft Entra kimlik doğrulama belirteci alma

AccountManagement örneğini Microsoft Entra kiracısına kaydettikten ve örnek kaynak kodunu değerlerinizle güncelleştirdikten sonra, örnek Microsoft Entra Id kullanarak kimlik doğrulaması yapmaya hazırdır. Örneği çalıştırdığınızda, MSAL bir kimlik doğrulama belirteci almayı dener. Bu adımda Sizden Microsoft kimlik bilgilerinizi ister:

// Obtain an access token using the "common" AAD resource. This allows the application
// to query AAD for information that lies outside the application's tenant (such as for
// querying subscription information in your Azure account).
AuthenticationContext authContext = new AuthenticationContext(AuthorityUri);
AuthenticationResult authResult = authContext.AcquireToken(ResourceUri,
                                                        ClientId,
                                                        new Uri(RedirectUri),
                                                        PromptBehavior.Auto);

Kimlik bilgilerinizi sağladıktan sonra, örnek uygulama Batch yönetim hizmetine kimliği doğrulanmış istekler göndermeye devam edebilir.

Sonraki adımlar

  • AccountManagement örnek uygulamasını çalıştırma hakkında daha fazla bilgi için bkz. .NET için Batch Management istemci kitaplığıyla Batch hesaplarını ve kotalarını yönetme.
  • Microsoft Entra Id hakkında daha fazla bilgi edinmek için Microsoft Entra Belgeleri'ne bakın.
  • MSAL'nin nasıl kullanılacağını gösteren ayrıntılı örnekler Azure Kod Örnekleri kitaplığında bulunabilir.
  • Microsoft Entra Id kullanarak Batch hizmeti uygulamalarının kimliğini doğrulamak için bkz . Active Directory ile Batch hizmeti çözümlerinin kimliğini doğrulama.