Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Batch mendukung autentikasi dengan Microsoft Entra ID, layanan manajemen identitas dan direktori berbasis cloud multitenan milik Microsoft. Azure menggunakan ID Microsoft Entra untuk mengautentikasi pelanggan, administrator layanan, dan pengguna organisasinya sendiri.
Cara yang disarankan untuk mengautentikasi aplikasi Azure Batch adalah dengan menggunakan pustaka klien Azure Identity, yang menyediakan kelas autentikasi berbasis token (seperti DefaultAzureCredential, ManagedIdentityCredential, ClientSecretCredential, dan InteractiveBrowserCredential) yang berfungsi secara konsisten baik aplikasi Anda berjalan secara lokal, di Azure, atau lokal. Untuk gambaran umum strategi autentikasi yang direkomendasikan, lihat:
- Autentikasi aplikasi .NET ke layanan Azure menggunakan pustaka Azure Identity
- Autentikasi aplikasi Python ke layanan Azure menggunakan pustaka Azure Identity
Artikel ini menjelaskan dua skenario umum untuk mengautentikasi ke Azure Batch dengan Microsoft Entra ID:
Autentikasi terintegrasi (interaktif) mengautentikasi pengguna yang berinteraksi dengan aplikasi. Gunakan kredensial seperti
InteractiveBrowserCredentialatauDefaultAzureCredential(yang dapat menautkan melalui rincian masuk alat pengembang seperti Azure CLI, Visual Studio, dan Visual Studio Code).Autentikasi prinsipal layanan atau identitas terkelola digunakan untuk mengautentikasi aplikasi tanpa interaksi pengguna. Gunakan kredensial seperti
ManagedIdentityCredentialuntuk aplikasi yang dihosting di Azure, atauClientSecretCredential/ClientCertificateCredentialuntuk aplikasi yang mengautentikasi dengan rahasia atau sertifikat aplikasi terdaftar.
Untuk informasi selengkapnya tentang ID Microsoft Entra, lihat dokumentasi Microsoft Entra.
Mengumpulkan titik-titik akhir untuk autentikasi
Untuk mengautentikasi aplikasi Batch dengan ID Microsoft Entra, Anda perlu menyertakan titik akhir Microsoft Entra dan titik akhir sumber daya Batch dalam kode Anda.
titik akhir Microsoft Entra
Titik akhir otoritas dasar Microsoft Entra adalah https://login.microsoftonline.com/. Untuk mengautentikasi dengan Microsoft Entra ID, gunakan titik akhir ini dengan ID tenant yang mengidentifikasi tenant Microsoft Entra yang digunakan untuk autentikasi:
https://login.microsoftonline.com/<tenant-id>
Anda bisa mendapatkan ID penyewa dari halaman ID Microsoft Entra utama di portal Azure. Anda juga dapat memilih Properti di navigasi kiri dan melihat ID Penyewa di halaman Properti .
Penting
Titik akhir Microsoft Entra khusus penyewa diperlukan saat Anda melakukan autentikasi menggunakan perwakilan layanan.
Saat Anda melakukan autentikasi menggunakan autentikasi terintegrasi, titik akhir khusus penyewa direkomendasikan, tetapi bersifat opsional. Anda juga dapat menggunakan endpoint umum Microsoft Entra untuk menyediakan antarmuka pengumpulan kredensial generik saat tenant tertentu tidak disebutkan. Titik akhir umum adalah
https://login.microsoftonline.com/common.
Untuk informasi selengkapnya tentang titik akhir Microsoft Entra, lihat Autentikasi vs. otorisasi.
Titik akhir sumber daya batch
Gunakan titik https://batch.core.windows.net/ akhir sumber daya Batch untuk memperoleh token untuk mengautentikasi permintaan ke layanan Batch.
Daftarkan aplikasi Anda ke tenant
Langkah pertama dalam menggunakan autentikasi Microsoft Entra adalah mendaftarkan aplikasi Anda di penyewa Microsoft Entra. Setelah aplikasi Anda terdaftar, Anda dapat menggunakan Azure Identity library kredensial dari kode Anda untuk memperoleh token Microsoft Entra untuk layanan Batch. Mendaftarkan aplikasi Anda diperlukan untuk alur klien rahasia (perwakilan layanan) dan untuk alur interaktif apa pun yang memerlukan pendaftaran aplikasi khusus penyewa.
Tip
Jika kode Anda menggunakan DefaultAzureCredential dan masuk melalui alat pengembang (Azure CLI, Azure PowerShell, Visual Studio, atau Visual Studio Code) atau identitas terkelola, Anda tidak perlu mendaftarkan aplikasi terpisah — kredensial menggunakan identitas yang sudah dikonfigurasi di lingkungan tersebut.
Saat mendaftarkan aplikasi, Anda memberikan informasi tentang aplikasi Anda ke ID Microsoft Entra. ID Microsoft Entra kemudian menyediakan ID aplikasi, juga disebut ID klien, yang Anda gunakan untuk mengaitkan aplikasi Anda dengan ID Microsoft Entra saat runtime. Untuk informasi selengkapnya tentang ID aplikasi, lihat Objek aplikasi dan objek prinsipal layanan dalam Microsoft Entra ID.
Untuk mendaftarkan aplikasi Batch Anda, ikuti langkah-langkah di Mendaftarkan aplikasi.
Setelah mendaftarkan aplikasi, Anda dapat melihat ID Aplikasi (klien) di halaman Gambaran Umum aplikasi.
Konfigurasikan autentikasi terintegrasi
Untuk mengautentikasi dengan autentikasi terintegrasi, Anda perlu memberikan izin aplikasi Anda untuk terhubung ke API layanan Batch. Langkah ini memungkinkan aplikasi Anda menggunakan ID Microsoft Entra untuk mengautentikasi panggilan ke API layanan Batch.
Setelah Anda mendaftarkan aplikasi, ikuti langkah-langkah berikut untuk memberikan akses aplikasi ke layanan Batch:
- Di portal Azure, cari dan pilih pendaftaran aplikasi.
- Pada halaman Pendaftaran aplikasi, pilih aplikasi Anda.
- Di halaman aplikasi Anda, pilih Izin API dari navigasi kiri.
- Pada halaman izin API, pilih Tambahkan izin.
- Pada halaman Minta izin API, pilih Azure Batch.
- Pada halaman Azure Batch , di bawah Pilih izin, pilih kotak centang di samping user_impersonation, lalu pilih Tambahkan izin.
Halaman izin API sekarang menunjukkan bahwa aplikasi Microsoft Entra Anda memiliki akses ke Microsoft Graph dan Azure Batch. Izin diberikan kepada Microsoft Graph secara otomatis saat Anda mendaftarkan aplikasi dengan ID Microsoft Entra.
Mengonfigurasi akun layanan
Untuk mengautentikasi aplikasi yang berjalan tanpa pengawasan, Anda dapat menggunakan prinsip layanan. Saat aplikasi Anda mengautentikasi dengan menggunakan perwakilan layanan, aplikasi mengirimkan ID aplikasi dan kunci rahasia ke ID Microsoft Entra.
Setelah Anda mendaftarkan aplikasi, ikuti langkah-langkah ini di portal Azure untuk mengonfigurasi perwakilan layanan:
- Mintalah rahasia untuk aplikasi Anda.
- Tetapkan kontrol akses berbasis peran Azure (Azure RBAC) ke aplikasi Anda.
Meminta rahasia untuk aplikasi Anda
Ikuti langkah-langkah ini untuk membuat dan menyalin kunci rahasia untuk digunakan dalam kode Anda:
- Di portal Azure, cari dan pilih pendaftaran aplikasi.
- Pada halaman Pendaftaran aplikasi, pilih aplikasi Anda.
- Pada halaman aplikasi Anda, pilih Sertifikat & rahasia dari navigasi kiri.
- Pada halaman Sertifikat & rahasia , pilih Rahasia klien baru.
- Pada halaman Tambahkan rahasia klien, masukkan deskripsi dan pilih periode kedaluwarsa untuk rahasia tersebut.
- Pilih Tambahkan untuk membuat rahasia dan menampilkannya di halaman Sertifikat & rahasia .
- Salin Nilai rahasia ke tempat yang aman, karena Anda tidak akan dapat mengaksesnya lagi setelah Anda meninggalkan halaman ini. Jika Anda kehilangan akses ke kunci, Anda dapat membuat yang baru.
Menetapkan Azure RBAC ke aplikasi Anda
Ikuti langkah-langkah ini untuk menetapkan peran Azure RBAC ke aplikasi Anda. Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran untuk layanan Azure Batch.
- Di portal Azure, navigasikan ke akun Batch yang digunakan aplikasi Anda.
- Pilih Kontrol akses (IAM) dari navigasi kiri.
- Pada halaman Kontrol akses (IAM), pilih Tambahkan penetapan peran.
- Pada halaman Tambahkan penetapan peran, pilih tab Peran, lalu pilih salah satu dari peran RBAC bawaan Azure Batch untuk aplikasi Anda.
- Pilih tab Anggota , dan pilih Pilih anggota di bawah Anggota.
- Pada layar Pilih anggota, cari dan pilih aplikasi Anda, lalu pilih Pilih.
- Pilih Tinjau + tetapkan pada halaman Tambah penetapan peran.
Aplikasi Anda sekarang akan muncul di tab Penetapan peran di halaman Kontrol akses (IAM) akun Batch.
Contoh kode
Contoh kode di bagian ini menunjukkan cara mengautentikasi ke Azure Batch dengan Microsoft Entra ID dengan menggunakan kredensial dari pustaka identitas Azure. Contohnya menggunakan .NET dan Python, tetapi pola yang sama berlaku untuk bahasa Azure SDK lainnya.
Catatan
Token autentikasi Microsoft Entra kedaluwarsa setelah satu jam. Saat Anda menggunakan objek BatchClient yang berumur panjang, Azure IdentityTokenCredential yang Anda berikan secara transparan menyimpan token dalam cache dan memperbaruinya, sehingga token baru dari Microsoft Entra ID hanya diperoleh jika diperlukan. Untuk informasi selengkapnya tentang token di ID Microsoft Entra, lihat Token keamanan.
Tip
Untuk sebagian besar skenario, gunakan DefaultAzureCredential. Ini secara otomatis mencoba beberapa metode autentikasi (identitas terkelola, variabel lingkungan, masuk alat pengembang, dan sebagainya), sehingga kode yang sama berfungsi apakah aplikasi Anda berjalan secara lokal selama pengembangan, di Azure, atau lokal. Lihat Autentikasi aplikasi .NET dan Autentikasi aplikasi Python untuk panduan dalam memilih kredensial yang tepat.
Contoh kode: Mengautentikasi ke Azure Batch dari .NET
Contoh ini menggunakan Azure. Compute.Batch dengan Azure. Identitas pustaka.
Instal paket
Azure.Compute.BatchdanAzure.IdentityNuGet.Deklarasikan pernyataan berikut
usingdalam kode Anda:using Azure.Compute.Batch; using Azure.Core; using Azure.Identity;Referensikan titik akhir akun Batch Anda:
private const string BatchAccountUrl = "https://<myaccount>.<mylocation>.batch.azure.com";Buat kredensial dan berikan kredensial tersebut ke konstruktor
BatchClient. Gunakan klien untuk operasi selanjutnya pada layanan Batch.Direkomendasikan:
DefaultAzureCredential— berfungsi secara lokal dengan proses masuk alat pengembang (Azure CLI, Visual Studio, Visual Studio Code) dan secara otomatis menggunakan identitas terkelola saat aplikasi berjalan di Azure:TokenCredential credential = new DefaultAzureCredential(); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential); await foreach (BatchJob job in client.GetJobsAsync()) { Console.WriteLine(job.Id); }Rincian masuk interaktif (terintegrasi) - meminta pengguna untuk masuk melalui browser sistem. Gunakan ini saat aplikasi Anda harus mengautentikasi pengguna tertentu secara interaktif:
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);Prinsipal layanan (rahasia klien) — digunakan untuk aplikasi tanpa intervensi pengguna yang mengautentikasi menggunakan rahasia pendaftaran aplikasi:
TokenCredential credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);Managed identity — gunakan saat aplikasi Anda berjalan pada sumber daya Azure (seperti VM, App Service, atau Aplikasi Kontainer) yang memiliki identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna:
// 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);
Contoh kode: Mengautentikasi ke Azure Batch dari Python
Contoh ini menggunakan klien azure-batch dengan kredensial dari pustaka azure-identity. Kelas warisan azure.common.credentials.ServicePrincipalCredentials tidak digunakan lagi; gunakan azure-identity kredensial sebagai gantinya.
Instal paket yang diperlukan:
pip install azure-batch azure-identityReferensikan titik akhir akun Batch Anda dan cakupan sumber daya Batch:
BATCH_ACCOUNT_URL = "https://<myaccount>.<mylocation>.batch.azure.com" BATCH_SCOPE = "https://batch.core.windows.net/.default"Buat kredensial dan teruskan ke
BatchServiceClient.Disarankan:
DefaultAzureCredential— berfungsi secara lokal dengan proses masuk alat pengembang dan secara otomatis menggunakan identitas terkelola saat berjalan di Azure:from azure.batch import BatchServiceClient from azure.identity import DefaultAzureCredential credential = DefaultAzureCredential() batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )Masuk interaktif (terintegrasi) - meminta pengguna untuk masuk melalui browser sistem:
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, )Service principal (rahasia klien) — gunakan untuk aplikasi tanpa interaksi pengguna:
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, )Managed identity — gunakan saat aplikasi Anda berjalan pada sumber daya Azure dengan identitas terkelola:
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, )
Langkah berikutnya
- Mengautentikasi solusi Manajemen Batch dengan Direktori Aktif
- Autentikasi aplikasi .NET ke layanan Azure menggunakan pustaka Azure Identity
- Autentikasi aplikasi Python ke layanan Azure menggunakan pustaka Azure Identity
- Pustaka klien Azure Identity untuk .NET
- Perpustakaan klien Azure Identity untuk Python
- Objek aplikasi dan prinsipal layanan di Microsoft Entra ID
- Cara membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya