Pemetaan ke atribut certificateUserIds di ID Microsoft Entra

Objek pengguna di MICROSOFT Entra ID memiliki atribut bernama certificateUserIds.

  • Atribut certificateUserIds multinilai dan dapat menampung hingga 10 nilai.
  • Setiap nilai tidak boleh lebih dari 1024 karakter.
  • Setiap nilai harus unik. Setelah nilai ada di satu akun pengguna, nilai tersebut tidak dapat ditulis ke akun pengguna lain di penyewa ID Entra yang sama.
  • Nilai tidak perlu dalam format ID email. Atribut certificateUserIds dapat menyimpan nama prinsipal pengguna (UPN) yang tidak dapat dialihkan seperti bob@woodgrove atau bob@local.

Catatan

Meskipun setiap nilai harus unik dalam ID Entra, Anda dapat memetakan satu sertifikat ke beberapa akun dengan menerapkan beberapa pengikatan nama pengguna. Untuk informasi selengkapnya, lihat Beberapa pengikatan nama pengguna.

Pola yang didukung untuk ID pengguna sertifikat

Nilai yang disimpan dalam certificateUserIds harus dalam format yang dijelaskan dalam tabel berikut. Awalan X509:<Pemetaan> peka huruf besar/kecil.

Bidang pemetaan sertifikat Contoh nilai dalam certificateUserIds
PrincipalName X509:<PN>bob@woodgrove.com
PrincipalName X509:<PN>bob@woodgrove
RFC822Name X509:<RFC822>user@woodgrove.com
IssuerAndSubject X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
Subjek X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
SKI X509:<SKI>123456789abcdef
SHA1PublicKey X509:<SHA1-PUKEY>123456789abcdef
IssuerAndSerialNumber X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>b24134139f069b49997212a86ba0ef48
Untuk mendapatkan nilai yang benar untuk nomor seri, jalankan perintah ini dan simpan nilai yang ditampilkan di certificateUserIds:
Sintaks:
Certutil –dump –v [~certificate path~] >> [~dumpFile path~]
Contoh:
certutil -dump -v firstusercert.cer >> firstCertDump.txt

Peran untuk memperbarui certificateUserIds

Pengguna khusus cloud harus memiliki setidaknya peran Administrator Autentikasi Istimewa untuk memperbarui certificateUserIds. Pengguna khusus cloud dapat menggunakan pusat admin Microsoft Entra atau Microsoft Graph untuk memperbarui certificateUserIds.

Pengguna yang disinkronkan harus memiliki setidaknya peran Administrator Identitas Hibrid untuk memperbarui certificateUserIds. Hanya Microsoft Entra Koneksi yang dapat digunakan untuk memperbarui certificateUserIds dengan menyinkronkan nilai dari lokal.

Catatan

Administrator Direktori Aktif dapat membuat perubahan yang memengaruhi nilai certificateUserIds di ID Microsoft Entra untuk akun apa pun yang disinkronkan. Administrator dapat menyertakan akun dengan hak istimewa administratif yang didelegasikan atas akun pengguna yang disinkronkan, atau hak administratif atas server Microsoft Entra Koneksi.

Memperbarui certificateUserIds

Gunakan langkah-langkah berikut untuk memperbarui certificateUserIds untuk pengguna:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Autentikasi Istimewa untuk pengguna khusus cloud atau setidaknya sebagai Administrator Identitas Hibrid untuk pengguna yang disinkronkan.

  2. Cari dan pilih Semua pengguna.

    Cuplikan layar akun pengguna uji.

  3. Klik pengguna, dan klik Edit Properti.

  4. Di samping Info otorisasi, klik Tampilkan.

    Cuplikan layar Lihat info otorisasi.

  5. Klik Edit ID pengguna sertifikat.

    Cuplikan layar Edit ID pengguna sertifikat.

  6. Klik Tambahkan.

    Cuplikan layar cara menambahkan certificateUserIds.

  7. Masukkan nilai dan klik Simpan. Anda dapat menambahkan hingga empat nilai, masing-masing dari 120 karakter.

    Cuplikan layar nilai yang akan dimasukkan untuk certificateUserIds.

Memperbarui certificateUserIds menggunakan kueri Microsoft Graph

Contoh berikut menunjukkan cara menggunakan Microsoft Graph untuk mencari certificateUserIds dan memperbaruinya.

Cari certificateUserIds

