Mulai cepat: Mengonfigurasi aplikasi klien untuk mengakses API web

Di mulai cepat ini, Anda menyediakan aplikasi klien yang terdaftar dengan platform identitas Microsoft dengan akses tercakup berbasis izin ke API web Anda sendiri. Anda juga menyediakan akses aplikasi klien ke Microsoft Graph.

Dengan menentukan cakupan API web dalam pendaftaran aplikasi klien Anda, aplikasi klien dapat memperoleh token akses yang berisi cakupan tersebut dari platform identitas Microsoft. Dalam kodenya, API web kemudian dapat memberikan akses berbasis izin ke sumber dayanya berdasarkan cakupan yang ditemukan dalam token akses.

Prasyarat

Menambahkan izin untuk mengakses API web Anda

Tip

Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.

Akses ke API memerlukan konfigurasi cakupan dan peran akses. Jika Anda ingin mengekspose API web aplikasi sumber daya ke aplikasi klien, konfigurasikan cakupan dan peran akses untuk API. Jika Anda ingin aplikasi klien mengakses API web, konfigurasikan izin untuk mengakses API dalam pendaftaran aplikasi.

Di skenario pertama, Anda memberikan akses aplikasi klien ke API web Anda sendiri, yang keduanya harus Anda daftarkan sebagai bagian dari prasyarat. Jika Anda belum memiliki aplikasi klien dan API web yang terdaftar, selesaikan langkah-langkah di dua artikel Prasyarat.

Diagram ini menunjukkan bagaimana kedua pendaftaran aplikasi berhubungan satu sama lain. Di bagian ini, Anda menambahkan izin ke pendaftaran aplikasi klien.

Line diagram showing a web API with exposed scopes on the right and a client app on the left with those scopes selected as permissions

Setelah mendaftarkan aplikasi klien dan API web dan telah mengekspos API dengan membuat cakupan, Anda dapat mengonfigurasi izin klien ke API dengan mengikuti langkah-langkah berikut:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.

  2. Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa yang berisi pendaftaran aplikasi dari menu Direktori + langganan.

  3. Telusuri ke Aplikasi> Identitas>Pendaftaran aplikasi, lalu pilih aplikasi klien Anda (bukan API web Anda).

  4. Pilih izin API>Tambahkan izin>API Saya.

  5. Pilih API web yang Anda daftarkan sebagai bagian dari prasyarat.

    Izin yang didelegasikan dipilih secara default. Izin yang didelegasikan sesuai untuk aplikasi klien yang mengakses API web sebagai pengguna yang masuk, dan yang aksesnya harus dibatasi untuk izin yang Anda pilih di langkah berikutnya. Biarkan izin yang didelegasikan dipilih untuk contoh ini.

    Izin aplikasi adalah untuk aplikasi jenis layanan atau daemon yang perlu mengakses API web sebagai milik mereka sendiri, tanpa interaksi pengguna untuk masuk atau menyetujui. Kecuali Anda telah menentukan peran aplikasi untuk API web Anda, opsi ini dinonaktifkan.

  6. Di bawah Pilih izin, perluas sumber daya yang cakupannya Anda tentukan untuk API web Anda, dan pilih izin yang harus miliki aplikasi klien atas nama pengguna yang masuk.

    Jika Anda menggunakan contoh nama cakupan yang ditentukan dalam mulai cepat sebelumnya, Anda akan melihat Karyawan.Read.All dan Employees.Write.All. Pilih Employees.Read.All atau izin lain yang mungkin telah Anda buat saat menyelesaikan prasyarat.

  7. Pilih Tambahkan izin untuk menyelesaikan proses.

Setelah menambahkan izin ke API, Anda akan melihat izin yang dipilih di bawah Izin yang dikonfigurasi. Gambar berikut menunjukkan contoh Employees.Read.All izin yang didelegasikan ditambahkan ke pendaftaran aplikasi klien.

Configured permissions pane in the Azure portal showing the newly added permission

Anda mungkin juga melihat izin User.Read untuk Microsoft Graph API. Izin ini ditambahkan secara otomatis saat Anda mendaftarkan aplikasi di portal Microsoft Azure.

