Platform identitas Microsoft

Menerapkan Keamanan Azure untuk Pengembang

Anushika Agarwal

Cloud Data Engineer

Apa itu Microsoft identity platform?

  • Mengelola masuk app dan akses
    • Dibangun di atas Microsoft Entra ID
      • Entra ID = Layanan Identitas Inti
      • Identity Platform = Lapisan Pengembang untuk Aplikasi

Hubungan antara Entra ID dan Microsoft Identity Platform

Menerapkan Keamanan Azure untuk Pengembang

Bagaimana cara kerjanya?

  • Mengautentikasi:
    • Standar:
      1. OAuth 2.0: membatasi apa yang dapat dilakukan app
      2. OpenID Connect: menegaskan siapa Anda
    • Jenis Akun
      • Akun perusahaan/sekolah
      • Akun Microsoft pribadi
      • Akun sosial/lokal

Microsoft Identity Platform

Menerapkan Keamanan Azure untuk Pengembang

Alat utama di Microsoft identity platform

  • MSAL:
    • meminta token untuk app

MSAL

  • Pendaftaran app:
    • menyiapkan identitas app di Azure

Pendaftaran app

  • Microsoft Graph API:
    • mengakses pengguna, grup, dan sumber daya

Microsoft Graph API

Menerapkan Keamanan Azure untuk Pengembang

Pendaftaran app

  • Mendaftarkan app menghubungkannya ke Entra ID

  • Pilih:

    • Single-tenant: app hanya berfungsi di organisasi Anda
    • Multi-tenant: app berfungsi lintas organisasi
  • Otomatis membuat:

    • Application object
    • Service principal
  • Tambahkan secret, sertifikat, scope, dan branding

Pendaftaran Aplikasi

Menerapkan Keamanan Azure untuk Pengembang

Application object

  • Cetak biru untuk app
  • Berada di tenant utama Anda
  • Menentukan autentikasi dan aturan akses

Application Object

Menerapkan Keamanan Azure untuk Pengembang

Contoh: application object di PeopleSphere

  • PeopleSphere membuat app HR di tenant miliknya

Contoh Application Object PeopleSphere

Menerapkan Keamanan Azure untuk Pengembang

Service principal

  • Instans app di setiap tenant
  • Salinan kerja dari kunci asli
  • Setiap pelanggan mendapat service principal di tenant mereka

Service Principal

Menerapkan Keamanan Azure untuk Pengembang

Contoh: service principal di DataCamp

  • Service Principal dibuat di tenant DataCamp

Contoh service principal di DataCamp

Menerapkan Keamanan Azure untuk Pengembang

Jenis service principal

  • Application:
    • Instans app standar

Application

  • Managed Identity:
    • Akses tanpa secret

Managed Identity

  • Legacy:
    • App lama

Legacy

Menerapkan Keamanan Azure untuk Pengembang

Permission

  • App meminta akses menggunakan OAuth 2.0 dan permission scope

  • graph.microsoft.com/Calendars.Read

Contoh scope Calendars.Read.

Cara App Meminta dan Mendapat Akses melalui Microsoft Identity Platform

Menerapkan Keamanan Azure untuk Pengembang

Delegated permission

  • App bertindak atas nama pengguna saat ada pengguna masuk

  • Contoh: PeopleSphere menjadwalkan rapat untuk pengguna DataCamp

Contoh delegated permission PeopleSphere

Menerapkan Keamanan Azure untuk Pengembang

App-only permission

  • App bertindak sebagai dirinya sendiri
  • Tanpa keterlibatan pengguna
  • Contoh: PeopleSphere menyinkronkan data HR tiap malam

Contoh app-only permission PeopleSphere

Menerapkan Keamanan Azure untuk Pengembang

Persetujuan

  • App memerlukan persetujuan untuk mengaktifkan permission scope

  • Jenis Persetujuan:

    • Statik: permission ditetapkan saat pendaftaran
    • Inkremental: ditambah sesuai kebutuhan
    • Admin: wajib untuk akses berhak istimewa tinggi

Persetujuan

Menerapkan Keamanan Azure untuk Pengembang

Ayo berlatih!

Menerapkan Keamanan Azure untuk Pengembang

Preparing Video For Download...