Panduan ID Microsoft Entra untuk pengembang perangkat lunak independen

MICROSOFT Entra ID adalah layanan manajemen identitas dan akses berbasis cloud yang memungkinkan karyawan mengakses sumber daya. Analis industri secara konsisten mengenali ID Microsoft Entra sebagai pemimpin. Ini telah tujuh kali menjadi Pemimpin di Gartner Magic Quadrant untuk Manajemen Akses. KuppingerCole menilai ID Microsoft Entra sebagai positif di semua dimensi dalam manajemen akses. Frost & Sullivan menobatkan Microsoft sebagai Perusahaan Terbaik Tahun 2022 di industri Manajemen Identitas dan Akses Global. Baca cerita tentang beberapa dari lebih dari 300.000 organisasi yang menggunakan ID Microsoft Entra.

Artikel ini adalah yang pertama dalam seri tentang bagaimana pengembang perangkat lunak independen (ISV) dapat membangun dan mengoptimalkan aplikasi untuk ID Microsoft Entra. Dalam seri ini, Anda dapat mempelajari lebih lanjut tentang topik-topik ini:

  • Mendirikan aplikasi dalam ekosistem Microsoft Entra ID menjelaskan cara menggunakan Pusat Admin Microsoft Entra atau Antarmuka Pemrograman Aplikasi (API) Microsoft Graph untuk mendaftarkan aplikasi dalam penyewa Microsoft Entra ID.
  • Mengautentikasi aplikasi dan pengguna menjelaskan cara aplikasi menggunakan ID Microsoft Entra untuk mengautentikasi pengguna dan aplikasi.
  • Mengotorisasi aplikasi, sumber daya, dan beban kerja menggambarkan otorisasi ketika manusia berinteraksi dengan dan mengarahkan aplikasi. Dalam skenario ini, API bertindak untuk pengguna, dan ketika aplikasi atau layanan bekerja secara independen.
  • Menyesuaikan token membantu Anda membangun keamanan ke dalam aplikasi dengan token ID dan token akses dari ID Microsoft Entra. Ini menjelaskan informasi yang dapat Anda terima di token ID Microsoft Entra dan bagaimana Anda dapat menyesuaikannya.

Mengembangkan dengan platform identitas Microsoft

Aplikasi adalah inti dari ID Microsoft Entra. Saat pengguna mengakses sumber daya, mereka mengakses sumber daya tersebut dengan aplikasi. platform identitas Microsoft terdiri dari alat dan layanan yang memungkinkan pengembang membangun id Microsoft Entra. platform identitas Microsoft dimulai dengan MICROSOFT Entra ID, layanan cloud yang menyediakan operasi seperti masuk, keluar, dan pendaftaran aplikasi yang diperlukan aplikasi. Platform identitas Microsoft menggabungkan Microsoft Authentication Libraries (MSAL) sumber terbuka dalam berbagai bahasa dan kerangka kerja serta Microsoft Graph yang menyediakan API untuk mengakses data dan operasi di Microsoft Entra ID.

Untuk pengembang, platform identitas Microsoft menyertakan fitur berikut.

  • Mengautentikasi pengguna, mengotorisasi aplikasi, menghasilkan token API.
  • Sederhanakan integrasi fitur keamanan langsung dengan Microsoft Authentication Library (MSAL), atau melalui API tingkat yang lebih tinggi seperti Microsoft.Identity.Web, atau Azure.Identity.
  • Alih-alih menerapkan OAuth 2.0 dari awal, gunakan MSAL untuk mengabstraksi kompleksitas dengan API kuat yang menghapus toil pengembang.
  • Pastikan aplikasi mengikuti praktik terbaik untuk keamanan sesuai dengan standar dan protokol industri seperti OAuth 2.0.
  • Menyatukan cerita autentikasi di seluruh aplikasi dan pengalaman dengan dukungan akses menyeluruh (SSO).
  • Menyederhanakan integrasi identitas sosial dengan MICROSOFT External ID.
  • Mengamankan data dan aset dengan kode infrastruktur minimal dan dukungan bawaan untuk kemampuan Microsoft Entra ID seperti Akses Bersyarat (CA), Evaluasi Akses Berkelanjutan (CAE), Microsoft Entra ID Protection, dan manajemen perangkat.
  • Bangun aplikasi yang melindungi token autentikasi dengan aman sambil memastikan penerapan kepatuhan perangkat dan kebijakan. Mengandalkan dukungan untuk autentikasi dengan broker modern seperti Microsoft Authenticator atau komponen sistem operasi bawaan seperti Web Account Manager (WAM) di Windows.

