Microsoft Entra Connect Sync: Memahami Provisi Deklaratif

Topik ini menjelaskan model konfigurasi di Microsoft Entra Koneksi. Model ini disebut Provisi Deklaratif dan memungkinkan Anda membuat perubahan konfigurasi dengan mudah. Banyak hal yang dijelaskan dalam topik ini merupakan lanjutan dan tidak diperlukan untuk sebagian besar skenario pelanggan.

Gambaran Umum

Provisi deklaratif memproses objek yang masuk dari direktori sumber yang terhubung dan menentukan bagaimana objek dan atribut tersebut harus diubah dari sumber menjadi target. Objek diproses dalam alur sinkro dan alur sama untuk aturan masuk dan keluar. Aturan masuk adalah dari ruang konektor ke metaverse dan aturan keluar adalah dari metaverse ke ruang konektor.

Diagram that shows a sync pipeline example.

Alur memiliki beberapa modul yang berbeda. Masing-masing bertanggung jawab untuk satu konsep dalam sinkronisasi objek.

Diagram that shows the modules in the pipeline.

  • Sumber, objek sumber
  • Cakupan, Menemukan semua aturan sinkronisasi yang berada dalam cakupan
  • Gabungan, Menentukan hubungan antara spasi konektor dan metaverse
  • Transformasi, Menghitung bagaimana atribut harus ditransformasi dan mengalir
  • Prioritas, Menyelesaikan kontribusi atribut yang berkonflik
  • Target, Objek target

Cakupan

Modul cakupan mengevaluasi objek dan menentukan aturan yang berada dalam cakupan dan harus dimasukkan dalam pemrosesan. Tergantung nilai atribut pada objek, aturan sinkronisasi yang berbeda dievaluasi untuk berada dalam cakupan. Misalnya, pengguna yang dinonaktifkan tanpa kotak surat Exchange memiliki aturan yang berbeda dari pengguna yang diaktifkan dengan kotak surat.
Diagram that shows the scope module for an object.

Ruang cakupan didefinisikan sebagai grup dan klausa. Klausa berada di dalam grup. Logika AND digunakan di antara semua klausa dalam grup. Misalnya, (departemen =IT AND negara = Denmark). Logika OR digunakan antargrup.

Scope
Ruang cakupan dalam gambar ini harus dibaca sebagai (departemen = IT AND negara = Denmark) OR (negara=Swedia). Jika grup 1 atau grup 2 dievaluasi ke true, maka aturan berada dalam cakupan.

Modul cakupan mendukung operasi berikut.

Operasi Deskripsi
EQUAL, NOTEQUAL Perbandingan string yang mengevaluasi jika nilai sama dengan nilai dalam atribut. Untuk atribut multinilai, lihat ISIN dan ISNOTIN.
LESSTHAN, LESSTHAN_OR_EQUAL Perbandingan string yang mengevaluasi jika nilai kurang dari nilai dalam atribut.
CONTAINS, NOTCONTAINS Perbandingan string yang mengevaluasi apakah nilai dapat ditemukan di suatu tempat di dalam nilai dalam atribut.
STARTSWITH, NOTSTARTSWITH Perbandingan string yang mengevaluasi jika nilai adalah awal dari nilai dalam atribut.
ENDSWITH, NOTENDSWITH Perbandingan string yang mengevaluasi jika nilai adalah akhir dari nilai dalam atribut.
GREATERTHAN, GREATERTHAN_OR_EQUAL Perbandingan string yang mengevaluasi jika nilai lebih besar dari nilai dalam atribut.
ISNULL, ISNOTNULL Mengevaluasi apakah atribut tidak ada dari objek. Jika atribut tidak ada dan karenanya null, maka aturan berada dalam cakupan.
ISIN, ISNOTIN Mengevaluasi apakah nilai ada dalam atribut yang ditentukan. Operasi ini adalah variasi multinilai dari EQUAL dan NOTEQUAL. Atribut ini seharusnya merupakan atribut multinilai dan jika nilai dapat ditemukan di salah satu nilai atribut, maka aturan berada dalam cakupan.
ISBITSET, ISNOTBITSET Mengevaluasi apakah bit tertentu telah ditetapkan. Misalnya, dapat digunakan untuk mengevaluasi bit di userAccountControl untuk melihat apakah pengguna diaktifkan ataukah dinonaktifkan.
ISMEMBEROF, ISNOTMEMBEROF Nilai harus berisi DN ke grup di ruang konektor. Jika objek berupa anggota grup yang ditentukan, aturan berada dalam cakupan.