Pemanggil resmi dapat menjalankan kueri Microsoft Graph untuk menemukan semua pengguna dengan nilai certificateUserId tertentu. Pada objek pengguna Microsoft Graph, kumpulan certificateUserIds disimpan di properti authorizationInfo.

Untuk mengambil certificateUserIds dari semua objek pengguna:

GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo
ConsistencyLevel: eventual

Untuk mengambil certificateUserIds untuk pengguna tertentu menurut ObjectId pengguna:

GET https://graph.microsoft.com/v1.0/users/{user-object-id}?$select=authorizationinfo
ConsistencyLevel: eventual

Untuk mengambil objek pengguna dengan nilai tertentu di certificateUserIds:

GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo&$filter=authorizationInfo/certificateUserIds/any(x:x eq 'X509:<PN>user@contoso.com')&$count=true
ConsistencyLevel: eventual

Anda juga dapat menggunakan not operator dan startsWith untuk mencocokkan kondisi filter. Untuk memfilter objek certificateUserIds, permintaan harus menyertakan $count=true string kueri, dan header ConsistencyLevel harus diatur ke eventual.

Memperbarui certificateUserIds

Jalankan permintaan PATCH untuk memperbarui certificateUserIds untuk pengguna tertentu.

Isi permintaan

PATCH https://graph.microsoft.com/v1.0/users/{user-object-id}
Content-Type: application/json
{
    "authorizationInfo": {
        "certificateUserIds": [
            "X509:<PN>123456789098765@mil"
        ]
    }
}

Memperbarui certificateUserIds menggunakan perintah PowerShell

Untuk konfigurasi ini, Anda dapat menggunakan Microsoft Graph PowerShell.

  1. Mulai PowerShell dengan hak istimewa administrator.

  2. Instal dan impor Microsoft Graph PowerShell SDK.

        Install-Module Microsoft.Graph -Scope AllUsers
        Import-Module Microsoft.Graph.Authentication
        Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. Koneksi ke penyewa dan terima semua.

       Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
    
  4. Mencantumkan atribut certificateUserIds dari pengguna tertentu.

      $results = Invoke-MGGraphRequest -Method get -Uri 'https://graph.microsoft.com/v1.0/users/<userId>?$select=authorizationinfo' -OutputType PSObject -Headers @{'ConsistencyLevel' = 'eventual' }
      #list certificateUserIds
      $results.authorizationInfo
    
  5. Buat variabel dengan nilai certificateUserIds.

      #Create a new variable to prepare the change. Ensure that you list any existing values you want to keep as this operation will overwrite the existing value
      $params = @{
            authorizationInfo = @{
                  certificateUserIds = @(
                  "X509:<SKI>eec6b88788d2770a01e01775ce71f1125cd6ad0f", 
                  "X509:<PN>user@contoso.com"
                  )
            }
      }
    
  6. Perbarui atribut certificateUserIds.

       $results = Invoke-MGGraphRequest -Method patch -Uri 'https://graph.microsoft.com/v1.0/users/<UserId>/?$select=authorizationinfo' -OutputType PSObject -Headers @{'ConsistencyLevel' = 'eventual' } -Body $params
    

Memperbarui certificateUserIds menggunakan objek pengguna

  1. Dapatkan objek pengguna.

      $userObjectId = "6b2d3bd3-b078-4f46-ac53-f862f35e10b6"
      $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
    
  2. Perbarui atribut certificateUserIds dari objek pengguna.

       $user.AuthorizationInfo.certificateUserIds = @("X509:<SKI>eec6b88788d2770a01e01775ce71f1125cd6ad0f", "X509:<PN>user1@contoso.com") 
       Update-MgUser -UserId $userObjectId -AuthorizationInfo $user.AuthorizationInfo
    

Memperbarui certificateUserIds menggunakan Microsoft Entra Koneksi

Microsoft Entra connect mendukung sinkronisasi nilai ke certificateUserIds dari lingkungan Active Directory lokal. Active Directory lokal mendukung autentikasi berbasis sertifikat dan beberapa pengikatan nama pengguna. Pastikan Anda menggunakan microsoft Entra Koneksi versi terbaru.

Untuk menggunakan metode pemetaan ini, Anda perlu mengisi atribut altSecurityIdentities objek pengguna di Active Directory lokal. Selain itu, setelah Anda menerapkan perubahan autentikasi berbasis sertifikat pada pengontrol domain Windows seperti yang dijelaskan dalam KB5014754, Anda mungkin telah menerapkan beberapa metode pemetaan yang tidak dapat digunakan kembali (Type=strong) untuk memenuhi persyaratan penegakan sertifikat kuat Active Directory lokal.

