Autentikasi dan Otorisasi dengan Entra ID

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Konsep dasar OAuth

Integrasi Entra ID - APIM

Azure API Management

Mengapa menggunakan identity provider

Analogi valet mobil

  • Anggap IdP seperti valet mobil
  • Mobil Anda punya barang berharga di laci (data sensitif)
  • Anda memberi valet kunci valet khusus
    • hanya untuk memarkir, tidak untuk mengakses barang berharga
  • Demikian juga, IdP mengelola keamanan aplikasi tetapi tidak bisa mengakses data sensitif di dalam aplikasi
  • Contoh: Entra ID bertindak sebagai IdP, dan API Manager sebagai klien
Azure API Management

Mendaftarkan aplikasi Entra ID

  • Entra ID ada di Azure Portal
  • Akses kontributor berprivileg tinggi diperlukan untuk mengelolanya
  • Untuk menerapkan OAuth, tambahkan entitas baru di App Registration
  • Setiap registrasi perlu nama khusus dan URL pengalihan (redirect) yang valid
  • Untuk APIM, URL pengalihan adalah alamat instance APIM
  • Ini memastikan Entra ID mengarahkan kembali permintaan ke APIM setelah login

Pendaftaran aplikasi Entra ID

Azure API Management

Mengambil informasi klien

Informasi klien Entra ID

  • Client ID dan Tenant ID

    • Membentuk alamat publik aplikasi
    • Dipakai kode untuk memberi tahu Entra ID "siapa" aplikasinya
  • Client Secret

    • Berperan sebagai kata sandi aplikasi
    • Disajikan oleh kode untuk membuktikan identitas
    • Harus selalu disimpan aman dan jangan pernah diekspos di kode sisi klien
Azure API Management

Mendapatkan URL Endpoint

  • Dapatkan URL endpoint IdP sebelum menghubungkan klien ke IdP

    • Di Entra ID, klik Endpoints pada halaman Overview pendaftaran aplikasi
    • Salin endpoint OAuth 2.0 authorization dan token
  • Authorization Endpoint

    • Tempat kode mengarahkan pengguna untuk masuk
  • Token Endpoint

    • Backend menukar authorization code dengan access token

Alur autentikasi Entra ID

Azure API Management

Menghubungkan APIM ke Entra ID

Koneksi OAuth dan OIDC di APIM

  • Di APIM, buka OAuth 2.0 + OpenID Connect di bawah APIs

    • Definisikan authorization server baru
  • Konfigurasikan server dengan:

    • Authorization dan token endpoints
    • Client ID dan Client Secret
    • Scope yang diekspos oleh API Anda
Azure API Management

Ayo berlatih!

Azure API Management

Preparing Video For Download...