Bagikan melalui


Memprovisikan Pengguna dengan Penyusun Ekspresi

Provisi pengguna terkadang dapat menantang seperti ketika ada pengguna duplikat yang ada di aplikasi perusahaan yang menggunakan ID Microsoft Entra. Alat Penyusun Ekspresi menyederhanakan proses ini, menawarkan fleksibilitas untuk mengubah dan memetakan atribut pengguna.

Secara default, provisi pengguna terjadi berdasarkan UPN. Namun, mungkin ada instans di mana pelanggan menggunakan metode warisan, dan UPN dapat dalam format seperti a.b@onmicrosoft.com dan a_b@onmicrosoft.com.

Ketika kita memiliki situasi ini, mungkin ada kegagalan provisi pengguna di sisi aplikasi. Misalnya, beberapa aplikasi seperti GitHub Copilot (GHCP) menyediakan pengguna dalam format a-b-test, di mana "a" adalah nama pertama di UPN, "b" adalah nama kedua, dan pengujian adalah nama instans GHCP.

Sekarang, jika kami memiliki pengguna a.b@onmicrosoft.com dan a_b@onmicrosoft.com, GHCP menyediakan satu pengguna, dan pengguna lain gagal karena duplikasi.

Penyusun Ekspresi menyederhanakan provisi pengguna dengan mengaktifkan transformasi dan pemetaan atribut berdasarkan kebutuhan organisasi. Meskipun menawarkan fleksibilitas dan presisi, pengujian dan validasi yang tepat sangat penting untuk keberhasilan implementasi di lingkungan produksi.

Contoh skenario

Berikut ini adalah skenario dan ekspresi sampel untuk menangani pemetaan atribut unik dan tantangan provisi pengguna.

Skenario 1: Memastikan nama pengguna unik tanpa duplikasi

Ketika atribut unik seperti ID Karyawan tidak tersedia atau dibatasi karena keamanan, OBJECT ID dapat berfungsi sebagai opsi yang dapat diandalkan. ID Objek unik secara global untuk setiap pengguna, memastikan tidak ada duplikasi.

Nota

Setiap aplikasi memiliki batas karakter untuk provisi pengguna. Misalnya, batas karakter GitHub adalah 39.

Ekspresi :

Tambahkan(Mid([displayName], 1, 15), Mid([objectId], 1, 8))

Penjelasan :

  • Mengambil 15 karakter pertama dari nama tampilan pengguna.
  • Menambahkan delapan karakter pertama dari ID Objek pengguna.
  • Membuat pengidentifikasi unik dengan menggabungkan keduanya.

Keuntungan :

  • Keunikan dipastikan melalui ID Objek.
  • Mengurangi risiko duplikasi.

Skenario 2: Mengubah nama prinsipal pengguna (UPN) untuk kompatibilitas

Dalam beberapa sistem, UPN membutuhkan modifikasi untuk integrasi yang tepat. Misalnya, menambahkan bagian ID Objek memastikan keunikan.

Ekspresi :

Tambahkan(Mid([objectId], 1, 2), Mid([userPrincipalName], 1, 50))

Penjelasan :

  • Mengekstrak 2 karakter pertama dari ID Objek.

  • Menambahkan karakter ini ke UPN yang ada (yang terbatas pada 50 karakter pertama. Meskipun sebagian besar pengguna biasanya tidak memiliki UPN yang mencapai batas ini, niatnya adalah menambahkan 2 karakter dari Object ID ke UPN lengkap untuk keunikan).

Skenario 3: Modifikasi kondisional untuk pengguna tertentu

Untuk menerapkan perubahan kustom untuk subset pengguna, logika bersyarah dengan pernyataan IIF dapat digunakan.

Ekspresi :

IIF([userPrincipalName] = "Aman.Gupta@xpl57.onmicrosoft.com", Append(Mid([objectId], 1, 2), [userPrincipalName]), IIF( [userPrincipalName] = "Aarti@xpl57.onmicrosoft.com", Append(Mid([objectId], 1, 2), [userPrincipalName]), IIF([userPrincipalName] = "AdeleV@xpl57.onmicrosoft.com", Append(Mid([objectId], 1, 2), [userPrincipalName]), [userPrincipalName] ) )

Ekspresi memeriksa pengguna tertentu berdasarkan UPN dan menerapkan modifikasi kustom dengan menambahkan dua karakter pertama dari OBJECT ID ke userPrincipalName untuk Aman.Gupta@xpl57.onmicrosoft.com, Aarti@xpl57.onmicrosoft.com, dan AdeleV@xpl57.onmicrosoft.com.

Contoh kasus pengujian:

  • UPN Input: Aman.Gupta@xpl57.onmicrosoft.com

  • Output yang Diharapkan: 39Aman.Gupta@xpl57.onmicrosoft.com

Contoh yang lebih canggih adalah sebagai berikut:

IIF([userPrincipalName] = "Aman.Gupta@xpl57.onmicrosoft.com", Append([displayName], Append("", Mid([objectId], 1, 8))), IIF([userPrincipalName] = "harjit@xpl57.onmicrosoft.com", Append([displayName], Append(",Mid([objectId], 1, 8))), IIF( [userPrincipalName] = "AdeleV@xpl57.onmicrosoft.com", Append([displayName], Append("_", Mid([objectId], 1, 8))), [userPrincipalName] ) ) )

Ekspresi untuk pengujian:

Tambahkan(Mid([objectId], 1, 8), [userPrincipalName])

Proses ini memeriksa pengguna tertentu berdasarkan UPN dan menerapkan modifikasi kustom dengan menambahkan delapan karakter pertama ID Objek ke nama tampilan. Semakin banyak pengguna yang disertakan, semakin lama ekspresi menjadi, yang meningkatkan kompleksitas. Oleh karena itu, metode ini paling cocok untuk subset kecil pengguna.

Rekomendasi utama

  • Uji Secara Ekstensif: Selalu menguji ekspresi di lingkungan non-produksi untuk memverifikasi fungsionalitas.
  • Batasan Karakter: Pastikan nama pengguna yang diubah tidak melebihi batas karakter yang ditentukan oleh aplikasi (misalnya, GitHub memiliki batas 39 karakter).
  • dokumentasi : Mempertahankan dokumentasi ekspresi dan perubahan yang jelas untuk pemecahan masalah dan referensi di masa mendatang.

Alat dan langkah-langkah untuk pengujian

  1. Buka Penyusun Ekspresi di ID Entra atau antarmuka provisi yang relevan.
  2. Gunakan fitur Uji Ekspresi dengan data pengguna sampel.
  3. Validasi output untuk memastikan transformasi yang tepat.

Langkah berikutnya

Mencari tahu kapan pengguna tertentu dapat mengakses aplikasi di Microsoft Entra Application Provisioning