Menyesuaikan klaim token SAML

platform identitas Microsoft mendukung akses menyeluruh (SSO) dengan sebagian besar aplikasi yang telah diinteegrasi sebelumnya di galeri aplikasi dan aplikasi kustom. Saat pengguna mengautentikasi ke aplikasi melalui platform identitas Microsoft menggunakan protokol SAML 2.0, token dikirim ke aplikasi. Aplikasi memvalidasi dan menggunakan token untuk memasukkan pengguna alih-alih meminta nama pengguna dan kata sandi.

Token SAML ini berisi potongan informasi tentang pengguna yang dikenal sebagai klaim. Klaim adalah informasi yang menyatakan penyedia identitas tentang pengguna di dalam token yang mereka terbitkan untuk pengguna tersebut. Dalam token SAML, data klaim biasanya terkandung dalam Pernyataan Atribut SAML. ID unik pengguna biasanya diwakili dalam subjek SAML, yang juga disebut sebagai pengidentifikasi nama (nameID).

Secara default, platform identitas Microsoft mengeluarkan token SAML ke aplikasi yang berisi klaim dengan nilai nama pengguna pengguna (juga dikenal sebagai nama utama pengguna), yang dapat mengidentifikasi pengguna secara unik. Token SAML juga berisi klaim lain yang menyertakan alamat email pengguna, nama depan, dan nama belakang.

Menampilkan atau mengedit klaim

Untuk melihat atau mengedit klaim yang dikeluarkan dalam token SAML ke aplikasi:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
  2. Telusuri aplikasi Identity>Applications>Enterprise>Semua aplikasi.
  3. Pilih aplikasi, pilih Akses menyeluruh di menu sebelah kiri, lalu pilih Edit di bagian Atribut & Klaim .

Anda mungkin perlu mengedit klaim yang dikeluarkan dalam token SAML karena alasan berikut:

  • Aplikasi ini mengharuskan NameIdentifier atau nameID mengklaim sesuatu selain nama pengguna (atau nama prinsipal pengguna).
  • Aplikasi telah ditulis untuk memerlukan serangkaian URI klaim atau nilai klaim yang berbeda.

Edit nameID

Untuk mengedit klaim nilai pengidentifikasi nama:

  1. Buka halaman Nilai pengidentifikasi nama.
  2. Pilih atribut atau transformasi yang ingin Anda terapkan ke atribut . Secara opsional, Anda dapat menentukan format yang Anda inginkan nameID untuk dimiliki klaim.

Format NameID

Jika permintaan SAML berisi elemen NameIDPolicy dengan format tertentu, maka platform identitas Microsoft mematuhi format dalam permintaan.

Jika permintaan SAML tidak berisi elemen untuk NameIDPolicy, maka platform identitas Microsoft mengeluarkan nameID dengan format yang Anda tentukan. Jika tidak ada format yang ditentukan, platform identitas Microsoft menggunakan format sumber default yang terkait dengan sumber klaim yang dipilih. Jika transformasi menghasilkan nilai null atau ilegal, ID Microsoft Entra mengirimkan pengidentifikasi pairwise persisten di nameID.

Dari menu dropdown Pilih format pengidentifikasi nama, pilih salah satu opsi dalam tabel berikut ini.

format nameID Deskripsi
Default platform identitas Microsoft menggunakan format sumber default.
Gigih platform identitas Microsoft menggunakan Persistent sebagai nameID format .
Alamat email platform identitas Microsoft menggunakan EmailAddress sebagai nameID format .
Tidak disebutkan platform identitas Microsoft menggunakan Unspecified sebagai nameID format .
Nama domain Windows yang memenuhi syarat platform identitas Microsoft menggunakan WindowsDomainQualifiedName format .

nameID Sementara juga didukung, tetapi tidak tersedia di dropdown dan tidak dapat dikonfigurasi di sisi Azure. Untuk mempelajari selengkapnya tentang NameIDPolicy atribut, lihat Protokol SAML akses menyeluruh.

Atribut

Tip

Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.

Pilih sumber yang diinginkan untuk NameIdentifier klaim (atau nameID). Anda bisa memilih dari opsi dalam tabel berikut ini.

