Bagikan melalui


Mengakses API Publik Azure Sphere dengan identitas terkelola AAD

Penting

Ini adalah dokumentasi Azure Sphere (Warisan). Azure Sphere (Warisan) dihentikan pada 27 September 2027, dan pengguna harus bermigrasi ke Azure Sphere (Terintegrasi) saat ini. Gunakan pemilih Versi yang terletak di atas TOC untuk melihat dokumentasi Azure Sphere (Terintegrasi).

Anda dapat menggunakan metode ini untuk mengautentikasi ke layanan apa pun yang mendukung autentikasi Azure Active Directory (AAD), tanpa kredensial apa pun dalam kode Anda. Identitas terkelola AAD menangani pembuatan atau perpanjangan perwakilan layanan atas nama Anda. Ini adalah perwakilan layanan dari jenis khusus yang hanya dapat digunakan dengan sumber daya Azure. Ketika identitas terkelola dihapus, perwakilan layanan yang sesuai secara otomatis dihapus.

Ditetapkan sistem: Beberapa layanan Azure memungkinkan Anda mengaktifkan identitas terkelola secara langsung pada instans layanan. Misalnya, Azure App Service. Saat Anda mengaktifkan identitas terkelola yang ditetapkan sistem, identitas dibuat di Azure Active Directory yang terkait dengan siklus hidup instans layanan tersebut. Jadi, ketika sumber daya dihapus, Azure secara otomatis menghapus identitas untuk Anda. Secara desain, hanya sumber daya Azure yang dapat menggunakan identitas ini untuk meminta token dari Azure Active Directory.

Prasyarat

Bagian berikut menjelaskan cara memanggil Azure Sphere Public API (PAPI) dari Azure Web App menggunakan identitas terkelola.

Langkah 1: Aktifkan identitas yang ditetapkan sistem di sumber daya

Untuk mengaktifkan identitas yang ditetapkan sistem di sumber daya dan menemukan ID Objek untuk proyek:

  1. Di portal Azure, di panel navigasi kiri, klik App Services.
  2. Pilih langganan yang diperlukan dari menu dropdown, dan pilih aplikasi Anda dari hasil pencarian.
  3. Pada menu aplikasi logika, di bagian Pengaturan, pilih Identitas.
  4. Aktifkan identitas yang ditetapkan sistem dengan mengatur Status ke Aktif.
  5. Klik Simpan.
  6. Salin ID Objek.

Langkah 2: Tambahkan identitas terkelola ke penyewa Azure Sphere

Catatan

Pastikan Anda memiliki hal berikut sebelum memulai langkah ini:

Azure Sphere memperlakukan perwakilan layanan sebagai pengguna lain. Untuk memperoleh token menggunakan perwakilan layanan, pertama-tama tambahkan pengguna perwakilan layanan ke penyewa Azure Sphere, lalu tetapkan peran kepada pengguna di penyewa Azure Sphere menggunakan Azure Sphere CLI.

Identitas pengguna dapat dihasilkan sebagai <ObjectID>@<TenantID.onmicrosoft.com>.

Dalam contoh berikut, kami membuat pengguna menggunakan kombinasi ID objek dan ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz penyewa Azure AD di ID tttttttt-tttt-tttt-tttt-ttttttttttttpenyewa Azure Sphere, lalu menambahkan peran Kontributor untuk pengguna ini.

  1. Masuk dengan login Azure Sphere Anda menggunakan Azure Sphere CLI:

    azsphere login
    
  2. Pilih penyewa yang diperlukan:

    azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
    
  3. Untuk menambahkan pengguna ke peran yang diperlukan:

    azsphere role add --role Contributor --user xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx@zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz.onmicrosoft.com
    

Langkah 3: Tambahkan paket Azure.Identity NuGet dalam proyek

Tambahkan paket Azure.Identity NuGet dalam proyek. Token Azure Sphere Public API (PAPI) dapat diperoleh oleh DefaultAzureCredential.

Misalnya, lihat cuplikan kode:

    public static async Task<string> GetAS3Token()
    {
        DefaultAzureCredential credential = new DefaultAzureCredential();
        var result = await credential.GetTokenAsync(new Azure.Core.TokenRequestContext(
        new[] { "https://firstparty.sphere.azure.net/api/.default" }));
        return result.Token;
    }