Bergabung

Modul gabungan dalam alur sinkronisasi bertanggung jawab untuk menemukan hubungan antara objek dalam sumber dan objek dalam target. Pada aturan masuk, hubungan ini akan menjadi objek di ruang konektor yang menemukan hubungan dengan objek dalam metaverse.
Join between cs and mv
Tujuannya adalah untuk melihat apakah ada objek yang sudah ada dalam metaverse, dibuat oleh Konektor lain, harus sudah dikaitkan. Misalnya, di forest sumber daya akun, pengguna dari forest akun harus digabungkan dengan pengguna dari forest sumber daya.

Gabungan digunakan sebagian besar pada aturan masuk untuk menggabungkan objek ruang konektor bersama-sama ke objek metaverse yang sama.

Gabungan didefinisikan sebagai satu atau beberapa grup. Di dalam grup, Anda memiliki klausul. Logika AND digunakan di antara semua klausa dalam grup. Logika OR digunakan antargrup. Grup diproses secara berurutan dari atas ke bawah. Ketika satu grup telah menemukan satu kecocokan dengan objek dalam target, maka tidak ada aturan gabungan lain yang dievaluasi. Jika nol atau lebih dari satu objek ditemukan, pemrosesan berlanjut ke grup aturan berikutnya. Untuk alasan ini, aturan harus dibuat dalam urutan yang paling eksplisit di tempat pertama dan lebih kabur di urutan akhir.
Join definition
Gabungan dalam gambar ini diproses dari atas ke bawah. Pertama, alur sinkronisasi memeriksa apakah ada kecocokan pada employeeID. Jika tidak, aturan kedua melihat apakah nama akun dapat digunakan untuk menggabungkan objek bersama-sama. Jika itu juga bukan kecocokan, aturan ketiga dan terakhir adalah kecocokan yang lebih kabur dengan menggunakan nama pengguna.

Jika semua aturan gabungan telah dievaluasi dan tidak ada kecocokan persis, maka Jenis Tautan pada halaman Deskripsi digunakan. Jika opsi ini diatur ke Provisi, maka objek baru dalam target tersebut dibuat.
Screenshot that shows the

Objek hanya boleh memiliki satu aturan sinkronisasi tunggal dengan aturan gabungan dalam cakupan. Jika ada beberapa aturan sinkronisasi dengan gabungan yang telah ditentukan, maka kesalahan akan terjadi. Prioritas tidak digunakan untuk menyelesaikan konflik gabungan. Objek harus memiliki aturan gabungan dalam cakupan agar atribut dapat mengalir dengan arah masuk/keluar yang sama. Jika Anda perlu mengalirkan atribut masuk dan keluar ke objek yang sama, Anda harus memiliki aturan sinkronisasi masuk dan keluar dengan gabungan.

Gabungan keluar memiliki perilaku khusus ketika mencoba memprovisikan objek ke ruang konektor target. Atribut DN digunakan untuk percobaan pertama reverse-join. Jika sudah ada objek di ruang konektor target dengan DN yang sama, maka objek akan digabungkan.

Modul gabungan hanya dievaluasi sekali ketika aturan sinkronisasi baru masuk ke cakupan. Ketika suatu objek telah bergabung, objek tersebut tidak akan dikeluarkan meskipun kriteria gabungan tidak lagi terpenuhi. Jika Anda ingin mengeluarkan objek dari bergabung, aturan sinkronisasi yang bergabung dengan objek harus keluar dari cakupan.

Penghapusan metaverse

