Mengonfigurasi aplikasi App Service atau Azure Functions Anda untuk menggunakan masuk Azure AD

Artikel ini memperlihatkan cara mengonfigurasi autentikasi untuk Azure App Service atau Azure Functions sehingga aplikasi Anda memasukkan pengguna dengan platform identitas Microsoft (Microsoft Azure AD) sebagai penyedia autentikasi.

Fitur App Service Authentication dapat secara otomatis membuat pendaftaran aplikasi dengan platform identitas Microsoft. Anda juga dapat menggunakan pendaftaran yang Anda buat atau yang dibuat oleh admin direktori secara terpisah.

Catatan

Opsi untuk membuat pendaftaran baru tidak tersedia untuk cloud pemerintah. Sebagai gantinya, tentukan pendaftaran secara terpisah.

Opsi 1: Membuat pendaftaran aplikasi baru secara otomatis

Opsi ini dirancang untuk mempermudah pengaktifan autentikasi dan hanya membutuhkan beberapa klik.

  1. Masuk ke portal Microsoft Azure dan navigasikan ke aplikasi Anda.

  2. Pilih Autentikasi pada menu di sebelah kiri. Klik Tambahkan penyedia identitas.

  3. Pilih Microsoft di menu tarik-turun penyedia identitas. Opsi untuk membuat pendaftaran baru dipilih secara default. Anda dapat mengubah nama pendaftaran atau jenis akun yang didukung.

    Rahasia klien akan dibuat dan disimpan sebagai pengaturan aplikasi slot-sticky bernama . Anda dapat memperbarui pengaturan tersebut nanti untuk menggunakan referensi Key Vault jika Anda ingin mengelola rahasia di Azure Key Vault.

  4. Jika ini adalah penyedia identitas pertama yang dikonfigurasi untuk aplikasi, Anda juga akan diminta dengan bagian pengaturan autentikasi App Service. Jika tidak, Anda boleh melanjutkan ke langkah berikutnya.

    Opsi ini menentukan bagaimana aplikasi Anda merespons permintaan yang tidak diautentikasi, dan pilihan default akan mengalihkan semua permintaan untuk masuk dengan penyedia baru ini. Anda dapat mengubah kustomisasi perilaku ini sekarang atau menyesuaikan pengaturan ini nanti dari layar Autentikasi dengan memilih Edit di samping Pengaturan autentikasi. Untuk mempelajari selengkapnya tentang opsi ini, lihat Alur autentikasi.

  5. (Opsional) Klik Berikutnya: Izin dan tambahkan cakupan apa pun yang diperlukan oleh aplikasi. Ini akan ditambahkan ke pendaftaran aplikasi, tetapi Anda juga dapat mengubahnya nanti.

  6. Klik Tambahkan.

Kini Anda siap menggunakan platform identitas Microsoft untuk autentikasi di aplikasi Anda. Penyedia akan dicantumkan pada layar Autentikasi. Dari sana, Anda dapat mengedit atau menghapus konfigurasi penyedia ini.

Untuk contoh mengonfigurasi masuk Azure AD untuk aplikasi web yang mengakses Azure Storage dan Microsoft Graph, lihat tutorial ini.

Opsi 2: Menggunakan pendaftaran yang sudah ada yang dibuat secara terpisah

Anda juga dapat mendaftarkan aplikasi Anda secara manual untuk platform identitas Microsoft, mengkustomisasi pendaftaran dan mengonfigurasi App Service Authentication dengan detail pendaftaran. Tindakan ini berguna, misalnya, jika Anda ingin menggunakan pendaftaran aplikasi dari penyewa Azure AD yang berbeda dari aplikasi Anda.

Membuat pendaftaran aplikasi di Azure AD untuk aplikasi App Service Anda

Pertama, Anda akan membuat pendaftaran aplikasi. Saat Anda melakukannya, kumpulkan informasi berikut yang akan Anda butuhkan nanti saat mengonfigurasi autentikasi di aplikasi App Service:

  • ID Klien
  • ID Penyewa
  • Rahasia klien (opsional)
  • URI ID Aplikasi

