Autentikasi solusi Batch Management dengan Direktori Aktif

Aplikasi yang memanggil layanan Azure Batch Management mengautentikasi dengan Microsoft Authentication Library (ID Microsoft Entra). ID Microsoft Entra adalah layanan manajemen identitas dan direktori berbasis cloud multi-penyewa Microsoft. Azure sendiri menggunakan ID Microsoft Entra untuk autentikasi pelanggan, administrator layanan, dan pengguna organisasinya.

Pustaka Batch Management .NET mengekspos jenis untuk bekerja dengan akun Batch, kunci akun, aplikasi, dan paket aplikasi. Pustaka Batch Management .NET adalah klien penyedia sumber daya Azure, dan digunakan bersama dengan Azure Resource Manager untuk mengelola sumber daya akun secara terprogram. ID Microsoft Entra diperlukan untuk mengautentikasi permintaan yang dibuat melalui klien penyedia sumber daya Azure apa pun, termasuk pustaka .NET Manajemen Batch, dan melalui Azure Resource Manager.

Dalam artikel ini, kami menjelajahi menggunakan MICROSOFT Entra ID untuk mengautentikasi dari aplikasi yang menggunakan pustaka Batch Management .NET. Kami menunjukkan cara menggunakan ID Microsoft Entra untuk mengautentikasi administrator langganan atau administrator bersama, menggunakan autentikasi terintegrasi. Kami menggunakan proyek sampel AccountManagement , yang tersedia di GitHub, untuk menelusuri menggunakan ID Microsoft Entra dengan pustaka Batch Management .NET.

Untuk mempelajari selengkapnya tentang menggunakan pustaka Batch Management .NET dan sampel AccountManagement, lihat Kelola akun dan kuota Batch dengan pustaka klien Batch Management untuk .NET.

Mendaftarkan aplikasi Anda dengan ID Microsoft Entra

Microsoft Authentication Library (MSAL) menyediakan antarmuka terprogram ke ID Microsoft Entra untuk digunakan dalam aplikasi Anda. Untuk memanggil MSAL dari aplikasi, Anda harus mendaftarkan aplikasi Anda di penyewa Microsoft Entra. Saat mendaftarkan aplikasi, Anda menyediakan ID Microsoft Entra dengan informasi tentang aplikasi Anda, termasuk nama untuk aplikasi tersebut dalam penyewa Microsoft Entra. Microsoft Entra ID kemudian menyediakan ID aplikasi yang Anda gunakan untuk mengaitkan aplikasi Anda dengan ID Microsoft Entra saat runtime. Untuk mempelajari selengkapnya tentang ID aplikasi, lihat Objek perwakilan aplikasi dan layanan di ID Microsoft Entra.

Untuk mendaftarkan aplikasi sampel AccountManagement, ikuti langkah-langkah di bagian Menambahkan Aplikasi di Mengintegrasikan aplikasi dengan ID Microsoft Entra. Tentukan Aplikasi Klien Asli untuk jenis aplikasi. Standar industri OAuth 2.0 URI untuk URI Pengalihan adalah urn:ietf:wg:oauth:2.0:oob. Namun, Anda dapat menentukan URI yang valid (contohnya http://myaccountmanagementsample) untuk URI Pengalihan, karena tidak perlu menjadi titik akhir sesungguhnya.

Adding an application

Setelah menyelesaikan proses pendaftaran, Anda akan melihat ID aplikasi dan ID objek (perwakilan layanan) yang tercantum untuk aplikasi Anda.

Completed registration process

Berikan akses Azure Resource Manager API ke aplikasi Anda

Selanjutnya, Anda harus mendelegasikan akses ke aplikasi Anda ke Azure Resource Manager API. Pengidentifikasi Microsoft Entra untuk RESOURCE Manager API adalah Windows Azure Service Management API.

Ikuti langkah-langkah berikut di portal Microsoft Azure:

  1. Di panel navigasi sebelah kiri portal Azure, pilih Semua layanan, klik Pendaftaran Aplikasi, dan klik Tambah.

  2. Cari nama aplikasi Anda dalam daftar pendaftaran aplikasi:

    Search for your application name

  3. Tampilkan bilah Pengaturan. Di bagian Akses API, pilih Izin yang diperlukan.

  4. Klik Tambah untuk menambahkan izin baru yang diperlukan.

  5. Di langkah 1, masukkan Windows Azure Service Management API, pilih API tersebut dari daftar hasil, dan klik tombol Pilih.

  6. Di langkah 2, pilih kotak centang di samping Model penyebaran klasik Access Azure sebagai pengguna organisasi, dan klik tombol Pilih.

  7. Klik tombol Selesai.

Bilah Izin yang Diperlukan sekarang menunjukkan bahwa izin ke aplikasi Anda diberikan ke API MSAL dan Resource Manager. Izin diberikan ke MSAL secara default saat Anda pertama kali mendaftarkan aplikasi dengan ID Microsoft Entra.

Delegate permissions to the Azure Resource Manager API

Titik akhir Microsoft Entra

Untuk mengautentikasi solusi Manajemen Batch dengan ID Microsoft Entra, Anda memerlukan dua titik akhir terkenal.

  • Titik akhir umum Microsoft Entra menyediakan antarmuka pengumpulan kredensial generik ketika penyewa tertentu tidak disediakan, seperti dalam kasus autentikasi terintegrasi:

    https://login.microsoftonline.com/common

  • Titik akhir Azure Resource Manager digunakan untuk memperoleh token untuk mengautentikasi permintaan ke layanan manajemen Batch:

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

Aplikasi sampel AccountManagement mendefinisikan konstanta untuk titik akhir ini. Biarkan konstanta ini tidak berubah:

// 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/";

Referensikan ID aplikasi Anda

Aplikasi klien Anda menggunakan ID aplikasi (juga disebut sebagai ID klien) untuk mengakses ID Microsoft Entra saat runtime. Setelah mendaftarkan aplikasi di portal Azure, perbarui kode Anda untuk menggunakan ID aplikasi yang disediakan oleh ID Microsoft Entra untuk aplikasi terdaftar Anda. Di aplikasi sampel AccountManagement, salin ID aplikasi Anda dari portal Azure ke konstanta yang sesuai:

// 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://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app
private const string ClientId = "<application-id>";

Salin juga URI pengalihan yang Anda tentukan selama proses pendaftaran. URI pengalihan yang ditentukan dalam kode Anda harus sesuai dengan URI pengalihan yang diberikan saat Anda mendaftarkan aplikasi.

// 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";

Memperoleh token autentikasi Microsoft Entra

Setelah Anda mendaftarkan sampel AccountManagement di penyewa Microsoft Entra dan memperbarui kode sumber sampel dengan nilai Anda, sampel siap untuk diautentikasi menggunakan ID Microsoft Entra. Saat Anda menjalankan sampel, MSAL mencoba memperoleh token autentikasi. Pada langkah ini, ia akan meminta kredensial Microsoft:

// 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);

Setelah memberikan kredensial Anda, aplikasi sampel dapat melanjutkan untuk mengeluarkan permintaan terautentikasi ke layanan manajemen Batch.

Langkah berikutnya