Log provisi di Azure Active Directory

Azure Active Directory (Azure AD) terintegrasi dengan beberapa layanan pihak ketiga untuk memprovisikan pengguna ke penyewa Anda. Jika Anda perlu memecahkan masalah dengan pengguna yang disediakan, Anda dapat menggunakan informasi yang diambil di log provisi Azure AD untuk membantu menemukan solusi.

Dua log aktivitas lainnya juga tersedia untuk membantu memantau kesehatan penyewa Anda:

  • Rincian Masuk - Informasi tentang rincian masuk dan bagaimana sumber daya Anda digunakan oleh pengguna Anda.
  • Audit – Informasi tentang perubahan yang diterapkan pada penyewa Anda seperti manajemen pengguna dan grup atau pembaruan yang diterapkan pada sumber daya penyewa Anda.

Artikel ini memberi Anda gambaran umum tentang log provisi.

Apa yang dapat Anda lakukan dengannya?

Anda dapat menggunakan log penyediaan untuk menemukan jawaban atas pertanyaan seperti:

  • Grup apa yang berhasil dibuat di ServiceNow?

  • Pengguna apa yang berhasil dihapus dari Adobe?

  • Pengguna dari Workday apa yang berhasil dibuat di Direktori Aktif?

Bagaimana Anda mengakses log provisi?

Untuk melihat log provisi, penyewa Anda harus memiliki lisensi Premium Azure AD yang terkait dengannya. Untuk meningkatkan edisi Microsoft Azure AD Anda, lihat Memulai Azure Active Directory Premium.

Pemilik aplikasi dapat melihat log untuk aplikasi mereka sendiri. Peran berikut diperlukan untuk melihat log provisi:

  • Pembaca Laporan
  • Pembaca Keamanan
  • Operator Keamanan
  • Administrator Keamanan
  • Admin Aplikasi
  • Admin Aplikasi Cloud
  • Administrator Global
  • Pengguna dalam peran kustom dengan izin provisioningLogs

Untuk mengakses data log provisi, Anda memiliki opsi berikut:

  • Pilih Log provisi dari bagian Pemantauan Azure AD.

  • Streaming log provisi ke Azure Monitor. Metode ini memungkinkan retensi data yang diperluas dan membangun dasbor, pemberitahuan, dan kueri kustom.

  • Mengkueri Microsoft Graph API untuk log provisi.

  • Unduh log provisi sebagai file CSV atau JSON.

Menampilkan log provisi

Untuk melihat log provisi dengan lebih efektif, luangkan beberapa saat untuk menyesuaikan tampilan untuk kebutuhan Anda. Anda dapat menentukan kolom apa yang akan disertakan dan memfilter data untuk mempersempit hal-hal.

Mengkustomisasi tata letak

Log provisi memiliki tampilan default, tetapi Anda dapat menyesuaikan kolom.

  1. Pilih Kolom dari menu di bagian atas log.
  2. Pilih kolom yang ingin Anda tampilkan dan pilih tombol Simpan di bagian bawah jendela.

Cuplikan layar yang memperlihatkan tombol untuk mengustomisasi kolom.

Area ini memungkinkan Anda menampilkan lebih banyak bidang atau menghapus bidang yang sudah ditampilkan.

Memfilter hasil

Saat Anda memfilter data provisi, beberapa nilai filter diisi secara dinamis berdasarkan penyewa Anda. Misalnya, jika Anda tidak memiliki peristiwa "buat" di penyewa Anda, tidak akan ada opsi Buat filter.

Filter Identitas memungkinkan Anda menentukan nama atau identitas yang Anda pedulikan. Identitas ini mungkin pengguna, grup, peran, atau obyek lainnya.

Anda dapat mencari berdasarkan nama atau ID objek. ID bervariasi menurut skenario.

  • Jika Anda menyediakan objek dari Azure AD ke Salesforce, ID sumber adalah ID objek pengguna di Azure AD. ID target adalah ID pengguna di Salesforce.
  • Jika Anda memprovisikan dari Workday ke Azure AD, ID sumber adalah ID karyawan pekerja Workday. ID target adalah ID pengguna di Azure AD.

Catatan

Nama pengguna mungkin tidak selalu ada di kolom Identitas. Akan selalu ada satu ID.

Filter Tanggal memungkinkan Anda menentukan jangka waktu untuk data yang dikembalikan. Nilai yang mungkin adalah:

  • Satu bulan
  • Tujuh hari
  • 30 hari
  • 24 jam
  • Interval waktu kustom (mengonfigurasi tanggal mulai dan tanggal selesai)

Filter Status memungkinkan Anda untuk memilih:

  • Semua
  • Berhasil
  • Kegagalan
  • Dilompati