Menambahkan izin untuk mengakses Microsoft Graph

Selain mengakses API web Anda sendiri atas nama pengguna yang masuk, aplikasi Anda mungkin juga perlu mengakses atau memodifikasi data pengguna (atau lainnya) yang disimpan di Microsoft Graph. Atau Anda mungkin memiliki aplikasi layanan atau daemon yang perlu mengakses Microsoft Graph seperti itu sendiri, melakukan operasi tanpa interaksi pengguna.

Izin yang didelegasikan ke Microsoft Graph

Konfigurasikan izin yang didelegasikan ke Microsoft Graph untuk memungkinkan aplikasi klien Anda melakukan operasi atas nama pengguna yang masuk, misalnya membaca email mereka atau memodifikasi profil mereka. Secara default, pengguna aplikasi klien Anda akan ditanya ketika mereka masuk untuk menyetujui izin yang didelegasikan yang telah Anda konfigurasi untuk aplikasi tersebut.

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.

  2. Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa yang berisi pendaftaran aplikasi dari menu Direktori + langganan.

  3. Telusuri Aplikasi >Identitas>Pendaftaran aplikasi, lalu pilih aplikasi klien Anda.

  4. Pilih izin API>Tambahkan izin>Microsoft Graph

  5. Pilih Izin yang didelegasikan. Microsoft Graph memaparkan banyak izin, dengan yang paling umum digunakan diperlihatkan di bagian atas daftar.

  6. Di bawah Pilih izin, pilih izin berikut ini:

    Izin Deskripsi
    email Melihat alamat email pengguna
    offline_access Mempertahankan akses ke data yang aksesnya telah Anda berikan
    openid Memasukkan pengguna
    profile Lihat profil dasar pengguna
  7. Pilih Tambahkan izin untuk menyelesaikan proses.

Setiap kali Anda mengonfigurasi izin, pengguna aplikasi Diminta login untuk persetujuan mereka agar aplikasi Anda dapat mengakses API resource atas nama mereka.

Sebagai admin, Anda juga dapat memberikan persetujuan atas nama semua pengguna sehingga mereka tidak diminta untuk melakukannya. Persetujuan admin dibahas nanti di bagian Lainnya tentang izin API dan persetujuan admin di artikel ini.

Izin aplikasi ke Microsoft Graph

Mengonfigurasi izin aplikasi untuk aplikasi yang perlu diautentikasi sendiri tanpa interaksi atau persetujuan pengguna. Izin aplikasi biasanya digunakan oleh layanan latar belakang atau aplikasi daemon yang mengakses API dengan cara "tanpa kepala", dan oleh API web yang mengakses API (hilir) lain.

Di langkah-langkah berikut, Anda memberikan izin ke Files.Read.AllMicrosoft Graph sebagai contoh.

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.

  2. Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa yang berisi pendaftaran aplikasi dari menu Direktori + langganan.

  3. Telusuri Aplikasi >Identitas>Pendaftaran aplikasi, lalu pilih aplikasi klien Anda.

  4. Pilih izin API>Tambahkan izin>Izin Aplikasi>Microsoft Graph.

  5. Semua izin yang diekspos oleh Microsoft Graph diperlihatkan di bawah Pilih izin.

  6. Pilih izin atau izin yang ingin Anda berikan kepada aplikasi Anda. Sebagai contoh, Anda mungkin memiliki aplikasi daemon yang memindai file di organisasi Anda, dengan memperingatkan jenis atau nama file tertentu.

    Di bawah Pilih izin, perluas File, lalu pilih izin Files.Read.All.

  7. Pilih Tambahkan izin.

Beberapa izin, seperti izin Files.Read.Al Microsoft Graph memerlukan persetujuan admin. Anda memberikan persetujuan admin dengan memilih tombol Izinkan admin, yang dibahas nanti di bagian tombol persetujuan Admin.

Mengonfigurasi kredensial klien

Aplikasi yang menggunakan izin aplikasi mengautentikasi sebagai diri mereka sendiri dengan menggunakan kredensial mereka sendiri, tanpa memerlukan interaksi pengguna apa pun. Sebelum aplikasi Anda (atau API) dapat mengakses Microsoft Graph, API web Anda sendiri, atau API lain dengan menggunakan izin aplikasi, Anda harus mengonfigurasi kredensial aplikasi klien tersebut.

