Platform identitas Microsoft

Menerapkan Keamanan Azure untuk Pengembang

Anushika Agarwal

Cloud Data Engineer

Apa itu Microsoft identity platform?

  • Mengelola signin aplikasi dan akses
    • Dibangun di atas Microsoft Entra ID
      • Entra ID = Layanan Identitas inti
      • Identity Platform = Lapisan pengembang untuk aplikasi

Hubungan Entra ID dan Microsoft Identity Platform

Menerapkan Keamanan Azure untuk Pengembang

Bagaimana cara kerjanya?

  • Mengautentikasi:
    • Standar:
      1. OAuth 2.0: membatasi tindakan aplikasi
      2. OpenID Connect: mengonfirmasi identitas Anda
    • Jenis akun
      • Akun perusahaan/sekolah
      • Akun Microsoft personal
      • Akun sosial/lokal

Microsoft Identity Platform

Menerapkan Keamanan Azure untuk Pengembang

Alat utama di Microsoft identity platform

  • MSAL:
    • meminta token untuk aplikasi

MSAL

  • Pendaftaran aplikasi:
    • menyiapkan identitas aplikasi di Azure

App registration

  • Microsoft Graph API:
    • akses pengguna, grup, dan resource

Microsoft Graph API

Menerapkan Keamanan Azure untuk Pengembang

Pendaftaran aplikasi

  • Mendaftarkan aplikasi menghubungkannya ke Entra ID

  • Pilih:

    • Single-tenant: aplikasi hanya untuk organisasi Anda
    • Multi-tenant: aplikasi lintas organisasi
  • Otomatis membuat:

    • Objek aplikasi
    • Service principal
  • Tambahkan secret, sertifikat, scope, dan branding

Pendaftaran Aplikasi

Menerapkan Keamanan Azure untuk Pengembang

Objek aplikasi

  • Blueprint aplikasi
  • Berada di tenant asal Anda
  • Mendefinisikan autentikasi dan aturan akses

Objek Aplikasi

Menerapkan Keamanan Azure untuk Pengembang

Contoh: objek aplikasi di PeopleSphere

  • PeopleSphere membuat aplikasi HR di tenant sendiri

Contoh Objek Aplikasi PeopleSphere

Menerapkan Keamanan Azure untuk Pengembang

Service principal

  • Instans aplikasi di setiap tenant
  • Salinan kerja dari kunci asli
  • Tiap 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 aplikasi standar

Application

  • Managed Identity:
    • akses tanpa secret

Managed Identity

  • Legacy:
    • Aplikasi lama

Legacy

Menerapkan Keamanan Azure untuk Pengembang

Izin

  • Aplikasi meminta akses dengan OAuth 2.0 dan permission scope

  • graph.microsoft.com/Calendars.Read

Contoh scope Calendars.Read.

Cara Aplikasi Meminta dan Mendapat Akses via Microsoft Identity Platform

Menerapkan Keamanan Azure untuk Pengembang

Delegated permissions

  • Aplikasi bertindak atas nama pengguna

  • Memerlukan pengguna masuk

  • Contoh: PeopleSphere menjadwalkan rapat untuk pengguna DataCamp

Contoh izin delegated PeopleSphere

Menerapkan Keamanan Azure untuk Pengembang

App-only permissions

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

Contoh izin app-only PeopleSphere

Menerapkan Keamanan Azure untuk Pengembang

Persetujuan

  • Aplikasi butuh persetujuan untuk mengaktifkan scope izin

  • Jenis persetujuan:

    • Static: izin ditetapkan saat pendaftaran
    • Incremental: ditambah sesuai kebutuhan
    • Admin: wajib untuk akses berprivilege tinggi

Persetujuan

Menerapkan Keamanan Azure untuk Pengembang

Ayo berlatih!

Menerapkan Keamanan Azure untuk Pengembang

Preparing Video For Download...