Objek metaverse tetap ada selama ada satu aturan sinkronisasi dalam cakupan dengan Jenis Tautan diatur ke Provisi atau StickyJoin. StickyJoin digunakan ketika Konektor tidak diizinkan untuk memprovisikan objek baru ke metaverse, tetapi ketika telah bergabung, ini harus dihapus di sumber sebelum objek metaverse dihapus.

Saat objek metaverse dihapus, semua objek yang terkait dengan aturan sinkronisasi keluar yang ditandai untuk provisi ditandai untuk dihapus.

Transformasi

Transformasi digunakan untuk menentukan bagaimana atribut harus mengalir dari sumber ke target. Alur dapat memiliki salah satu jenis alur berikut: Langsung, Konstanta, atau Ekspresi. Aliran langsung, mengalirkan nilai atribut apa adanya tanpa transformasi tambahan. Nilai konstanta menetapkan nilai yang ditentukan. Ekspresi menggunakan bahasa ekspresi provisi deklaratif untuk mengekspresikan bagaimana transformasi tersebut seharusnya. Detail untuk bahasa ekspresi dapat ditemukan dalam topik memahami bahasa ekspresi penyediaan deklaratif.

Provision or join

Kotak centang Terapkan sekali menentukan bahwa atribut hanya boleh diatur saat objek awalnya dibuat. Misalnya, konfigurasi ini dapat digunakan untuk mengatur kata sandi awal untuk objek pengguna baru.

Menggabungkan nilai atribut

Dalam aliran atribut ada pengaturan untuk menentukan apakah atribut multinilai harus digabungkan dari beberapa Konektor yang berbeda. Nilai defaultnya adalah Pembaruan, yang menunjukkan bahwa aturan sinkronisasi dengan prioritas tertinggi harus diprioritaskan.

Screenshot that shows the

Ada juga Merge dan MergeCaseInsensitive. Opsi ini memungkinkan Anda menggabungkan nilai dari sumber yang berbeda. Misalnya, dapat digunakan untuk menggabungkan atribut proxyAddresses dari beberapa forest yang berbeda. Saat Anda menggunakan opsi ini, semua aturan sinkronisasi dalam cakupan untuk objek harus menggunakan tipe penggabungan yang sama. Anda tidak dapat menentukan Pembaruan dari satu Konektor dan Penggabungan dari konektor lain. Jika Anda mencoba, Anda menerima pesan kesalahan.

Perbedaan antara Merge dan MergeCaseInsensitive adalah cara memproses nilai atribut duplikat. Mesin sinkronisasi memastikan nilai duplikat tidak dimasukkan ke dalam atribut target. Dengan MergeCaseInsensitive, nilai duplikat dengan hanya perbedaan dalam kasus tidak akan ada. Misalnya, Anda seharusnya tidak melihat baik “SMTP:bob@contoso.com" maupun "smtp:bob@contoso.com" di atribut target. Gabungkan hanya melihat nilai yang tepat dan beberapa nilai di mana hanya ada perbedaan dalam kasus mungkin ada.

Opsi Ganti sama dengan Perbarui, tetapi tidak digunakan.

Mengontrol proses aliran atribut

Ketika beberapa aturan sinkronisasi masuk dikonfigurasi untuk berkontribusi pada atribut metaverse yang sama, maka prioritas digunakan untuk menentukan pemenangnya. Aturan sinkronisasi dengan prioritas tertinggi (nilai numerik terendah) akan berkontribusi nilainya. Hal yang sama terjadi untuk aturan keluar. Aturan sinkronisasi dengan prioritas tertinggi akan diprioritaskan dan memberi kontribusi nilai ke direktori yang terhubung.

Dalam beberapa kasus, alih-alih memberi kontribusi nilai, aturan sinkronisasi harus menentukan bagaimana aturan lain harus berperilaku. Ada beberapa literal khusus yang digunakan untuk kasus ini.

Untuk Aturan Sinkronisasi masuk, NULL literal dapat digunakan untuk menunjukkan bahwa alur tidak memiliki nilai untuk berkontribusi. Aturan lain dengan prioritas yang lebih rendah dapat memberi kontribusi nilai. Jika tidak ada aturan yang memberi kontribusi nilai, maka atribut metaverse akan dihapus. Untuk aturan keluar, jika NULL adalah nilai akhir setelah semua aturan sinkronisasi diproses, maka nilai dihapus di direktori tersambung.