Mengintegrasikan aplikasi dengan Microsoft Entra ID

Aplikasi yang terintegrasi dengan identitas pengguna, layanan, atau grup ID Microsoft Entra berinteraksi dengan penyewa ID Microsoft Entra. Instans khusus Microsoft Entra ID yang disebut "tenant" biasanya mewakili organisasi atau grup dalam perusahaan yang lebih besar. Penyewa memegang direktori organisasi, menyimpan objek seperti akun kantor atau sekolah, atau akun mitra yang diundang. Grup, aplikasi, perangkat, dan objek lainnya juga disimpan. Penyewa menyediakan titik akhir web yang digunakan aplikasi untuk melakukan operasi, seperti autentikasi.

Aplikasi membuat permintaan ke titik akhir penyewa untuk mendapatkan token yang mengidentifikasi pengguna atau API sumber daya tersebut dapat digunakan untuk mengotorisasi akses sumber daya. Identitas aplikasi dalam ID Microsoft Entra memungkinkan aplikasi untuk meminta token dari penyewa ID Microsoft Entra sambil memberi pengguna tingkat konteks yang tepat tentang siapa yang mencoba mengautentikasinya.

Meskipun sebagian besar perusahaan hanya memerlukan satu penyewa ID Microsoft Entra, skenario mungkin mengharuskan organisasi memiliki beberapa penyewa untuk memenuhi tujuan bisnis mereka. Perusahaan besar dapat mencakup beberapa unit bisnis independen yang dapat memerlukan koordinasi dan kolaborasi di seluruh perusahaan. Kota-kota di suatu wilayah atau sekolah di suatu distrik mungkin memiliki persyaratan yang sama. Dalam skenario ini, setiap unit dapat memiliki penyewanya sendiri dengan konfigurasi dan kebijakannya sendiri. Karena Microsoft Entra ID cloud menghosting penyewa, organisasi dapat menyiapkan kolaborasi lintas penyewa dengan friksi minimal.

MICROSOFT Entra ID mendukung hal berikut di antara berbagai protokol.

  • OAuth 2.0 adalah standar industri untuk otorisasi. Aplikasi meminta token akses dengan protokol OAuth 2.0 untuk mendapatkan otorisasi bagi aplikasi untuk mengakses sumber daya yang dilindungi.
  • OpenID Connect (OIDC) adalah standar autentikasi yang dapat dioperasikan yang dibangun di atas OAuth 2.0. Aplikasi meminta token ID dengan protokol OIDC untuk mengautentikasi pengguna saat ini.
  • Security Assertion Markup Language (SAML) 2.0 adalah standar autentikasi. Aplikasi meminta pernyataan SAML, juga disebut sebagai token SAML, dari ID Microsoft Entra untuk bertukar data autentikasi dan otorisasi antara aplikasi dan ID Microsoft Entra. Aplikasi menggunakan SAML untuk mengautentikasi pengguna saat ini.
  • System for Cross-Domain Identity Management (SCIM) bukan untuk autentikasi dan otorisasi. SCIM adalah protokol provisi yang mengotomatiskan sinkronisasi informasi pengguna dan grup antara ID Microsoft Entra dan menghubungkan aplikasi. Sinkronisasi memprovisikan pengguna dan grup ke aplikasi.

Operasi inti yang dilakukan aplikasi dengan ID Microsoft Entra meminta dan memproses token. Di masa lalu, meminta pengguna mengidentifikasi diri mereka dengan nama pengguna dan kata sandi sering kali cukup bagi penyedia identitas seperti ID Microsoft Entra untuk mengeluarkan token ke aplikasi. Token ini menjawab pertanyaan, "Siapa pengguna dan apa yang dapat diakses aplikasi?" Saat ini, pendekatan yang lebih aman untuk memverifikasi akun identitas untuk lebih banyak sinyal adalah:

  • Siapa penggunanya?
  • Apa yang dapat diakses aplikasi?
    • Dari perangkat apa?
    • Seberapa kuat kredensial tersebut?
    • Dari lokasi jaringan apa?

Pelanggan ID Microsoft Entra dapat menggunakan fitur seperti Akses Bersyarat untuk menentukan pertanyaan atau kondisi mana yang ingin mereka evaluasi untuk memastikan akses sumber daya yang aman.