Nama Deskripsi
Email Alamat email pengguna.
userprincipalName Nama prinsipal pengguna (UPN) dari pengguna.
onpremisessamaccountname Nama akun SAM yang telah disinkronkan dari ID Microsoft Entra lokal.
objectid ID objek pengguna di ID Microsoft Entra.
employeeid ID karyawan pengguna.
Directory extensions Ekstensi direktori disinkronkan dari Active Directory lokal menggunakan Microsoft Entra Koneksi Sync.
Extension Attributes 1-15 Atribut ekstensi lokal yang digunakan untuk memperluas skema Microsoft Entra.
pairwiseid Bentuk persisten pengidentifikasi pengguna.

Untuk informasi selengkapnya tentang nilai pengidentifikasi, lihat tabel yang mencantumkan nilai ID yang valid per sumber nanti di halaman ini.

Nilai konstanta (statis) apa pun dapat ditetapkan ke klaim apa pun. Gunakan langkah-langkah berikut untuk menetapkan nilai konstanta:

  1. Pada bilah Atribut & Klaim , pilih klaim yang diperlukan yang ingin Anda ubah.
  2. Masukkan nilai konstanta tanpa tanda kutip di atribut Sumber sesuai organisasi Anda dan pilih Simpan. Nilai konstanta ditampilkan.

Ekstensi Skema Direktori (Pratinjau)

Anda juga dapat mengonfigurasi atribut ekstensi skema direktori sebagai atribut non-kondisional/kondisional. Gunakan langkah-langkah berikut untuk mengonfigurasi atribut ekstensi skema direktori tunggal atau multinilai sebagai klaim:

  1. Pada bilah Atribut & Klaim , pilih Tambahkan klaim baru atau edit klaim yang ada.
  2. Pilih aplikasi sumber dari pemilih aplikasi tempat properti ekstensi ditentukan.
  3. Pilih Tambahkan untuk menambahkan pilihan ke klaim.
  4. Klik Simpan untuk menerapkan perubahan.

Transformasi klaim khusus

Anda dapat menggunakan fungsi transformasi klaim khusus berikut.

Function Deskripsi
ExtractMailPrefix() Menghapus akhiran domain dari alamat email atau nama prinsipal pengguna. Fungsi ini hanya mengekstrak bagian pertama dari nama pengguna yang diteruskan (misalnya, "joe_smith" alih-alih joe_smith@contoso.com).
ToLower() Mengonversi karakter atribut yang dipilih menjadi karakter huruf kecil.
ToUpper() Mengonversi karakter atribut yang dipilih menjadi karakter huruf besar.

Menambahkan klaim khusus aplikasi

Untuk menambahkan aplikasi-klaim khusus:

  1. Pada bilah Atribut & Klaim , pilih Tambahkan klaim baru untuk membuka halaman Kelola klaim pengguna.
  2. Masukkan nama klaim. Nilainya tidak benar-benar perlu mengikuti pola URI, sesuai spesifikasi SAML. Jika Anda memerlukan pola URI, Anda dapat meletakkannya di bidang Namespace.
  3. Pilih Sumber tempat klaim akan mengambil nilainya. Anda dapat memilih atribut pengguna dari dropdown atribut source atau menerapkan transformasi ke atribut pengguna sebelum memancarkannya sebagai klaim.

Transformasi klaim

Untuk menerapkan transformasi ke atribut pengguna:

  1. Di Kelola klaim, pilih Transformasi sebagai sumber klaim untuk membuka halaman Kelola transformasi.
  2. Pilih fungsi dari turun bawah transformasi. Bergantung pada fungsi yang dipilih, berikan parameter dan nilai konstanta untuk dievaluasi dalam transformasi.
  3. Pilih sumber atribut dengan mengklik tombol radio yang sesuai. Sumber ekstensi skema direktori sedang dalam pratinjau saat ini.
  4. Pilih nama atribut dari menu dropdown.
  5. Perlakukan sumber sebagai multinilai adalah kotak centang yang menunjukkan apakah transformasi harus diterapkan ke semua nilai atau hanya yang pertama. Secara default, transformasi hanya diterapkan ke elemen pertama dalam klaim multinilai, dengan mencentang kotak ini memastikannya diterapkan ke semua. Kotak centang ini hanya diaktifkan untuk atribut multinilai, misalnya user.proxyaddresses.
  6. Untuk menerapkan beberapa transformasi, pilih Tambahkan transformasi. Anda dapat menerapkan maksimal dua transformasi untuk satu klaim. Misalnya, Anda dapat terlebih dahulu mengekstrak awalan email dari user.mail. Kemudian, buat string huruf besar.