Filter Tindakan memungkinkan Anda memfilter tindakan ini:

  • Buat
  • Pembaruan
  • Hapus
  • Nonaktifkan
  • Lainnya

Selain filter tampilan default, Anda bisa mengatur filter berikut.

  • ID Pekerjaan: ID pekerjaan unik dikaitkan dengan setiap aplikasi yang telah Anda aktifkan provisinya.

  • ID Siklus: ID siklus secara unik mengidentifikasi siklus provisi. Anda dapat membagikan ID ini dengan dukungan produk untuk mencari siklus di mana peristiwa ini terjadi.

  • ID Perubahan: ID perubahan adalah pengidentifikasi unik untuk peristiwa provisi. Anda dapat membagikan ID ini dengan dukungan produk untuk mencari peristiwa provisi.

  • Sistem Sumber: Anda dapat menentukan dari mana identitas mendapatkan provisi. Misalnya, saat Anda memprovisikan objek dari Microsoft Azure AD ke ServiceNow, sistem sumbernya adalah Microsoft Azure AD.

  • Sistem Target: Anda dapat menentukan di mana identitas akan diprovisikan. Misalnya, saat Anda memprovisikan objek dari Microsoft Azure AD ke ServiceNow, sistem targetnya adalah ServiceNow.

  • Aplikasi: Anda hanya dapat menampilkan rekaman aplikasi dengan nama tampilan yang berisi string tertentu.

Menganalisis log provisi

Saat Anda memilih item dalam tampilan daftar provisi, Anda mendapatkan detail selengkapnya tentang item ini, seperti langkah-langkah yang diambil untuk memprovisikan pengguna dan tips untuk memecahkan masalah. Detail dikelompokkan ke dalam empat tab.

  • Langkah-langkah: Menguraikan langkah-langkah yang diambil untuk memprovisikan objek. Provisi objek dapat terdiri dari empat langkah:

    1. Mengimpor objek.
    2. Menentukan apakah objek berada dalam cakupan.
    3. Mencocokkan objek antara sumber dan target.
    4. Memprovisikan objek (membuat, memperbarui, menghapus, atau menonaktifkan).

    Cuplikan layar memperlihatkan langkah-langkah provisi pada tab Langkah-langkah.

  • Pemecahan Masalah & Rekomendasi: Memberikan kode galat dan alasannya. Informasi kesalahan hanya didapatkan jika kegagalan terjadi.

  • Properti yang Dimodifikasi: Menampilkan nilai lama dan nilai baru. Jika tidak ada nilai lama, kolom tersebut kosong.

  • Ringkasan: Memberikan gambaran umum tentang apa yang terjadi dan pengidentifikasi untuk objek di sistem sumber dan target.

Mengunduh log sebagai CSV atau JSON

Anda dapat mengunduh log provisi untuk digunakan nanti dengan masuk ke log di portal Microsoft Azure dan memilih Unduh. File akan difilter berdasarkan kriteria filter yang Anda pilih. Buat filter sesering mungkin untuk mengurangi ukuran dan waktu pengunduhan.

Unduhan CSV mencakup tiga file:

  • ProvisioningLogs: Mengunduh semua log, kecuali langkah-langkah provisi dan properti yang dimodifikasi.
  • ProvisioningLogs_ProvisioningSteps: Berisi langkah-langkah provisi dan ID perubahan. Anda dapat menggunakan ID perubahan untuk bergabung dalam peristiwa dengan dua file lainnya.
  • ProvisioningLogs_ModifiedProperties: Berisi atribut yang diubah dan ID perubahan. Anda dapat menggunakan ID perubahan untuk bergabung dalam peristiwa dengan dua file lainnya.

Membuka file JSON

Untuk membuka file JSON, gunakan editor teks seperti Microsoft Visual Studio Code. Visual Studio Code membuat file lebih mudah dibaca dengan menyediakan penyorotan sintaks. Anda juga dapat membuka file JSON dengan menggunakan browser dalam format yang tidak dapat diubah, seperti Microsoft Edge.

Mendandani file JSON

File JSON diunduh dalam format yang diperkecil untuk mengurangi ukuran unduhan. Format ini dapat membuat payload sulit dibaca. Lihat dua opsi untuk mendandani file:

  • Gunakan Visual Studio Code untuk memformat JSON.

  • Gunakan PowerShell untuk memformat JSON. Skrip ini akan menghasilkan JSON dalam format yang menyertakan tab dan spasi:

    $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

    $JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>

Memilah file JSON

Berikut adalah beberapa sampel perintah untuk bekerja dengan file JSON dengan menggunakan PowerShell. Anda dapat menggunakan bahasa pemrograman apa pun yang Anda sukai.