Pengembang yang membangun aplikasi yang memerlukan penanganan identitas pengguna tidak perlu menulis kode untuk memperhitungkan kompleksitas ini dalam mengeluarkan token. Kemampuan MSAL bawaan memungkinkan pemrosesan permintaan autentikasi. Dengan Akses Bersyarat diaktifkan, saat aplikasi meminta token, ID Microsoft Entra memastikan penegakan kebijakan. Ini memverifikasi permintaan terhadap kebijakan seperti lokasi pengguna (misalnya, apakah mereka berada di dalam jaringan perusahaan) atau mengevaluasi sinyal risiko untuk pengguna. Evaluasi risiko pengguna mungkin memerlukan lebih banyak interaksi pengguna seperti autentikasi multifaktor (MFA). Setelah MICROSOFT Entra ID memverifikasi kepatuhan terhadap batasan kebijakan, id tersebut mengeluarkan token. Ketika tidak dapat memverifikasi kepatuhan, ID Microsoft Entra tidak mengeluarkan token ke aplikasi dan memberi pengguna konteks mengapa mereka tidak dapat mengakses sumber daya.

Kebijakan Akses Bersyarat sekarang lebih canggih. Ada serangkaian sinyal yang luas yang menentukan apakah pengguna atau layanan harus menerima token. Misalnya, mungkin penting untuk menentukan apakah perangkat seluler menggunakan Mobile Application Management (MAM), apakah Intune mengelola PC Windows dari dalam aplikasi desktop. Atau, Anda mungkin perlu melindungi token dengan mengikatnya ke perangkat asal permintaan. Ketekunan ini membantu memastikan kepatuhan dan keamanan dengan sedikit gesekan untuk pengembang. Pustaka Microsoft menawarkan perancah yang diperlukan sambil mempertahankan fleksibilitas dalam merespons persyaratan kebijakan tertentu.

Mengautentikasi dan mengotorisasi dengan ID Microsoft Entra

MICROSOFT Entra ID mendukung alur autentikasi dan otorisasi di dalam browser untuk mengamankan aset berbasis web (seperti situs web dan API) dan pada platform klien seperti Windows, macOS, Linux, iOS, dan Android. Penyedia teknologi di seluruh ekosistem terlibat dengan Microsoft untuk memastikan bahwa pelanggan, organisasi, dan mitra mereka memiliki pengalaman penanganan kredensial yang mulus. Microsoft Edge bekerja langsung dengan MICROSOFT Entra ID untuk mendukung SSO di seluruh perangkat untuk mengautentikasi pengguna di perangkat Windows mereka. Google Chrome (versi 111) dan Firefox (versi 91) memiliki fungsionalitas ini. Aplikasi web yang menggunakan identitas ID Microsoft Entra secara otomatis menggunakan fitur-fitur ini di aplikasi berbasis browser mereka untuk menawarkan pengalaman masuk yang mulus bagi pelanggan.

Untuk memungkinkan aplikasi asli memberikan pengalaman SSO terpadu ini, Microsoft Entra memperkenalkan broker autentikasi, aplikasi yang berjalan di perangkat pengguna untuk mengelola jabat tangan autentikasi dan memelihara token untuk akun yang terhubung. Tabel berikut mencantumkan broker autentikasi untuk sistem operasi umum.

Sistem Operasi Broker Autentikasi
Ios Aplikasi Microsoft Authenticator
Android Aplikasi Microsoft Authenticator atau aplikasi Intune Company Portal
Windows Manajer Akun Web bawaan sistem operasi tersedia di Windows 10, Windows Server 2019 dan versi lebih baru, Windows 11

Dengan broker autentikasi, pengembang aplikasi asli dapat menggunakan kemampuan ID Microsoft Entra baru seperti kebijakan Akses Bersyarkat berbasis perangkat, tanpa harus menulis ulang kode saat fitur baru tersedia di cloud. Aplikasi yang tidak menggunakan broker autentikasi mungkin melihat adopsi aplikasi terbatas oleh pelanggan ID Microsoft Entra yang memerlukan fitur tersebut.

Mendelegasikan manajemen identitas dan akses ke ID Microsoft Entra