Untuk informasi selengkapnya tentang mengonfigurasi kredensial aplikasi, lihat bagian Tambahkan kredensial dari Mulai Cepat: Mendaftarkan aplikasi dengan platform identitas Microsoft.

Panel izin API dari pendaftaran aplikasi berisi tabel Izin yang dikonfigurasi, dan mungkin juga berisi tabel Izin lain yang diberikan. Tabel dan tombol persetujuan Admin dijelaskan di bagian berikut.

Izin yang dikonfigurasi

Tabel Izin yang dikonfigurasi pada panel izin API menunjukkan daftar izin yang diperlukan aplikasi Anda untuk operasi dasar - daftar akses sumber daya (RRA) yang diperlukan. Pengguna, atau admin mereka, harus menyetujui izin ini sebelum menggunakan aplikasi Anda. Izin opsional lainnya dapat diminta nanti pada waktu proses (menggunakan persetujuan dinamis).

Ini adalah daftar minimum izin yang harus disetujui orang untuk aplikasi Anda. Mungkin ada lebih banyak, tetapi ini akan selalu diperlukan. Untuk keamanan dan untuk membantu pengguna dan admin merasa lebih nyaman menggunakan aplikasi Anda, jangan pernah meminta apa pun yang tidak Anda butuhkan.

Anda bisa menambahkan atau menghapus izin yang muncul dalam tabel ini dengan menggunakan langkah-langkah yang diuraikan di atas atau dari Izin lain yang diberikan (dijelaskan di bagian berikutnya). Sebagai admin, Anda dapat memberikan persetujuan admin untuk sekumpulan lengkap izin API yang muncul dalam tabel, dan mencabut persetujuan untuk izin individual.

Izin lain yang diberikan

Anda mungkin juga melihat tabel berjudul Izin lain yang diberikan untuk {penyewa Anda} di panel izin API. Tabel Izin lain yang diberikan untuk {penyewa Anda} memperlihatkan izin yang diberikan seluruh penyewa untuk penyewa yang belum dikonfigurasi secara eksplisit pada objek aplikasi. Izin ini diminta secara dinamis dan disetujui oleh admin, atas nama semua pengguna. Bagian ini hanya muncul jika setidaknya ada satu izin yang berlaku.

Anda dapat menambahkan sekumpulan lengkap izin API atau izin individual yang muncul dalam tabel ini ke tabel Izin yang dikonfigurasi. Sebagai admin, Anda dapat mencabut izin admin untuk API atau izin individual di bagian ini.

Tombol Berikan persetujuan admin untuk {penyewa Anda} memungkinkan admin untuk memberikan persetujuan admin atas izin yang dikonfigurasi untuk aplikasi. Saat Anda memilih tombol, dialog ditampilkan yang meminta Anda mengonfirmasi tindakan persetujuan.

Grant admin consent button highlighted in the Configured permissions pane in the Azure portal

Setelah memberikan persetujuan, izin yang diperlukan persetujuan admin ditunjukkan sebagai memiliki persetujuan yang diberikan:

Configure permissions table in Azure portal showing admin consent granted for the Files.Read.All permission

Tombol Berikan persetujuan admindinonaktifkan jika Anda bukan admin atau jika tidak ada izin yang dikonfigurasi untuk aplikasi tersebut. Jika Anda memiliki izin yang telah diberikan tetapi belum dikonfigurasi, tombol persetujuan admin akan meminta Anda untuk menangani izin ini. Anda bisa menambahkannya ke izin yang dikonfigurasi atau menghapusnya.

Langkah berikutnya

Lanjutkan ke mulai cepat berikutnya di seri untuk mempelajari cara mengonfigurasi jenis akun mana yang dapat mengakses aplikasi Anda. Misalnya, Anda mungkin ingin membatasi akses hanya ke pengguna tersebut di organisasi Anda (penyewa tunggal) atau mengizinkan pengguna di penyewa Microsoft Entra lainnya (multi-penyewa) dan mereka yang memiliki akun Microsoft pribadi (MSA).