Single sign-on menjawab pertanyaan autentikasi: apakah Microsoft telah memverifikasi pengguna ini sesuai kebijakan organisasi? Ini tidak menjawab setiap pertanyaan otorisasi di dalam Odoo.

Pengguna yang telah diautentikasi mungkin memerlukan akses ke penjualan tetapi bukan akuntansi, proyek tetapi bukan penggajian, atau portal pelanggan tetapi bukan antarmuka internal. Keputusan tersebut tetap menjadi tanggung jawab Odoo. Grup Microsoft Entra dan app role dapat menyediakan input tepercaya agar keputusan itu lebih konsisten.

Grup dan app role memiliki tujuan yang berbeda

Grup Microsoft Entra berada di dalam tenant. Grup ini dapat merepresentasikan departemen, fungsi pekerjaan, proyek, atau batas keamanan. App role berada pada app registration tertentu dan menjelaskan peran yang bermakna bagi aplikasi tersebut.

Dokumentasi app-role Microsoft menjelaskan bahwa app role dapat ditetapkan ke pengguna atau grup. Saat pengguna yang ditetapkan masuk, Entra dapat menyertakan peran yang diberikan dalam claim roles. Microsoft juga menyatakan bahwa app role dan grup tidak saling eksklusif.

Ini memberi desain akses Odoo dua pola utama:

  • Petakan Object ID grup keamanan Entra yang stabil langsung ke grup Odoo yang dipilih.
  • Definisikan app role yang berfokus pada Odoo di aplikasi Entra, tetapkan pengguna atau grup ke peran tersebut, lalu petakan nilai role yang dihasilkan ke grup Odoo.

Pemetaan langsung bekerja baik dengan grup keamanan yang dikelola. App role dapat memberikan batas aplikasi yang lebih bersih karena tujuannya melekat pada app registration, bukan bergantung pada nama khusus tenant.

Mulailah dari model akses Odoo yang sebenarnya

Jangan mulai dengan menyalin setiap grup Microsoft ke Odoo. Mulailah dari izin Odoo yang benar-benar dibutuhkan bisnis.

Daftarkan grup Odoo yang memberikan kemampuan penting. Untuk setiap grup, dokumentasikan:

  • Tujuan bisnis dari akses tersebut.
  • Pihak yang bertanggung jawab menyetujuinya.
  • Grup Entra atau app role yang merepresentasikan persetujuan.
  • Seberapa cepat perubahan harus masuk ke Odoo dan apa yang terjadi pada sesi aktif setelah penghapusan.

Gunakan prinsip least privilege. Grup departemen yang luas mungkin praktis, tetapi dapat memberikan akses Odoo lebih banyak daripada yang dibutuhkan setiap anggota. Grup keamanan atau app role yang lebih kecil dan khusus untuk Odoo sering lebih mudah diaudit.

Perlakukan pengikatan identitas sebagai kontrol keamanan

Banyak sistem awalnya mencocokkan akun yang sudah ada menggunakan alamat email. Ini praktis, terutama saat Odoo dan Microsoft sudah menggunakan email perusahaan yang sama. Namun ini bukan kunci identitas yang tahan lama.

Microsoft memperingatkan dalam referensi klaim ID token bahwa alamat email, nomor telepon, dan user principal name dapat berubah dan dapat digunakan ulang. Microsoft merekomendasikan klaim yang tidak dapat diubah seperti sub atau oid, dengan tid bila konteks tenant diperlukan, untuk identifikasi yang andal.

Pola yang lebih aman adalah:

  1. Hanya izinkan tenant yang diharapkan dan audience yang disetujui.
  2. Gunakan email untuk pencocokan awal yang terkontrol bila sesuai.
  3. Tolak pencocokan yang ambigu atau duplikat.
  4. Simpan identitas Microsoft yang tidak dapat diubah dan pengenal tenant setelah penautan.
  5. Gunakan nilai yang tidak dapat diubah itu untuk login berikutnya.

Untuk akses multi-tenant, konteks tenant sangat penting. Orang yang sama dapat memiliki object identifier yang berbeda di tenant yang berbeda, dan akses dari satu tenant tidak boleh diam-diam mewarisi izin yang terkait dengan tenant lain.

Pahami kasus kelebihan claim grup

Claim grup memang praktis, tetapi tidak tak terbatas. Microsoft mendokumentasikan batas 200 Object ID grup dalam JWT. Saat keanggotaan pengguna melebihi batas, Entra tidak menyertakan daftar grup normal dan mengembalikan indikator overage yang mengarahkan aplikasi untuk menanyakan Microsoft Graph. Lihat panduan group overage.

Ini penting jika integrasi mengiklankan pemetaan grup tanpa izin Microsoft Graph API yang lebih tinggi. Pengguna dengan keanggotaan grup yang luas mungkin tidak menerima set claim grup yang diharapkan.