Untuk mencegah kesalahan sinkronisasi, pastikan nilai yang disinkronkan mengikuti salah satu format yang didukung untuk certificateUserIds.

Sebelum memulai, pastikan semua akun pengguna yang disinkronkan dari Active Directory lokal memiliki:

  • 5 atau lebih sedikit nilai dalam atribut altSecurityIdentities

  • Tidak ada nilai dengan lebih dari 1024 karakter

  • Tidak ada nilai duplikat

    Pertimbangkan dengan cermat apakah nilai duplikat dimaksudkan untuk memetakan satu sertifikat ke beberapa akun Active Directory lokal. Untuk informasi selengkapnya, lihat Beberapa pengikatan nama pengguna.

    Catatan

    Dalam skenario tertentu, subset pengguna mungkin memiliki pertimbangan bisnis yang valid untuk memetakan satu sertifikat ke lebih dari satu akun Active Directory lokal. Tinjau skenario ini dan jika diperlukan, terapkan metode pemetaan terpisah untuk memetakan ke lebih dari satu akun di Active Directory lokal dan ID Entra.

Pertimbangan untuk sinkronisasi certificateUserIds yang sedang berlangsung

  • Pastikan bahwa proses provisi untuk mengisi nilai dalam Active Directory lokal menerapkan kebersihan yang tepat. Hanya nilai yang terkait dengan sertifikat yang valid saat ini yang diisi.
  • Nilai dihapus saat sertifikat yang sesuai kedaluwarsa atau dicabut.
  • Nilai yang lebih besar maka 1024 karakter tidak diisi.
  • Nilai duplikat tidak disediakan.
  • Gunakan Microsoft Entra Koneksi Health untuk memantau sinkronisasi.

Ikuti langkah-langkah ini untuk mengonfigurasi Microsoft Entra Koneksi untuk menyinkronkan userPrincipalName ke certificateUserIds:

  1. Di server Microsoft Entra Koneksi, temukan dan mulai Editor Aturan Sinkronisasi.

  2. Klik Arah, dan klik Keluar.

    Cuplikan layar aturan sinkronisasi keluar.

  3. Temukan aturan Keluar ke MICROSOFT Entra ID – Identitas Pengguna, klik Edit, dan klik Ya untuk mengonfirmasi.

    Cuplikan layar identitas pengguna.

  4. Masukkan angka tinggi di bidang Prioritas , lalu klik Berikutnya.

    Cuplikan layar nilai prioritas.

  5. Klik Transformasi>Tambahkan transformasi. Anda mungkin perlu menggulir ke bawah daftar transformasi sebelum Anda dapat membuat yang baru.

Menyinkronkan X509:<PN>PrincipalNameValue

Untuk menyinkronkan X509:<PN>PrincipalNameValue, buat aturan sinkronisasi keluar, dan pilih Ekspresi dalam jenis alur. Pilih atribut target sebagai certificateUserIds, dan di bidang sumber, tambahkan ekspresi berikut. Jika atribut sumber Anda bukan userPrincipalName, Anda dapat mengubah ekspresi yang sesuai.

"X509:<PN>"&[userPrincipalName]

Cuplikan layar cara menyinkronkan x509.

Menyinkronkan X509:<RFC822>RFC822Name

Untuk menyinkronkan X509:<RFC822>RFC822Name, buat aturan sinkronisasi keluar dan pilih Ekspresi dalam jenis alur. Pilih atribut target sebagai certificateUserIds, dan di bidang sumber, tambahkan ekspresi berikut. Jika atribut sumber Anda bukan userPrincipalName, Anda dapat mengubah ekspresi yang sesuai.

"X509:<RFC822>"&[userPrincipalName]

Cuplikan layar cara menyinkronkan RFC822Name.

  1. Klik Atribut Target, pilih certificateUserIds, klik Sumber, pilih userPrincipalName, lalu klik Simpan.

    Cuplikan layar cara menyimpan aturan.

  2. Klik OK untuk mengonfirmasi.

Penting

Contoh sebelumnya menggunakan atribut userPrincipalName sebagai atribut sumber dalam aturan transformasi. Anda dapat menggunakan atribut yang tersedia dengan nilai yang sesuai. Misalnya, beberapa organisasi menggunakan atribut email. Untuk aturan transformasi yang lebih kompleks, lihat Microsoft Entra Koneksi Sync: Memahami Ekspresi Provisi Deklaratif

