Mengonfigurasi pengelola kredensial - Microsoft Graph API

BERLAKU UNTUK: Semua tingkatAN API Management

Artikel ini memandu Anda melalui langkah-langkah yang diperlukan untuk membuat koneksi terkelola ke Microsoft Graph API dalam Azure API Management. Jenis pemberian kode otorisasi digunakan dalam contoh ini.

Anda akan mempelajari cara untuk:

  • Membuat aplikasi Microsoft Entra
  • Membuat dan mengonfigurasi penyedia kredensial di API Management
  • Mengonfigurasi koneksi
  • Membuat Microsoft Graph API di API Management dan mengonfigurasi kebijakan
  • Menguji Microsoft Graph API Anda di API Management

Prasyarat

  • Akses ke penyewa Microsoft Entra tempat Anda memiliki izin untuk membuat pendaftaran aplikasi dan untuk memberikan persetujuan admin untuk izin aplikasi. Pelajari lebih lanjut

    Jika ingin membuat penyewa pengembang sendiri, Anda dapat mendaftar ke Program Pengembang Microsoft 365.

  • Instans API Management yang sedang berjalan. Jika perlu, buat instans Azure API Management.

  • Aktifkan identitas terkelola yang ditetapkan sistem untuk API Management dalam instans API Management.

Langkah 1: Membuat aplikasi Microsoft Entra

Buat aplikasi Microsoft Entra untuk API dan berikan izin yang sesuai untuk permintaan yang ingin Anda panggil.

  1. Masuk ke portal Azure dengan akun dengan izin yang memadai di penyewa.

  2. Di bawah Layanan Azure, cari ID Microsoft Entra.

  3. Di menu sebelah kiri, pilih Pendaftaran aplikasi, lalu pilih + Pendaftaran baru.

  4. Pada halaman Daftarkan aplikasi , masukkan pengaturan pendaftaran aplikasi Anda:

    1. Di Nama, masukkan nama yang bermakna yang akan ditampilkan kepada pengguna aplikasi, seperti MicrosoftGraphAuth.

    2. Di Jenis akun yang didukung, pilih opsi yang sesuai dengan skenario Anda, misalnya, Akun dalam direktori organisasi ini saja (Penyewa tunggal).

    3. Atur URI Pengalihan ke Web, dan masukkan https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, ganti nama layanan API Management tempat Anda akan mengonfigurasi penyedia kredensial.

    4. Pilih Daftarkan.

      Cuplikan layar membuat pendaftaran aplikasi Microsoft Entra di portal.

  5. Di menu sebelah kiri, pilih Izin API, lalu pilih + Tambahkan izin. Cuplikan layar menambahkan izin API di portal.

    1. Pilih Microsoft Graph, lalu pilih Izin yang didelegasikan.

      Catatan

      Pastikan izin User.Read dengan tipe Yang Didelegasikan telah ditambahkan.

    2. Ketik Tim, perluas opsi Tim , lalu pilih Team.ReadBasic.All. Pilih Tambahkan izin.
    3. Selanjutnya, pilih Berikan persetujuan admin untuk Direktori Default. Status izin berubah menjadi Diberikan untuk Direktori Default.
  6. Di menu sebelah kiri, pilih Gambaran Umum. Pada halaman Gambaran Umum , temukan nilai ID Aplikasi (klien) dan rekam untuk digunakan di Langkah 2.

  7. Di menu sebelah kiri, pilih Sertifikat & rahasia, lalu pilih + Rahasia klien baru.
    Cuplikan layar membuat rahasia aplikasi di portal.

    1. Masukkan Deskripsi.
    2. Pilih opsi untuk Kedaluwarsa.
    3. Pilih Tambahkan.
    4. Salin Nilai rahasia klien sebelum meninggalkan halaman. Anda akan membutuhkannya di Langkah 2.

Langkah 2: Mengonfigurasi penyedia kredensial di API Management

  1. Masuk ke portal dan buka instans API Management Anda.

  2. Di menu sebelah kiri, pilih Pengelola kredensial, lalu pilih + Buat.
    Cuplikan layar pembuatan kredensial API di portal.

  3. Pada halaman Buat penyedia kredensial, masukkan pengaturan berikut ini, dan pilih Buat:

    Pengaturan Nilai
    Nama penyedia kredensial Nama pilihan Anda, seperti MicrosoftEntraID-01
    IdP Pilih Azure Active Directory v1
    Jenis pemberian Pilih Kode otorisasi
    URL Otorisasi Opsional untuk IdP Microsoft Entra. Defaultnya adalah https://login.microsoftonline.com.
    ID klien Tempelkan nilai yang Anda salin sebelumnya dari pendaftaran aplikasi
    Rahasia Klien Tempelkan nilai yang Anda salin sebelumnya dari pendaftaran aplikasi
    URL Sumber Daya https://graph.microsoft.com
    ID Penyewa Opsional untuk IdP Microsoft Entra. Defaultnya adalah Umum.
    Cakupan Opsional untuk IdP Microsoft Entra. Dikonfigurasi secara otomatis dari izin API aplikasi Microsoft Entra.