AuthoritativeNull literal mirip dengan NULL tetapi dengan perbedaan bahwa tidak ada aturan prioritas yang lebih rendah yang dapat memberi kontribusi nilai.

Aliran atribut juga dapat menggunakan IgnoreThisFlow. Ini mirip dengan NULL dalam arti yang menunjukkan tidak ada yang berkontribusi. Perbedaannya adalah bahwa ini tidak menghapus nilai yang sudah ada dalam target. Ini seperti aliran atribut belum pernah ada.

Berikut adalah contoh:

Di Keluar ke AD - Hibrid Exchange Pengguna alur berikut ini dapat ditemukan:
IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow)
Ekspresi ini harus dibaca sebagai: jika kotak surat pengguna terletak di ID Microsoft Entra, lalu mengalirkan atribut dari ID Microsoft Entra ke Direktori Aktif. Jika tidak, jangan mengalirkan apa pun kembali ke Direktori Aktif. Dalam hal ini, itu akan mempertahankan nilai yang ada dalam AD.

ImporValue

Fungsi ImportedValue berbeda dari semua fungsi lainnya karena nama atribut harus diapit dalam tanda kutip daripada kurung siku:

ImportedValue("proxyAddresses").

Sinkronisasi masuk memiliki konsep dengan asumsi bahwa atribut yang belum mencapai direktori yang terhubung akhirnya akan mencapainya pada titik tertentu sehingga, biasanya, sinkronisasi mendapatkan nilai atribut dari ruang konektor masing-masing, bahkan jika belum diekspor atau kesalahan terjadi selama ekspor. Namun, dalam beberapa kasus, penting untuk hanya menyinkronkan nilai yang telah diekspor dan dikonfirmasi selama impor dari direktori yang terhubung. Fungsi ini dapat ditemukan dalam beberapa aturan transformasi out-of-box "In From AD/AAD" di mana atribut hanya boleh disinkronkan ketika telah dikonfirmasi bahwa nilai berhasil diekspor.

Contoh fungsi ini dapat ditemukan di Aturan Sinkronisasi Siap Pakai Masuk dari AD – User Common dari Exchange, untuk alur atribut ProxyAddresses dengan Hybrid Exchange. Misalnya, ketika ProxyAddresses pengguna ditambahkan, fungsi ImportedValue hanya akan mengembalikan nilai baru setelah dikonfirmasi dari langkah impor berikut:

proxyAddresses<- RemoveDuplicates(Trim(ImportedValue("proxyAddresses")))

Fungsi ini diperlukan ketika direktori target mungkin mengubah atau membuang nilai atribut yang diekspor secara diam-diam, dan kami ingin sinkronisasi hanya memproses nilai atribut yang dikonfirmasi.

Prioritas

Ketika beberapa aturan sinkronisasi mencoba untuk memberi kontribusi nilai atribut yang sama ke target, nilai prioritas digunakan untuk menentukan mana yang diprioritaskan. Aturan dengan prioritas tertinggi, nilai numerik terendah, akan memberikan kontribusi atribut ke konflik.

Merge Types

Pemesanan ini dapat digunakan untuk menentukan aliran atribut yang lebih tepat untuk subset objek kecil. Misalnya, aturan out-of-box memastikan bahwa atribut dari akun yang diaktifkan (User AccountEnabled) telah diutamakan dari akun lain.

Prioritas dapat didefinisikan antar Konektor. Ini memungkinkan Konektor dengan data yang lebih baik berkontribusi nilai terlebih dahulu.

Beberapa objek dari ruang konektor yang sama

Tidak dimungkinkan untuk memiliki beberapa objek di ruang konektor yang sama yang digabungkan ke objek metaverse yang sama. Konfigurasi ini dilaporkan ambigu meskipun atribut dalam sumber memiliki nilai yang sama.

Diagram that shows multiple objects joined to the same mv object with a transparent red X overlay.

Langkah berikutnya

Topik ringkasan

Topik referensi