Untuk informasi selengkapnya tentang ekspresi provisi deklaratif, lihat Microsoft Entra Koneksi: Ekspresi Provisi Deklaratif.

Menyinkronkan atribut altSecurityIdentities dari Active Directory ke microsoft Entra ID certificateUserIds

Atribut altSecurityIdentities bukan bagian dari atribut default yang ditetapkan. Administrator perlu menambahkan atribut baru ke objek orang di Metaverse, lalu membuat aturan sinkronisasi yang sesuai untuk menyampaikan data ini ke certificateUserIds di ID Entra.

  1. Buka Metaverse Designer dan pilih objek orang. Untuk membuat atribut alternativeSecurityId, klik Atribut baru. Pilih String (tidak dapat diindeks) untuk membuat ukuran atribut hingga 1024 karakter, yang merupakan panjang maksimum yang didukung untuk certificateUserIds. Jika Anda memilih String (dapat diindeks), ukuran maksimum nilai atribut adalah 448 karakter. Pastikan Anda memilih Multinilai.

    Cuplikan layar cara membuat atribut baru.

  2. Buka Metaverse Designer, dan pilih alternativeSecurityId untuk menambahkannya ke objek orang.

    Cuplikan layar cara menambahkan alternativeSecurityId ke objek orang.

  3. Buat aturan sinkronisasi masuk untuk mengubah dari altSecurityIdentities ke atribut alternativeSecurityId.

    Dalam aturan masuk, gunakan opsi berikut.

    Opsi Nilai
    Nama Nama deskriptif aturan, seperti: Masuk dari Direktori Aktif - altSecurityIdentities
    Sistem Tersambung Domain Active Directory lokal Anda
    Jenis Objek Sistem Tersambung pengguna
    Jenis Objek Metaverse person
    Prioritas Pilih angka di bawah 100 yang saat ini tidak digunakan

    Kemudian klik Transformasi dan buat pemetaan langsung ke atribut target alternativeSecurityId dari atribut sumber altSecurityIdentities, seperti yang ditunjukkan pada cuplikan layar berikut.

    Cuplikan layar cara mengubah dari altSecurityIdentities menjadi atribut alternateSecurityId.

  4. Buat aturan sinkronisasi keluar untuk mengubah dari atribut alternativeSecurityId ke atribut certificateUserIds di Id Entra.

    Opsi Nilai
    Nama Nama deskriptif aturan, seperti: Out to Microsoft Entra ID - certificateUserIds
    Sistem Tersambung Domain Microsoft Entra Anda
    Jenis Objek Sistem Tersambung pengguna
    Jenis Objek Metaverse person
    Prioritas Pilih angka tinggi yang saat ini tidak digunakan di atas semua aturan default, seperti 150

    Kemudian klik Transformasi dan buat pemetaan langsung ke atribut target certificateUserIds dari atribut sumber alternativeSecurityId, seperti yang ditunjukkan pada cuplikan layar berikut.

    Cuplikan layar aturan sinkronisasi keluar untuk diubah dari atribut alternateSecurityId ke certificateUserIds.

  5. Jalankan sinkronisasi untuk mengisi data ke atribut certificateUserIds.

  6. Untuk memverifikasi keberhasilan, lihat info Otorisasi pengguna di ID Entra.

    Cuplikan layar sinkronisasi yang berhasil.

Untuk memetakan subset nilai dari atribut altSecurityIdentities, ganti Transformasi di langkah 4 dengan Ekspresi. Untuk menggunakan Ekspresi, lanjutkan ke tab Transformasi dan ubah opsi FlowType Anda menjadi Ekspresi, atribut target ke certificateUserIds, lalu masukkan ekspresi ke bidang Sumber. Contoh berikut hanya memfilter nilai yang selaras dengan bidang pemetaan Sertifikat SKI dan SHA1PublicKey:

Cuplikan layar Ekspresi.

Kode ekspresi:

IIF(IsPresent([alternativeSecurityId]),
                Where($item,[alternativeSecurityId],BitOr(InStr($item, "X509:<SKI>"),InStr($item, "X509:<SHA1-PUKEY>"))>0),[alternativeSecurityId]
)

Administrator dapat memfilter nilai dari altSecurityIdentities yang selaras dengan pola yang didukung. Pastikan bahwa konfigurasi CBA telah diperbarui untuk mendukung pengikatan nama pengguna yang sedang disinkronkan ke certificateUserIds untuk mengaktifkan autentikasi menggunakan nilai-nilai ini.

Langkah berikutnya