Bagikan melalui


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 adalah Pemimpin tujuh kali di Gartner Magic Quadrant for Access Management. KuppingerCole menilai ID Microsoft Entra sebagai positif di semua dimensi dalam manajemen akses. Frost & Sullivan menamai Microsoft 2022 Company of the Year untuk 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:

  • Membuat aplikasi dalam ekosistem ID Microsoft Entra menjelaskan cara menggunakan pusat admin Microsoft Entra atau Antarmuka Pemrograman Aplikasi (API) Microsoft Graph untuk mendaftarkan aplikasi di 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 saat manusia berinteraksi 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 ID Microsoft Entra.

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 pipa minimal dan dukungan asli untuk kemampuan ID Microsoft Entra seperti Akses Bersyarah (CA), Evaluasi Akses Berkelanjutan (CAE), Perlindungan ID Microsoft Entra, 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. Penyewa adalah instans khusus ID Microsoft Entra yang 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 cloud ID Microsoft Entra menghosting penyewa, organisasi dapat menyiapkan kolaborasi lintas penyewa dengan gesekan 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?
    • Dengan kekuatan kredensial apa?
    • 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.

Karena kebijakan Akses Bersyar 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. Kelayakan ini membantu memastikan kepatuhan dan keamanan dengan gesekan minimal kepada 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 Komponen sistem operasi bawaan Manajer Akun Web tersedia di Windows 10, Windows Server 2019 dan yang 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 platform ID Microsoft Entra, beberapa pustaka Microsoft yang dioptimalkan bekerja dengan layanan Microsoft dan kemampuan.

  • 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
Tujuan MSAL-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)

Keluarga pustaka MSAL menyediakan fungsionalitas akuisisi dan penembolokan token inti. Dibangun di klien MSAL, Microsoft Identity Web, dan Azure Identity, menyederhanakan akuisisi token dengan kemampuan pustaka autentikasi.

Jika memungkinkan, kami menyarankan ISV dibangun di MSAL atau pustaka yang dibangun di atas MSAL. MSAL mendukung autentikasi broker, skenario Akses Bersyariah, 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, penembolokan, dan pencabutan token proaktif, pengembang dapat memastikan bahwa alur autentikasi aman, kuat, 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 manusia 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.