Mengonfigurasi identitas terkelola di kumpulan Batch

Identitas terkelola untuk sumber daya Azure menghilangkan manajemen identitas dan kredensial yang rumit dengan menyediakan identitas untuk sumber daya Azure di ID Microsoft Entra (ID Microsoft Azure AD). Identitas ini digunakan untuk mendapatkan token Microsoft Entra untuk mengautentikasi dengan sumber daya target di Azure.

Topik ini menjelaskan cara mengaktifkan identitas terkelola yang ditetapkan pengguna pada kumpulan Batch dan cara menggunakan identitas terkelola dalam simpul.

Penting

Kumpulan tersebut harus dikonfigurasi menggunakan Konfigurasi Komputer Virtual agar dapat memanfaatkan identitas terkelola.

Membuat kumpulan dengan identitas terkelola dapat dilakukan dengan menggunakan pustaka manajemen Batch .NET, tetapi saat ini tidak didukung dengan pustaka klien Batch .NET.

Membuat identitas terkelola yang ditetapkan pengguna

Pertama, buat identitas terkelola yang ditetapkan pengguna di penyewa yang sama dengan akun Batch Anda. Anda dapat membuat identitas menggunakan portal Azure, Azure Command-Line Interface (Azure CLI), PowerShell, Azure Resource Manager, atau Azure REST API. Identitas terkelola ini tidak perlu berada dalam grup sumber daya yang sama atau bahkan dalam langganan yang sama.

Tip

Identitas terkelola yang ditetapkan sistem yang dibuat untuk akun Batch untuk enkripsi data pelanggan tidak dapat digunakan sebagai identitas terkelola yang ditetapkan pengguna pada kumpulan Batch seperti yang dijelaskan dalam dokumen ini. Jika Anda ingin menggunakan identitas terkelola yang sama pada akun Batch dan kumpulan Batch, gunakan identitas terkelola umum yang ditetapkan pengguna sebagai gantinya.

Membuat kumpulan Batch dengan identitas terkelola yang ditetapkan pengguna

Setelah membuat satu atau beberapa identitas terkelola yang ditetapkan pengguna, Anda dapat membuat kumpulan Batch dengan identitas tersebut. Anda dapat:

Peringatan

Pembaruan identitas terkelola kumpulan di tempat tidak didukung saat kumpulan memiliki simpul aktif. Simpul komputasi yang ada tidak akan diperbarui dengan perubahan. Disarankan untuk menurunkan skala kumpulan ke nol simpul komputasi sebelum memodifikasi pengumpulan identitas untuk memastikan semua VM memiliki sekumpulan identitas yang sama yang ditetapkan.

Membuat kumpulan Batch di portal Azure

Untuk membuat kumpulan Batch dengan identitas terkelola yang ditetapkan pengguna melalui portal Azure:

  1. Masuk ke portal Microsoft Azure.
  2. Di bilah pencarian, masukkan dan pilih Akun Batch.
  3. Di halaman Akun batch, pilih akun Batch tempat Anda ingin membuat kumpulan Batch.
  4. Di menu halaman akun Batch, di bagian Fitur, pilih Kumpulan.
  5. Di menu Kumpulan, pilih Tambahkan untuk menambahkan kumpulan Batch baru.
  6. Untuk ID Kumpulan, masukkan pengidentifikasi untuk kumpulan Anda.
  7. Untuk Identitas, ubah pengaturan ke Pengguna yang ditetapkan.
  8. Di bawah Identitas terkelola yang ditetapkan pengguna, pilih Tambahkan.
  9. Pilih identitas terkelola yang ditetapkan pengguna atau identitas yang ingin Anda gunakan. Kemudian, pilih Tambahkan.
  10. Di bagian Sistem Operasi, pilih penerbit, penawaran, dan SKU yang digunakan.
  11. Secara opsional, aktifkan identitas terkelola di registri kontainer:
    1. Untuk Konfigurasi kontainer, ubah pengaturan menjadi Kustom. Kemudian, pilih konfigurasi kustom Anda.
    2. Untuk Mulai tugas pilih Diaktifkan. Kemudian, pilih File sumber dan tambahkan informasi kontainer penyimpanan Anda.
    3. Aktifkan Pengaturan kontainer.
    4. Ubah Registri kontainer menjadi Kustom
    5. Untuk Referensi identitas, pilih kontainer penyimpanan.

Membuat kumpulan Batch dengan .NET

Untuk membuat kumpulan Batch dengan identitas terkelola yang ditetapkan pengguna dengan pustaka manajemen Batch .NET, gunakan kode contoh berikut:

var poolParameters = new Pool(name: "yourPoolName")
    {
        VmSize = "standard_d2_v3",
        ScaleSettings = new ScaleSettings
        {
            FixedScale = new FixedScaleSettings
            {
                TargetDedicatedNodes = 1
            }
        },
        DeploymentConfiguration = new DeploymentConfiguration
        {
            VirtualMachineConfiguration = new VirtualMachineConfiguration(
                new ImageReference(
                    "Canonical",
                    "0001-com-ubuntu-server-jammy",
                    "22_04-lts",
                    "latest"),
                "batch.node.ubuntu 22.04")
        },
        Identity = new BatchPoolIdentity
        {
            Type = PoolIdentityType.UserAssigned,
            UserAssignedIdentities = new Dictionary<string, UserAssignedIdentities>
            {
                ["Your Identity Resource Id"] =
                    new UserAssignedIdentities()
            }
        }
    };

var pool = await managementClient.Pool.CreateWithHttpMessagesAsync(
    poolName:"yourPoolName",
    resourceGroupName: "yourResourceGroupName",
    accountName: "yourAccountName",
    parameters: poolParameters,
    cancellationToken: default(CancellationToken)).ConfigureAwait(false);

Gunakan identitas terkelola yang ditetapkan pengguna dalam simpul Batch

Banyak fungsi Azure Batch yang mengakses sumber daya Azure lainnya langsung pada simpul komputasi, seperti Azure Storage atau Azure Container Registry, mendukung identitas terkelola. Untuk informasi selengkapnya tentang penggunaan identitas terkelola dengan Azure Batch, lihat tautan berikut:

Anda juga dapat mengonfigurasi tugas secara manual sehingga identitas terkelola dapat langsung mengakses sumber daya Azure yang mendukung identitas terkelola.

Dalam simpul Batch, Anda bisa mendapatkan token identitas terkelola dan menggunakannya untuk mengautentikasi melalui autentikasi Microsoft Entra melalui Azure Instance Metadata Service.

Untuk Windows, skrip PowerShell untuk mendapatkan token akses untuk melakukan autentikasi adalah:

$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -Method GET -Headers @{Metadata="true"}

Untuk Linux, skrip Bash adalah:

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true

Untuk informasi selengkapnya, lihat Cara menggunakan identitas terkelola untuk sumber daya Azure pada Komputer Virtual Azure untuk memperoleh token akses.

Langkah berikutnya