Untuk mendaftarkan aplikasi, lakukan langkah berikut:

  1. Masuk ke portal Microsoft Azure, cari dan pilih App ServiceApp Service lalu pilih aplikasi Anda. Perhatikan URL aplikasi Anda. Anda akan menggunakannya untuk mengonfigurasi pendaftaran aplikasi Azure Active Directory Anda.

  2. Dari menu portal, pilih Azure Active Directory, lalu buka tab Pendaftaran aplikasi dan pilih Pendaftaran baru.

  3. Di halaman Daftarkan aplikasi, masukkan Nama untuk pendaftaran aplikasi Anda.

  4. Di Redirect URI,pilih Web dan ketik. Contohnya:https://contoso.azurewebsites.net/.auth/login/aad/callback

  5. Pilih Daftar.

  6. Setelah pendaftaran aplikasi dibuat, salin ID Aplikasi (klien) dan ID Direktori (penyewa) untuk nanti.

  7. Pilih Autentikasi. Pada Pemberian implisit dan alur hibrida, aktifkan token ID untuk mengizinkan proses masuk pengguna OpenID Connect dari App Service. Pilih Simpan.

  8. (Opsional) Pilih Branding. Di URL halaman Beranda, masukkan URL aplikasi App Service Anda dan pilih Simpan.

  9. Pilih Ekspos API, dan klik Atur di samping "URI ID Aplikasi". Nilai ini secara unik mengidentifikasi aplikasi ketika digunakan sebagai sumber daya, memungkinkan token yang memberikan akses untuk diminta. Ini digunakan sebagai awalan untuk cakupan yang Anda buat.

    Untuk aplikasi penyewa tunggal, Anda dapat menggunakan nilai default, yang berupa api://<application-client-id>. Anda juga dapat menentukan URI yang lebih mudah dibaca seperti https://contoso.com/api berdasarkan salah satu domain terverifikasi untuk penyewa Anda. Untuk aplikasi multi-penyewa, Anda harus menyediakan URI khusus. Untuk mempelajari selengkapnya tentang format yang diterima untuk URI ID Aplikasi, lihat referensi praktik terbaik pendaftaran aplikasi.

    Nilai disimpan secara otomatis.

  10. Pilih Tambahkan cakupan.

    1. Pada Tambahkan cakupan, URI ID Aplikasi adalah nilai yang Anda tetapkan pada langkah sebelumnya. Klik Simpan dan lanjutkan.
    2. Di Nama cakupan, masukkan user_impersonation.
    3. Dalam kotak teks, masukkan deskripsi dan nama cakupan persetujuan yang Anda inginkan dilihat pengguna di halaman persetujuan. Misalnya, masukkan Akses application-name>.
    4. Pilih Tambahkan cakupan.
  11. (Opsional) Untuk membuat rahasia klien, pilih Rahasia Sertifikat>>>> Masukkan deskripsi serta kedaluwarsa dan pilih Tambahkan. Salin nilai rahasia klien yang diperlihatkan di halaman. Nilai tersebut tidak akan ditampilkan lagi.

  12. (Opsional) Untuk menambahkan beberapa URL Balasan, pilih Autentikasi.