Anda dapat membangun aplikasi yang mendelegasikan manajemen identitas dan akses ke ID Microsoft Entra menggunakan alat pengembang, pustaka, atau kerangka kerja apa pun yang mengimplementasikan OAuth 2.0, OIDC, atau SAML dengan peringatan yang dibahas sebelumnya. Banyak implementasi OIDC dengan Sertifikasi OpenID untuk satu atau beberapa profil sertifikasi, termasuk profil autentikasi, memerlukan konfigurasi tambahan minimal untuk bekerja dengan ID Microsoft Entra. Untuk memudahkan pengembangan di platform Microsoft Entra ID, beberapa pustaka Microsoft yang dioptimalkan dapat bekerja dengan layanan dan kemampuan Microsoft.

  • Saat Anda membuat aplikasi web, API, atau beban kerja lainnya (seperti daemon atau layanan di ASP.NET Core atau ASP.NET), gunakan Microsoft Identity Web.
  • Jika Anda membangun di Microsoft Azure, gunakan Azure SDK yang menyertakan pustaka klien Azure Identity.
  • Saat Anda tidak dapat menggunakan salah satu pustaka ini, gunakan MSAL untuk lingkungan pengembangan Anda seperti yang diperlihatkan dalam tabel berikut.
Pustaka Platform dan kerangka kerja yang didukung
MSAL untuk Android Android
MSAL Angular Aplikasi halaman tunggal dengan kerangka kerja Angular dan Angular.js
MSAL Objective-C iOS, iPadOS, macOS
MSAL Go Windows, macOS, Linux
MSAL Java Windows, macOS, Linux
MSAL.js Kerangka kerja JavaScript/TypeScript seperti Vue.js, Ember.js, atau Durandal.js
MSAL.NET .NET, .NET Framework, .NET untuk Android, .NET untuk tvOS
MSAL Node Aplikasi web dengan Express, aplikasi desktop dengan Electron, aplikasi konsol lintas platform
MSAL Python Windows, macOS, Linux
Reaksi MSAL Aplikasi halaman tunggal dengan React dan pustaka berbasis React (Next.js, Gatsby.js)

Pustaka keluarga MSAL menyediakan fungsi inti untuk akuisisi dan penembolokan token. Dibangun di atas klien MSAL, Microsoft Identity Web, dan klien Azure Identity, kemampuan pustaka autentikasi menyederhanakan akuisisi token.

Jika memungkinkan, kami menyarankan ISV membangun di atas MSAL atau menggunakan pustaka yang dibangun di atas MSAL. MSAL mendukung autentikasi yang diperantarai, skenario Akses Bersyarat, perlindungan token, kebijakan perlindungan aplikasi Microsoft Intune dan manajemen aplikasi seluler, Evaluasi Akses Berkelanjutan Microsoft, dan banyak lagi.

Di semua platform yang tersedia, kerangka kerja autentikasi MSAL terpadu terintegrasi dengan mulus dengan platform identitas Microsoft untuk autentikasi pengguna yang konsisten dan aman. Karena MSAL mengabstraksi kompleksitas di sekitar pembaruan proaktif, penyimpanan dalam cache, dan pencabutan token, pengembang dapat memastikan bahwa alur autentikasi aman, tangguh, dan andal.

Mengakses sumber daya lain

Aplikasi sering membutuhkan lebih dari autentikasi dan otorisasi (seperti akses ke data direktori penyewa). Akses dapat mencakup mendapatkan atribut pengguna, grup, anggota grup, aplikasi, dan tata kelola.

Microsoft Graph menyediakan akses ke identitas dan akses penyewa, pengguna, grup, dan aplikasi. Microsoft Graph adalah gateway ke data dan kecerdasan di Microsoft 365. Anda dapat menggunakan model keterprograman terpadunya untuk mengakses jumlah data yang luar biasa di Microsoft 365, Windows, dan Enterprise Mobility + Security (EMS).

Langkah berikutnya

  • Membuat aplikasi di ekosistem ID Microsoft Entra menjelaskan cara menggunakan pusat admin Microsoft Entra atau Microsoft Graph API untuk mendaftarkan aplikasi di penyewa ID Microsoft Entra.
  • Mengautentikasi aplikasi dan pengguna menjelaskan cara aplikasi menggunakan ID Microsoft Entra untuk mengautentikasi pengguna dan aplikasi.
  • Mengotorisasi aplikasi, sumber daya, dan beban kerja membahas otorisasi ketika seseorang berinteraksi dengan dan mengarahkan aplikasi, ketika API bertindak atas nama pengguna, dan ketika aplikasi atau layanan bekerja secara independen.
  • Menyesuaikan token membantu Anda membangun keamanan ke dalam aplikasi dengan token ID dan token akses dari ID Microsoft Entra. Ini menjelaskan informasi yang dapat Anda terima di token ID Microsoft Entra dan bagaimana Anda dapat menyesuaikannya.