Langkah 3: Mengonfigurasi koneksi

Pada tab Koneksi ion, selesaikan langkah-langkah untuk koneksi Anda ke penyedia.

Catatan

Saat Anda mengonfigurasi koneksi, API Management secara default menyiapkan kebijakan akses yang memungkinkan akses oleh identitas terkelola yang ditetapkan sistem instans. Akses ini cukup untuk contoh ini. Anda dapat menambahkan kebijakan akses tambahan sesuai kebutuhan.

  1. Masukkan nama Koneksi ion, lalu pilih Simpan.
  2. Di bawah Langkah 2: Masuk ke koneksi Anda (untuk jenis pemberian kode otorisasi), pilih tautan untuk masuk ke penyedia kredensial. Selesaikan langkah-langkah di sana untuk mengotorisasi akses, dan kembali ke API Management.
  3. Di bawah Langkah 3: Tentukan siapa yang akan memiliki akses ke koneksi ini (Kebijakan akses), anggota identitas terkelola dicantumkan. Menambahkan anggota lain bersifat opsional, tergantung pada skenario Anda.
  4. Pilih Selesaikan.

Koneksi baru muncul dalam daftar koneksi, dan memperlihatkan status Koneksi. Jika Anda ingin membuat koneksi lain untuk penyedia kredensial, selesaikan langkah-langkah sebelumnya.

Tip

Gunakan portal untuk menambahkan, memperbarui, atau menghapus koneksi ke penyedia kredensial kapan saja. Untuk informasi selengkapnya, lihat Mengonfigurasi beberapa koneksi.

Catatan

Jika Anda memperbarui izin Microsoft Graph setelah langkah ini, Anda harus mengulangi Langkah 2 dan 3.

Langkah 4: Membuat Microsoft Graph API di API Management dan mengonfigurasi kebijakan

  1. Masuk ke portal dan buka instans API Management Anda.

  2. Di menu sebelah kiri, pilih API > + Tambahkan API.

  3. Pilih HTTP dan masukkan pengaturan berikut. Lalu pilih Buat.

    Pengaturan Nilai
    Nama tampilan msgraph
    URL layanan Web https://graph.microsoft.com/v1.0
    Akhiran URL API msgraph
  4. Navigasikan ke API yang baru dibuat dan pilih Tambahkan Operasi. Masukkan pengaturan berikut dan pilih Simpan.

    Pengaturan Nilai
    Nama tampilan getprofile
    URL untuk GET /Saya
  5. Ikuti langkah-langkah sebelumnya untuk menambahkan operasi lain dengan pengaturan berikut.

    Pengaturan Nilai
    Nama tampilan getJoinedTeams
    URL untuk GET /me/joinedTeams
  6. Pilih Semua operasi. Di bagian Pemrosesan masuk, pilih (</>) ikon (penyunting kode).

  7. Salin dan tempel cuplikan berikut. get-authorization-context Perbarui kebijakan dengan nama penyedia kredensial dan koneksi yang Anda konfigurasikan di langkah-langkah sebelumnya, dan pilih Simpan.

    • Ganti nama penyedia kredensial Anda sebagai nilai provider-id
    • Ganti nama koneksi Anda sebagai nilai authorization-id
    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="MicrosoftEntraID-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
           <set-header name="Authorization" exists-action="override">
               <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
           </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

Definisi kebijakan sebelumnya terdiri dari dua bagian:

  • Kebijakan get-authorization-context mengambil token otorisasi dengan mereferensikan penyedia info masuk dan koneksi yang dibuat sebelumnya.
  • Kebijakan set-header membuat header HTTP dengan token akses yang diambil.

Langkah 5: Uji API

  1. Pada tab Uji , pilih satu operasi yang Anda konfigurasi.

  2. Pilih Kirim.

    Cuplikan layar pengujian Graph API di portal.

    Respons yang berhasil mengembalikan data pengguna dari Microsoft Graph.

  • Pelajari selengkapnya tentang kebijakan autentikasi dan otorisasi di Azure API Management.
  • Pelajari selengkapnya tentang cakupan dan izin di ID Microsoft Entra.