Mengaktifkan Azure Active Directory di aplikasi App Service Anda

  1. Masuk ke portal Microsoft Azure dan navigasikan ke aplikasi Anda.

  2. Pilih Autentikasi pada menu di sebelah kiri. Klik Tambahkan penyedia identitas.

  3. Pilih Microsoft di menu tarik-turun penyedia identitas.

  4. Untuk Jenis pendaftaran aplikasi, Anda dapat memilih untuk Memilih pendaftaran aplikasi yang ada di direktori ini yang akan secara otomatis mengumpulkan informasi aplikasi yang diperlukan. Jika pendaftaran Anda berasal dari penyewa lain atau Anda tidak memiliki izin untuk melihat objek pendaftaran, pilih Berikan detail pendaftaran aplikasi yang sudah ada. Untuk opsi ini, Anda harus mengisi detail konfigurasi berikut:

    Bidang Deskripsi
    ID (klien) Aplikasi Gunakan ID Aplikasi (klien) pendaftaran aplikasi.
    Rahasia Klien Gunakan rahasia klien yang Anda buat di pendaftaran aplikasi. Dengan rahasia klien, aliran hibrid digunakan dan App Service akan menampilkan akses dan me-refresh token. Saat rahasia klien tidak diatur, alur implisit digunakan dan hanya token ID yang ditampilkan. Token ini dikirim oleh penyedia dan disimpan di toko token EasyAuth.
    URL Penerbit Gunakan <authentication-endpoint>/<tenant-id>/v2.0 , dan ganti <authentication-endpoint>/<tenant-id>/v2.0 dengan titik akhir < (misalnya, https://login.microsoftonline.com" "; untuk Azure global), juga mengganti > dengan https://login.microsoftonline.com" di mana pendaftaran aplikasi dibuat. Nilai ini digunakan untuk mengarahkan pengguna ke penyewa Azure AD yang benar, serta mengunduh metadata yang sesuai untuk menentukan kunci penandatanganan token dan nilai klaim penerbit token yang sesuai. Untuk aplikasi yang menggunakan Azure AD v1, /v2.0 hilangkan di URL.
    Audiens Token yang Diizinkan Jika ini adalah aplikasi cloud atau server dan Anda ingin mengizinkan token autentikasi dari aplikasi web, tambahkan URI ID Aplikasi dari aplikasi web di sini. ID Klien yang dikonfigurasi selalu dianggap sebagai audiens yang diizinkan secara implisit.

    Rahasia klien akan disimpan sebagai pengaturan aplikasi slot-sticky bernama . Anda dapat memperbarui pengaturan tersebut nanti untuk menggunakan referensi Key Vault jika Anda ingin mengelola rahasia di Azure Key Vault.

  5. Jika ini adalah penyedia identitas pertama yang dikonfigurasi untuk aplikasi, Anda juga akan diminta dengan bagian pengaturan autentikasi App Service. Jika tidak, Anda boleh melanjutkan ke langkah berikutnya.

    Opsi ini menentukan bagaimana aplikasi Anda merespons permintaan yang tidak diautentikasi, dan pilihan default akan mengalihkan semua permintaan untuk masuk dengan penyedia baru ini. Anda dapat mengubah kustomisasi perilaku ini sekarang atau menyesuaikan pengaturan ini nanti dari layar Autentikasi dengan memilih Edit di samping Pengaturan autentikasi. Untuk mempelajari selengkapnya tentang opsi ini, lihat Alur autentikasi.

  6. Klik Tambahkan.

Kini Anda siap menggunakan platform identitas Microsoft untuk autentikasi di aplikasi Anda. Penyedia akan dicantumkan pada layar Autentikasi. Dari sana, Anda dapat mengedit atau menghapus konfigurasi penyedia ini.

Mengonfigurasi aplikasi klien untuk mengakses App Service Anda

Di bagian sebelumnya, Anda mendaftarkan App Service atau Azure Function untuk mengautentikasi pengguna. Bagian ini menjelaskan cara mendaftarkan aplikasi klien asli atau daemon sehingga mereka dapat meminta akses ke API yang diekspos oleh App Service Anda atas nama pengguna atau diri mereka sendiri. Menyelesaikan langkah di bagian ini tidak diperlukan jika Anda hanya ingin mengautentikasi pengguna.

Aplikasi klien asli

Anda dapat mendaftarkan klien asli untuk meminta akses API aplikasi App Service Anda atas nama pengguna yang login.

  1. Di portal Azure, pilih Pendaftaran Aplikasi Direktori AktifPendaftaran baru.

  2. Di halaman Daftarkan aplikasi, masukkan Nama untuk pendaftaran aplikasi Anda.

  3. Di Redirect URI,pilih Klien publik (desktop seluler) dan ketik URL. Contohnya:https://contoso.azurewebsites.net/.auth/login/aad/callback

    Catatan

    Untuk aplikasi Microsoft Store, gunakan paket SID sebagai URI sebagai gantinya.

  4. Pilih Buat.

  5. Setelah pendaftaran aplikasi dibuat, salin nilai ID Aplikasi (klien) .

  6. Pilih izin APITambahkan izinAPI Saya.

  7. Pilih pendaftaran aplikasi yang Anda buat sebelumnya untuk aplikasi App Service Anda. Jika Anda tidak melihat pendaftaran aplikasi, pastikan Anda telah menambahkan lingkup user_impersonation di Membuat pendaftaran aplikasi di Azure AD untuk aplikasi App Service Anda.

  8. Di bawah Izin yang didelegasikan, pilih user_impersonation, lalu pilih Tambahkan izin.

Kini Anda telah mengonfigurasi aplikasi klien asli yang dapat meminta akses aplikasi Layanan Aplikasi atas nama pengguna.

Aplikasi klien Daemon (panggilan layanan ke layanan)

Aplikasi Anda dapat memperoleh token untuk memanggil API Web yang dihosting di aplikasi App Service atau Function atas nama dirinya sendiri (bukan atas nama pengguna). Skenario ini berguna untuk aplikasi daemon non-interaktif yang melakukan tugas tanpa pengguna yang masuk. Ini menggunakan pemberian informasi masuk klien OAuth 2.0 standar.

  1. Di portal Azure, pilih Pendaftaran Aplikasi Direktori AktifPendaftaran baru.
  2. Di halaman Daftarkan aplikasi, masukkan Nama untuk pendaftaran aplikasi daemon Anda.
  3. Untuk aplikasi daemon, Anda tidak memerlukan URI Pengalihan sehingga Anda dapat menyimpannya tetap kosong.
  4. Pilih Buat.
  5. Setelah pendaftaran aplikasi dibuat, salin nilai ID Aplikasi (klien) .
  6. Pilih Rahasia Sertifikat Rahasiaklien >>>>. Salin nilai rahasia klien yang diperlihatkan di halaman. Nilai tersebut tidak akan ditampilkan lagi.

Anda sekarang dapat meminta token akses menggunakan ID klien dan rahasia klien dengan mengatur parameter ke ID Aplikasi URI dari aplikasi target. Token akses yang dihasilkan kemudian dapat disajikan ke aplikasi target menggunakan header Otorisasi OAuth 2.0 standar, dan Otentikasi/Otorisasi App Service akan memvalidasi dan menggunakan token seperti biasa hingga sekarang menunjukkan bahwa penelepon (aplikasi dalam hal ini, bukan pengguna) diautentikasi.

Saat ini, ini memungkinkan aplikasi klien apa pun di penyewa Azure AD Anda untuk meminta token akses dan mengautentikasi ke aplikasi target. Jika Anda juga ingin memberlakukan otorisasi untuk hanya mengizinkan aplikasi klien tertentu, Anda harus melakukan beberapa konfigurasi tambahan.

  1. Tentukan Peran Aplikasi dalam manifes pendaftaran aplikasi yang mewakili aplikasi App Service atau Function yang ingin Anda lindungi.
  2. Pada pendaftaran aplikasi yang mewakili klien yang perlu diberi wewenang, pilih izin APITambahkan izinAPI Saya.
  3. Pilih pendaftaran aplikasi yang Anda buat sebelumnya. Jika Anda tidak melihat pendaftaran aplikasi, pastikan Anda telah menambahkan Peran Aplikasi.
  4. Di bawah Izin aplikasi, pilih Peran Aplikasi yang Anda buat sebelumnya, lalu pilih Tambahkan izin.
  5. Pastikan untuk mengklik Beri persetujuan admin untuk memberi otorisasi aplikasi klien untuk meminta izin.
  6. Mirip dengan skenario sebelumnya (sebelum peran apa pun ditambahkan), Anda sekarang dapat meminta token akses untuk target yang sama, dan token akses akan menyertakan klaim yang roles berisi Peran Aplikasi yang diizinkan untuk aplikasi klien.
  7. Dalam kode aplikasi App Service atau Function target, Anda sekarang dapat memvalidasi bahwa peran yang diharapkan ada dalam token (ini tidak dilakukan oleh Autentikasi/Otorisasi App Service). Untuk informasi selengkapnya, lihat Mengakses klaim pengguna.

Kini Anda telah mengonfigurasi aplikasi klien daemon yang dapat mengakses aplikasi App Service menggunakan identitasnya sendiri.

Praktik terbaik

Terlepas dari konfigurasi yang Anda gunakan untuk menyiapkan autentikasi, praktik terbaik berikut akan membuat penyewa dan aplikasi Anda lebih aman:

  • Berikan setiap aplikasi App Service izin dan persetujuannya sendiri.
  • Konfigurasikan setiap aplikasi App Service dengan pendaftarannya sendiri.
  • Hindari berbagi izin antar lingkungan dengan menggunakan pendaftaran aplikasi terpisah untuk slot penyebaran terpisah. Saat menguji kode baru, praktik ini dapat membantu mencegah masalah memengaruhi aplikasi produksi.

Langkah berikutnya