Pertama, baca file JSON dengan menjalankan perintah ini:

$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

Sekarang Anda dapat memilah data sesuai dengan skenario Anda. Berikut adalah beberapa contohnya:

  • Output semua ID pekerjaan dalam file JSON:

    foreach ($provitem in $JSONContent) { $provitem.jobId }

  • Output semua perubahan ID untuk kejadian di mana tindakan tersebut "buat":

    foreach ($provitem in $JSONContent) { if ($provItem.action -eq 'Create') { $provitem.changeId } }

Apa yang harus Anda ketahui

Berikut adalah beberapa tips dan pertimbangan untuk memprovisikan laporan:

  • Portal Microsoft Azure menyimpan data provisi selama 30 hari jika Anda memiliki edisi premium dan 7 hari jika Anda memiliki edisi gratis. Anda dapat menerbitkan log provisi ke Analitik Log untuk retensi lebih dari 30 hari.

  • Anda dapat menggunakan atribut ID perubahan sebagai pengidentifikasi unik, yang dapat membantu saat berinteraksi dengan dukungan produk, misalnya.

  • Anda mungkin melihat peristiwa yang dilewati untuk pengguna yang tidak berada dalam cakupan. Perilaku ini diharapkan, terutama ketika cakupan sinkronisasi diatur ke semua pengguna dan grup. Layanan ini akan mengevaluasi semua objek dalam penyewa, bahkan yang berada di luar cakupan.

  • Log provisi tidak menampilkan impor peran (berlaku untuk AWS, Salesforce, dan Zendesk). Anda dapat menemukan log untuk impor peran dalam log audit.

Kode galat

Gunakan tabel berikut untuk lebih memahami cara mengatasi kesalahan yang Anda temukan di log provisi. Untuk kode galat apa pun yang hilang, berikan tanggapan dengan menggunakan tautan di bagian bawah halaman ini.

Kode kesalahan Deskripsi
Konflik
EntryConflict
Perbaiki nilai atribut yang berkonflik baik di Microsoft Azure AD atau aplikasi. Atau, tinjau konfigurasi atribut pencocokan Anda jika akun pengguna yang berkonflik seharusnya cocok dan diambil alih. Tinjau dokumentasi untuk informasi selengkapnya tentang mengonfigurasi atribut yang cocok.
TooManyRequests Aplikasi target menolak upaya ini untuk memperbarui pengguna karena kelebihan beban dan menerima terlalu banyak permintaan. Tidak ada yang bisa dilakukan. Upaya ini akan secara otomatis dihentikan. Microsoft juga telah diberitahu tentang masalah ini.
InternalServerError Aplikasi target mengembalikan kesalahan yang tidak terduga. Masalah layanan dengan aplikasi target mungkin mencegahnya bekerja. Upaya ini secara otomatis akan diulangi dalam 40 menit.
InsufficientRights,
MethodNotAllowed,
TidakPermitted,
Tidak diizinkan
Azure AD diautentikasi dengan aplikasi target tetapi tidak berwenang untuk melakukan pembaruan. Tinjau setiap instruksi yang telah disediakan aplikasi target, bersama dengan tutorial aplikasi masing-masing.
UnprocessableEntity Aplikasi target mengembalikan respons yang tidak terduga. Konfigurasi aplikasi target mungkin tidak benar, atau masalah layanan dengan aplikasi target mungkin mencegahnya bekerja.
WebExceptionProtocolError Terjadi kesalahan protokol HTTP saat menyambungkan ke aplikasi target. Tidak ada yang bisa dilakukan. Upaya ini secara otomatis akan diulangi dalam 40 menit.
InvalidAnchor Pengguna yang sebelumnya dibuat atau dicocokkan oleh layanan provisi tidak ada lagi. Pastikan bahwa pengguna ada. Untuk memaksa pencocokan baru semua pengguna, gunakan Microsoft Graph API untuk memulai ulang pekerjaan.