Sebelum mengandalkan pemetaan grup langsung, pastikan bagaimana overage ditangani. Opsi mencakup grup yang lebih kecil dan spesifik aplikasi, app role, penyaringan claim, atau pencarian berbasis Graph dengan consent least privilege.

Sinkronisasi saat login bukan provisioning real-time

Modul SSO dapat membandingkan claim Entra saat ini dengan pemetaan Odoo yang dikonfigurasi ketika pengguna masuk. Itu berguna karena akses dapat diselaraskan selama peristiwa autentikasi normal.

Itu tidak sama dengan provisioning berkelanjutan. Jika seorang karyawan dihapus dari grup Entra saat sesi Odoo masih aktif, sesi itu mungkin tetap berjalan sampai logout, masa berlaku habis, atau kontrol pencabutan lain berlaku. Jika mantan karyawan tidak pernah masuk lagi, proses sinkronisasi saat login itu sendiri tidak mengarsipkan akun Odoo.

Microsoft Entra ID Governance menyediakan Lifecycle Workflows untuk proses joiner, mover, dan leaver, termasuk menonaktifkan akun dan menghapus penetapan akses. Lihat panduan Lifecycle Workflows. Kemampuan ini memerlukan lisensi Microsoft Entra ID Governance atau Microsoft Entra Suite.

Otomatisasi siklus hidup dapat memperbaiki status identitas sumber, tetapi tetap tidak memperbarui Odoo kecuali ada integrasi yang mengonsumsi perubahan tersebut. Prosedur offboarding Anda harus secara eksplisit mencakup pencabutan sesi Odoo dan status akun.

Bangun model pemetaan yang dapat diaudit

Jaga agar jumlah pemetaan tetap mudah dipahami. Untuk setiap grup atau role, gunakan pengenal yang stabil dan deskripsi yang mudah dibaca manusia. Catat mengapa akses Odoo terkait ada, siapa yang menyetujuinya, dan kapan terakhir ditinjau.

Uji setidaknya kasus berikut:

  • Pengguna yang sudah ada dengan satu pemetaan yang diharapkan.
  • Pengguna tanpa pemetaan yang disetujui atau dengan tenant yang tidak diizinkan.
  • Pengguna baru yang diizinkan untuk login pertama.
  • Pengguna yang dihapus dari grup yang dipetakan atau memiliki banyak keanggotaan grup.
  • Pengguna yang telah diganti namanya, yang identitas imutabelnya tidak berubah.
  • Akun Microsoft yang dinonaktifkan dengan sesi Odoo yang sudah ada.

Peristiwa masuk harus membantu administrator mendiagnosis hasil klaim dan pemetaan tanpa mengekspos token, kredensial, atau rahasia. Log harus mengidentifikasi koneksi dan hasil, tetapi nilai sensitif harus disamarkan.

Gabungkan pemetaan dengan kebijakan autentikasi

Kontrol pemetaan grup dan peran mengatur otorisasi Odoo. Microsoft Entra Conditional Access mengontrol apakah Microsoft akan menyelesaikan autentikasi dalam kondisi saat ini. Kedua lapisan ini saling melengkapi.

Misalnya, peran aplikasi Entra dapat dipetakan ke grup keuangan Odoo, sementara Conditional Access mengharuskan kekuatan autentikasi yang tahan phishing untuk pengguna yang ditetapkan ke peran tersebut. Baca bagaimana Microsoft Entra Conditional Access memperkuat masuk ke Odoo untuk sisi kebijakan autentikasi.

Untuk pelanggan dan mitra, jangan secara otomatis menggunakan kembali pemetaan karyawan. Desain terpisah untuk audiens dan berorientasi portal mungkin lebih aman. Lihat Microsoft Entra External ID untuk pelanggan dan mitra Odoo.

Petakan akses Microsoft yang disetujui ke dalam Odoo 19

Modul Microsoft Entra SSO for Odoo module mendukung pemetaan Object ID grup keamanan Entra yang dikonfigurasi atau peran aplikasi ke grup akses Odoo yang dipilih. Modul ini dapat menyinkronkan pemetaan tersebut saat masuk, menautkan akun yang sudah ada yang dikendalikan, dan membuat pengguna workforce atau portal yang disetujui sesuai jenis koneksi.

Modul ini tidak menggantikan tata kelola akses, pencabutan sesi, atau strategi kelebihan yang terdokumentasi. Tinjau skala grup Anda, persyaratan pengikatan identitas, dan model izin Odoo sebelum mengaktifkan pemetaan. Jika fondasi tersebut sudah jelas, modul ini menyediakan cara terpandu untuk menghubungkannya.