Anda dapat menggunakan fungsi berikut untuk mengubah klaim.

Function Deskripsi
ExtractMailPrefix() Menghapus akhiran domain dari alamat email atau nama prinsipal pengguna. Fungsi ini hanya mengekstrak bagian pertama dari nama pengguna yang diteruskan. Misalnya, joe_smith daripada joe_smith@contoso.com.
Join() Membuat nilai baru dengan menggabungkan dua atribut. Secara opsional, Anda dapat menggunakan pemisah di antara kedua atribut. nameID Untuk transformasi klaim, fungsi Join() memiliki perilaku khusus ketika input transformasi memiliki bagian domain. Ini menghapus bagian domain dari input sebelum menggabungkannya dengan pemisah dan parameter yang dipilih. Misalnya, jika input transformasi adalah joe_smith@contoso.com dan pemisah adalah dan parameternya adalah @fabrikam.com, kombinasi input ini menghasilkan joe_smith@fabrikam.com.
ToLowercase() Mengonversi karakter atribut yang dipilih menjadi karakter huruf kecil.
ToUppercase() Mengonversi karakter atribut yang dipilih menjadi karakter huruf besar.
Contains() Mengeluarkan atribut atau konstanta jika input cocok dengan nilai yang ditentukan. Jika tidak, Anda dapat menentukan output lain jika tidak ada kecocokan. Misalnya, jika Anda ingin mengeluarkan klaim di mana nilainya adalah alamat email pengguna jika berisi domain @contoso.com, jika tidak, Anda ingin menghasilkan nama utama pengguna. Untuk melakukan fungsi ini, konfigurasikan nilai berikut: Parameter 1(input): user.email, , Parameter 2 (output): user.emailValue: "@contoso.com", dan Parameter 3 (output if there's no match): user.userprincipalname.
EndWith() Mengeluarkan atribut atau konstanta jika input diakhiri dengan nilai yang ditentukan. Jika tidak, Anda dapat menentukan output lain jika tidak ada kecocokan.
Misalnya, jika Anda ingin mengeluarkan klaim di mana nilainya adalah ID karyawan pengguna jika ID karyawan berakhir dengan 000, jika tidak, Anda ingin menghasilkan atribut ekstensi. Untuk melakukan fungsi ini, konfigurasikan nilai berikut: Parameter 1(input): user.employeeid, , Parameter 2 (output): user.employeeidValue: "000", dan Parameter 3 (output if there's no match): user.extensionattribute1.
StartWith() Mengeluarkan atribut atau konstanta jika input dimulai dengan nilai yang ditentukan. Jika tidak, Anda dapat menentukan output lain jika tidak ada kecocokan. Misalnya, jika Anda ingin mengeluarkan klaim di mana nilainya adalah ID karyawan pengguna jika negara/wilayah dimulai dengan US, jika tidak, Anda ingin menghasilkan atribut ekstensi. Untuk melakukan fungsi ini, konfigurasikan nilai berikut: Parameter 1(input): user.country, , Parameter 2 (output): user.employeeidValue: "US", danParameter 3 (output if there's no match): user.extensionattribute1
Ekstrak() - Setelah pencocokan Mengembalikan substring setelah cocok dengan nilai yang ditentukan. Misalnya, jika nilai input adalah Finance_BSimon, nilai yang cocok adalah Finance_, maka output klaim adalah BSimon.
Extract() - Sebelum pencocokan Mengembalikan substring sampai cocok dengan nilai yang ditentukan. Misalnya, jika nilai input adalah BSimon_US, nilai yang cocok adalah _US, maka output klaim adalah BSimon.
Ekstrak() - Antara pencocokan Mengembalikan substring sampai cocok dengan nilai yang ditentukan. Misalnya, jika nilai input adalah Finance_BSimon_US, nilai pencocokan pertama adalah Finance_, nilai pencocokan kedua adalah _US, maka output klaim adalah BSimon.
ExtractAlpha() - Awalan Mengembalikan bagian alfabet awalan dari string. Misalnya, jika nilai input adalah BSimon_123, maka akan mengembalikan BSimon.
ExtractAlpha() - Akhiran Mengembalikan bagian akhiran alfabet dari string. Misalnya, jika nilai input adalah 123_Simon, maka akan mengembalikan Simon.
ExtractNumeric() - Awalan Mengembalikan bagian numerik awalan dari string. Misalnya, jika nilai input adalah 123_BSimon, maka akan mengembalikan 123.
ExtractNumeric() - Akhiran Mengembalikan bagian numerik akhiran dari string. Misalnya, jika nilai input adalah BSimon_123, maka akan mengembalikan 123.
IfEmpty() Mengeluarkan atribut atau konstanta jika input null atau kosong. Misalnya, jika Anda ingin menghasilkan atribut yang disimpan dalam atribut ekstensi jika ID karyawan untuk pengguna kosong. Untuk melakukan fungsi ini, konfigurasikan nilai berikut: Parameter 1(input): user.employeeid, , Parameter 2 (output): user.extensionattribute1dan Parameter 3 (output if there's no match): user.employeeid.
IfNotEmpty() Mengeluarkan atribut atau konstanta jika input tidak null atau kosong. Misalnya, jika Anda ingin menghasilkan atribut yang disimpan dalam atribut ekstensi jika ID karyawan untuk pengguna tidak kosong. Untuk melakukan fungsi ini, konfigurasikan nilai berikut: Parameter 1(input): user.employeeid dan Parameter 2 (output): user.extensionattribute1.
Substring() - Panjang Tetap (Pratinjau) Mengekstrak bagian dari jenis klaim string, dimulai pada karakter pada posisi yang ditentukan, dan mengembalikan jumlah karakter yang ditentukan. sourceClaim adalah sumber klaim transformasi yang harus dijalankan. StartIndex adalah posisi karakter awal berbasis nol dari substring dalam instans ini. Length adalah panjang karakter substring. Misalnya, sourceClaim - PleaseExtractThisNow, , dan Length - 11 menghasilkan output dari ExtractThisStartIndex - 6.
Substring() - EndOfString (Pratinjau) Mengekstrak bagian dari jenis klaim string, dimulai dari karakter pada posisi yang ditentukan, dan mengembalikan sisa klaim dari indeks awal yang ditentukan. sourceClaim adalah sumber klaim transformasi yang harus dijalankan. StartIndex adalah posisi karakter awal berbasis nol dari substring dalam instans ini. Misalnya, sourceClaim - PleaseExtractThisNow dan StartIndex - 6 menghasilkan output dari ExtractThisNow.
RegexReplace() (Pratinjau) Untuk informasi selengkapnya tentang transformasi klaim berbasis regex, lihat bagian berikutnya.

Transformasi klaim berbasis regex

Gambar berikut menunjukkan contoh tingkat transformasi pertama:

Screenshot of the first level of transformation.

Tindakan yang tercantum dalam tabel berikut ini menyediakan informasi tentang tingkat transformasi pertama dan sesuai dengan label pada gambar sebelumnya. Pilih Edit untuk membuka bilah transformasi klaim.

Perbuatan Bidang Deskripsi
1 Transformation Pilih opsi RegexReplace() dari opsi Transformasi untuk menggunakan metode transformasi klaim berbasis regex untuk transformasi klaim.
2 Parameter 1 Input untuk transformasi ekspresi reguler. Misalnya, user.mail yang memiliki alamat email pengguna seperti admin@fabrikam.com.
3 Treat source as multivalued Sejunlah atribut pengguna input dapat berupa atribut pengguna multinilai. Jika atribut pengguna yang dipilih mendukung beberapa nilai dan pengguna ingin menggunakan beberapa nilai untuk transformasi, mereka perlu memilih Perlakukan sumber sebagai multinilai. Jika dipilih, semua nilai digunakan untuk kecocokan regex, jika tidak, hanya nilai pertama yang digunakan.
4 Regex pattern Ekspresi reguler yang dievaluasi terhadap nilai atribut pengguna yang dipilih sebagai Parameter 1. Misalnya, ekspresi reguler untuk mengekstrak alias pengguna dari alamat email pengguna akan diwakili sebagai (?'domain'^.*?)(?i)(\@fabrikam\.com)$.
5 Add additional parameter Lebih dari satu atribut pengguna dapat digunakan untuk transformasi. Nilai atribut kemudian akan digabungkan dengan output transformasi regex. Hingga lima parameter lagi didukung.
6 Replacement pattern Pola penggantian adalah templat teks, yang berisi tempat penampung untuk hasil regex. Semua nama grup harus dibungkus di dalam kurung kurawal seperti {group-name}. Katakanlah administrasi ingin menggunakan alias pengguna dengan beberapa nama domain lain, misalnya xyz.com dan menggabungkan nama negara dengannya. Dalam hal ini, pola penggantian adalah {country}.{domain}@xyz.com, di mana {country} adalah nilai parameter input dan {domain} merupakan output grup dari evaluasi ekspresi reguler. Dalam kasus seperti itu, hasil yang diharapkan adalah US.swmal@xyz.com.

Gambar berikut menunjukkan contoh tingkat transformasi kedua:

Screenshot of second level of claims transformation.

Tabel berikut ini menyediakan informasi tentang tingkat transformasi kedua. Tindakan yang tercantum dalam tabel sesuai dengan label di gambar sebelumnya.

Perbuatan Bidang Deskripsi
1 Transformation Transformasi klaim berbasis regex tidak terbatas pada transformasi pertama dan juga dapat digunakan sebagai transformasi tingkat kedua. Metode transformasi lainnya dapat digunakan sebagai transformasi pertama.
2 Parameter 1 Jika RegexReplace() dipilih sebagai transformasi tingkat kedua, output transformasi tingkat pertama digunakan sebagai input untuk transformasi tingkat kedua. Untuk menerapkan transformasi, ekspresi regex tingkat kedua harus cocok dengan output transformasi pertama.
3 Regex pattern Pola regex adalah ekspresi reguler untuk transformasi tingkat kedua.
4 Parameter input Input atribut pengguna untuk transformasi tingkat kedua.
5 Parameter input Administrator dapat menghapus parameter input yang dipilih jika mereka tidak membutuhkannya lagi.
6 Replacement pattern Pola pengganti adalah templat teks, yang berisi tempat penampung untuk nama grup hasil regex, nama grup parameter input, dan nilai teks statis. Semua nama grup harus dibungkus di dalam kurung kurawal seperti {group-name}. Katakanlah administrasi ingin menggunakan alias pengguna dengan beberapa nama domain lain, misalnya xyz.com dan menggabungkan nama negara dengannya. Dalam hal ini, pola penggantian adalah {country}.{domain}@xyz.com, di mana {country} adalah nilai parameter input dan {domain} adalah output grup dari evaluasi ekspresi reguler. Dalam kasus seperti itu, hasil yang diharapkan adalah US.swmal@xyz.com.
7 Test transformation Transformasi RegexReplace() dievaluasi hanya jika nilai atribut pengguna yang dipilih untuk Parameter 1 cocok dengan ekspresi reguler yang disediakan di kotak teks pola Regex. Jika tidak cocok, nilai klaim default ditambahkan ke token. Untuk memvalidasi regex terhadap nilai parameter input, pengalaman pengujian tersedia dalam bilah transformasi. Pengalaman pengujian ini beroperasi pada nilai dummy saja. Ketika lebih banyak parameter input digunakan, nama parameter ditambahkan ke hasil pengujian alih-alih nilai aktual. Untuk mengakses bagian pengujian, pilih Uji transformasi.

Gambar berikut menunjukkan contoh pengujian transformasi:

Screenshot of testing the transformation.

Tabel berikut ini menyediakan informasi tentang menguji transformasi. Tindakan yang tercantum dalam tabel sesuai dengan label di gambar sebelumnya.

Perbuatan Bidang Deskripsi
1 Test transformation Pilih tombol tutup atau (X) untuk menyembunyikan bagian pengujian dan merender kembali tombol Transformasi uji lagi pada bilah.
2 Test regex input Menerima input yang digunakan untuk evaluasi pengujian ekspresi reguler. Jika transformasi klaim berbasis regex dikonfigurasi sebagai transformasi tingkat kedua, berikan nilai yang merupakan output yang diharapkan dari transformasi pertama.
3 Run test Setelah input regex pengujian disediakan dan pola Regex, Pola penggantian dan Parameter input dikonfigurasi, ekspresi dapat dievaluasi dengan memilih Jalankan pengujian.
4 Test transformation result Jika evaluasi berhasil, output transformasi pengujian dirender terhadap label Hasil transformasi pengujian.
5 Remove transformation Transformasi tingkat kedua dapat dihapus dengan memilih Hapus transformasi.
6 Specify output if no match Saat nilai input regex dikonfigurasi terhadap Parameter 1 yang tidak cocok dengan ekspresi Reguler, transformasi dilewati. Dalam kasus seperti itu, atribut pengguna alternatif dapat dikonfigurasi, yang ditambahkan ke token untuk klaim dengan memeriksa Tentukan output jika tidak ada kecocokan.
7 Parameter 3 Jika atribut pengguna alternatif perlu dikembalikan saat tidak ada kecocokan dan Tentukan output jika tidak ada kecocokan yang dicentang, atribut pengguna alternatif dapat dipilih menggunakan dropdown. Dropdown ini tersedia terhadap Parameter 3 (output jika tidak ada kecocokan).
8 Summary Di bagian bawah bilah, ringkasan lengkap format ditampilkan yang menjelaskan arti transformasi dalam teks sederhana.
9 Add Setelah pengaturan konfigurasi untuk transformasi diverifikasi, itu dapat disimpan ke kebijakan klaim dengan memilih Tambahkan. Pilih Simpan pada bilah Kelola Klaim untuk menyimpan perubahan.

Transformasi RegexReplace() juga tersedia untuk transformasi klaim grup.

Validasi transformasi RegexReplace()

Ketika kondisi berikut terjadi setelah Pengujian Tambahkan atau Jalankan dipilih, pesan ditampilkan yang menyediakan informasi selengkapnya tentang masalah ini:

  • Parameter input dengan atribut pengguna duplikat tidak diizinkan.
  • Parameter input yang tidak digunakan ditemukan. Parameter input yang ditentukan harus memiliki penggunaan masing-masing ke dalam teks pola Penggantian.
  • Input regex pengujian yang disediakan tidak cocok dengan ekspresi reguler yang disediakan.
  • Sumber untuk grup ke dalam pola penggantian tidak ditemukan.

Tambahkan klaim UPN ke token SAML

Klaim http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn adalah bagian dari kumpulan klaim terbatas SAML. Jika Anda memiliki kunci penandatanganan kustom yang dikonfigurasi, Anda dapat menambahkannya di bagian Atribut & Klaim .

Jika tidak ada kunci penandatanganan kustom yang dikonfigurasi, silakan lihat kumpulan klaim TERBATAS SAML. Anda dapat menambahkannya sebagai klaim opsional melalui Pendaftaran aplikasi di portal Azure.

Buka aplikasi di Pendaftaran aplikasi, pilih Konfigurasi token, lalu pilih Tambahkan klaim opsional. Pilih jenis token SAML, pilih upn dari daftar, lalu klik Tambahkan untuk menambahkan klaim ke token.

Kustomisasi yang dilakukan di bagian Atribut & Klaim dapat menimpa klaim opsional dalam Pendaftaran Aplikasi.

Memancarkan klaim berdasarkan kondisi

Anda dapat menentukan sumber klaim berdasarkan jenis pengguna dan grup tempat pengguna berada.

Tipe pengguna dapat berupa:

  • Apa pun - Semua pengguna diizinkan untuk mengakses aplikasi.
  • Anggota: Anggota asli penyewa
  • Semua tamu: Pengguna dibawa dari organisasi eksternal dengan atau tanpa ID Microsoft Entra.
  • Tamu Microsoft Entra: Pengguna tamu milik organisasi lain menggunakan ID Microsoft Entra.
  • Tamu eksternal: Pengguna tamu milik organisasi eksternal yang tidak memiliki ID Microsoft Entra.

Salah satu skenario di mana jenis pengguna sangat membantu adalah ketika sumber klaim berbeda untuk tamu dan karyawan yang mengakses aplikasi. Anda dapat menentukan bahwa jika pengguna adalah karyawan, NameID bersumber dari user.email. Jika pengguna adalah tamu, maka NameID bersumber dari user.extensionattribute1.

Untuk menambahkan kondisi klaim:

  1. Di Kelola klaim, perluas kondisi Klaim.
  2. Pilih jenis pengguna.
  3. Pilih grup tempat pengguna berada. Anda dapat memilih hingga 50 grup unik di semua klaim untuk aplikasi tertentu.
  4. Pilih Sumber tempat klaim akan mengambil nilainya. Anda dapat memilih atribut pengguna dari menu dropdown untuk atribut sumber atau menerapkan transformasi ke atribut pengguna. Anda juga dapat memilih ekstensi skema direktori (pratinjau) sebelum memancarkannya sebagai klaim.

Urutan di mana Anda menambahkan kondisi adalah penting. Microsoft Entra pertama-tama mengevaluasi semua kondisi dengan sumber Attribute dan kemudian mengevaluasi semua kondisi dengan sumber Transformation untuk memutuskan nilai mana yang akan dikeluarkan dalam klaim. Kondisi dengan sumber yang sama dievaluasi dari atas ke bawah. Nilai terakhir, yang cocok dengan ekspresi dipancarkan dalam klaim. Transformasi seperti IsNotEmpty dan Contains bertindak seperti pembatasan.

Misalnya, Britta Simon adalah pengguna tamu di penyewa Contoso. Britta milik organisasi lain yang juga menggunakan ID Microsoft Entra. Mengingat konfigurasi berikut untuk aplikasi Fabrikam, ketika Britta mencoba masuk ke Fabrikam, platform identitas Microsoft mengevaluasi kondisi.

Pertama, platform identitas Microsoft memverifikasi apakah jenis pengguna Britta adalah Semua tamu. Karena jenisnya adalah Semua tamu, platform identitas Microsoft menetapkan sumber untuk klaim ke user.extensionattribute1. Kedua, platform identitas Microsoft memverifikasi apakah jenis pengguna Britta adalah tamu Microsoft Entra. Karena jenisnya adalah Semua tamu, platform identitas Microsoft menetapkan sumber untuk klaim ke user.mail. Akhirnya, klaim dipancarkan dengan nilai user.mail untuk Britta.

Sebagai contoh lain, pertimbangkan kapan Britta Simon mencoba masuk dan konfigurasi berikut digunakan. Semua kondisi pertama kali dievaluasi dengan sumber .Attribute Karena jenis pengguna Britta adalah tamu Microsoft Entra, user.mail ditetapkan sebagai sumber untuk klaim tersebut. Selanjutnya, transformasi dievaluasi. Karena Britta adalah tamu, user.extensionattribute1 sekarang menjadi sumber baru untuk klaim tersebut. Karena Britta berada di tamu Microsoft Entra, user.othermail sekarang menjadi sumber untuk klaim ini. Akhirnya, klaim dipancarkan dengan nilai user.othermail untuk Britta.

Sebagai contoh terakhir, pertimbangkan apa yang terjadi jika Britta tidak user.othermail memiliki konfigurasi atau kosong. Dalam kedua kasus, entri kondisi diabaikan, dan klaim jatuh kembali sebagai user.extensionattribute1 gantinya.

Opsi klaim SAML tingkat lanjut

Opsi klaim tingkat lanjut dapat dikonfigurasi untuk aplikasi SAML2.0 untuk mengekspos klaim yang sama ke token OIDC dan sebaliknya untuk aplikasi yang ingin menggunakan klaim yang sama untuk token respons SAML2.0 dan OIDC.

Opsi klaim tingkat lanjut dapat dikonfigurasi dengan mencentang kotak di bawah Opsi Klaim SAML Tingkat Lanjut di bilah Kelola klaim .

Tabel berikut ini mencantumkan opsi tingkat lanjut lainnya yang dapat dikonfigurasi untuk aplikasi.

Opsi Deskripsi
Menambahkan ID aplikasi ke pengeluar sertifikat Secara otomatis menambahkan ID aplikasi ke klaim pengeluar sertifikat. Opsi ini memastikan nilai klaim unik untuk setiap instans ketika ada beberapa instans aplikasi yang sama. Pengaturan ini diabaikan jika kunci penandatanganan kustom tidak dikonfigurasi untuk aplikasi.
Mengambil alih klaim audiens Memungkinkan pengabaian klaim audiens yang dikirim ke aplikasi. Nilai yang diberikan harus berupa URI absolut yang valid. Pengaturan ini diabaikan jika kunci penandatanganan kustom tidak dikonfigurasi untuk aplikasi.
Menyertakan format nama atribut Jika dipilih, MICROSOFT Entra ID menambahkan atribut yang disebut NameFormat yang menjelaskan format nama ke klaim terbatas, inti, dan opsional untuk aplikasi. Untuk informasi selengkapnya, lihat, Jenis kebijakan pemetaan klaim

Langkah berikutnya