Memulai ulang provisi akan memicu siklus awal, yang mungkin membutuhkan waktu untuk diselesaikan. Memulai ulang provisi juga menghapus cache yang digunakan layanan provisi untuk beroperasi. Itu berarti semua pengguna dan grup dalam penyewa harus dievaluasi lagi, dan peristiwa provisi tertentu mungkin dihilangkan.
NotImplemented Aplikasi target mengembalikan respons yang tidak terduga. Konfigurasi aplikasi mungkin tidak benar, atau masalah layanan dengan aplikasi target mungkin mencegahnya berfungsi. Tinjau setiap instruksi yang telah disediakan aplikasi target, bersama dengan tutorial aplikasi masing-masing.
MandatoryFieldsMissing,
Nilai Hilang
Pengguna tidak dapat dibuat karena nilai yang diperlukan hilang. Koreksi nilai atribut yang hilang di rekaman sumber, atau tinjau konfigurasi atribut yang cocok untuk memastikan bahwa bidang yang diperlukan tidak dihilangkan. Pelajari selengkapnya tentang mengonfigurasi atribut yang cocok.
SchemaAttributeNotFound Operasi tidak dapat dilakukan karena atribut ditentukan yang tidak ada di aplikasi target. Lihat dokumentasi tentang penyesuaian atribut dan pastikan bahwa konfigurasi Anda sudah benar.
InternalError Terjadi kesalahan layanan internal dalam layanan provisi Microsoft Azure AD. Tidak ada yang bisa dilakukan. Upaya ini secara otomatis akan diulangi dalam 40 menit.
InvalidDomain Operasi tidak dapat dilakukan karena nilai atribut berisi nama domain yang tidak valid. Perbarui nama domain pada pengguna atau tambahkan ke daftar yang diizinkan di aplikasi target.
Batas waktu Operasi tidak dapat diselesaikan karena aplikasi target membutuhkan waktu terlalu lama untuk merespons. Tidak ada yang bisa dilakukan. Upaya ini secara otomatis akan diulangi dalam 40 menit.
LicenseLimitExceeded Pengguna tidak dapat dibuat di aplikasi target karena tidak ada lisensi yang tersedia untuk pengguna ini. Dapatkan lebih banyak lisensi untuk aplikasi target. Atau, tinjau penugasan pengguna dan konfigurasi pemetaan atribut Anda untuk memastikan bahwa pengguna yang benar ditetapkan dengan atribut yang benar.
DuplicateTargetEntries Operasi tidak dapat diselesaikan karena lebih dari satu pengguna dalam aplikasi target ditemukan dengan atribut pencocokan yang dikonfigurasi. Hapus pengguna duplikat dari aplikasi target, atau konfigurasi ulang pemetaan atribut Anda.
DuplicateSourceEntries Operasi tidak dapat diselesaikan karena lebih dari satu pengguna ditemukan dengan atribut pencocokan yang dikonfigurasi. Hapus pengguna duplikat, atau konfigurasi ulang pemetaan atribut Anda.
ImportSkipped Ketika setiap pengguna dievaluasi, sistem mencoba mengimpor pengguna dari sistem sumber. Kesalahan ini biasanya terjadi ketika pengguna yang sedang diimpor tidak memiliki properti yang cocok yang ditentukan dalam pemetaan atribut Anda. Tanpa nilai yang ada pada objek pengguna untuk atribut pencocokan, sistem tidak dapat mengevaluasi perubahan cakupan, pencocokan, atau ekspor. Kehadiran kesalahan ini tidak menunjukkan bahwa pengguna berada dalam cakupan, karena Anda belum mengevaluasi cakupan untuk pengguna.
EntrySynchronizationSkipped Layanan provisi telah berhasil mengkueri sistem sumber dan mengidentifikasi pengguna. Tidak ada tindakan lebih lanjut yang diambil terhadap pengguna dan mereka dilewati. Pengguna mungkin telah keluar dari cakupan, atau pengguna mungkin sudah ada di sistem target tanpa perlu perubahan lebih lanjut.
SystemForCrossDomainIdentity
ManagementMultipleEntriesInResponse
Permintaan GET untuk mengambil pengguna atau grup yang menerima banyak pengguna atau grup sebagai respons. Sistem hanya mengharapkan untuk menerima satu pengguna atau grup dalam respons. Misalnya, jika Anda melakukan permintaan GRUP GET untuk mengambil grup, berikan filter untuk mengecualikan anggota, dan titik akhir System for Cross-Domain Identity Management (SCIM) Mengembalikan anggota, Anda akan mendapatkan kesalahan ini.
SystemForCrossDomainIdentity
ManagementServiceIncompatible
Layanan penyediaan Azure Active Directory tidak dapat menguraikan respons dari aplikasi pihak ketiga. Bekerja dengan pengembang aplikasi untuk memastikan bahwa server SCIM kompatibel dengan klien SCIM Azure AD.
SchemaPropertyCanOnlyAcceptValue Properti di sistem target hanya dapat menerima satu nilai, tetapi properti di sistem sumber memiliki beberapa. Pastikan Anda memetakan atribut bernilai tunggal ke properti yang melempar kesalahan, memperbarui nilai di sumber menjadi bernilai tunggal, atau menghapus atribut dari pemetaan.

Langkah berikutnya