Tutorial: Mengonfigurasi SAP Cloud Identity Services untuk provisi pengguna otomatis

Tutorial ini menunjukkan langkah-langkah untuk mengonfigurasi provisi dari ID Microsoft Entra ke SAP Cloud Identity Services. Tujuannya adalah untuk menyiapkan ID Microsoft Entra untuk secara otomatis memprovisi dan mendeprovisi pengguna ke SAP Cloud Identity Services, sehingga pengguna tersebut dapat mengautentikasi ke SAP Cloud Identity Services dan memiliki akses ke beban kerja SAP lainnya. SAP Cloud Identity Services mendukung provisi dari direktori identitas lokalnya ke aplikasi SAP lainnya sebagai sistem target.

Catatan

Tutorial ini menjelaskan konektor yang dibangun dalam layanan provisi pengguna Microsoft Entra. Untuk detail penting tentang apa yang dilakukan layanan ini, cara kerjanya, dan tanya jawab umum, lihat Mengotomatiskan provisi dan deprovisi pengguna ke aplikasi SaaS dengan ID Microsoft Entra. SAP Cloud Identity Services juga memiliki konektor terpisah sendiri untuk membaca pengguna dan grup dari ID Microsoft Entra. Untuk informasi selengkapnya, lihat SAP Cloud Identity Services - Provisi Identitas - ID Microsoft Entra sebagai sistem sumber.

Prasyarat

Skenario yang diuraikan dalam tutorial ini mengasumsikan bahwa Anda sudah memiliki prasyarat berikut:

Catatan

Integrasi ini juga tersedia untuk digunakan dari lingkungan Microsoft Entra US Government Cloud. Anda dapat menemukan aplikasi ini di Microsoft Entra US Government Cloud Application Gallery dan mengonfigurasinya dengan cara yang sama seperti yang Anda lakukan dari lingkungan cloud publik.

Jika Anda mengonfigurasi provisi ke SAP Cloud Identity Services di lingkungan produksi, di mana Anda akan mengatur akses ke beban kerja SAP menggunakan Tata Kelola ID Microsoft Entra, tinjau prasyarat sebelum mengonfigurasi ID Microsoft Entra untuk tata kelola identitas sebelum melanjutkan.

Menyiapkan SAP Cloud Identity Services untuk provisi

  1. Masuk ke Konsol Admin SAP Cloud Identity Services Anda, https://<tenantID>.accounts.ondemand.com/admin atau https://<tenantID>.trial-accounts.ondemand.com/admin jika uji coba. Navigasi ke Pengguna & Administrator Otorisasi>.

    Cuplikan layar Konsol Admin SAP Cloud Identity Services.

  2. Tekan tombol +Tambah pada panel sebelah kiri untuk menambahkan administrator baru ke daftar. Pilih Tambahkan Sistem dan masukkan nama sistem.

    Catatan

    Identitas administrator di SAP Cloud Identity Services harus berjenis Sistem. Pengguna administrator tidak akan dapat mengautentikasi ke API SAP SCIM saat provisi. SAP Cloud Identity Services tidak mengizinkan nama sistem diubah setelah dibuat.

  3. Di bawah Konfigurasikan Otorisasi, aktifkan tombol alihkan terhadap Kelola Pengguna. Lalu klik Simpan untuk membuat sistem.

    Cuplikan layar SAP Cloud Identity Services Tambahkan SCIM.

  4. Setelah sistem administrator dibuat, tambahkan rahasia baru ke sistem tersebut.

  5. Salin ID Klien dan Rahasia Klien yang dihasilkan oleh SAP. Nilai-nilai ini akan dimasukkan di bidang Nama Pengguna Admin dan Kata Sandi Admin masing-masing. Ini dilakukan di tab Provisi aplikasi SAP Cloud Identity Services Anda, yang akan Anda siapkan di bagian berikutnya.

  6. SAP Cloud Identity Services mungkin memiliki pemetaan ke satu atau beberapa aplikasi SAP sebagai sistem target. Periksa apakah ada atribut pada pengguna yang perlu disediakan aplikasi SAP tersebut melalui SAP Cloud Identity Services. Tutorial ini mengasumsikan SAP Cloud Identity Services dan sistem target hilir memerlukan dua atribut, userName dan emails[type eq "work"].value. Jika sistem target SAP Anda memerlukan atribut lain, dan itu bukan bagian dari skema pengguna ID Microsoft Entra Anda, maka Anda mungkin perlu mengonfigurasi atribut ekstensi sinkronisasi.

Sebelum mengonfigurasi ID Microsoft Entra agar memiliki provisi pengguna otomatis ke SAP Cloud Identity Services, Anda perlu menambahkan SAP Cloud Identity Services dari galeri aplikasi Microsoft Entra ke daftar aplikasi perusahaan penyewa Anda. Anda dapat melakukan langkah ini di pusat admin Microsoft Entra, atau melalui Graph API.

Jika SAP Cloud Identity Services sudah dikonfigurasi untuk akses menyeluruh dari Microsoft Entra, dan aplikasi sudah ada di daftar Microsoft Entra aplikasi perusahaan Anda, maka lanjutkan di bagian berikutnya.

Untuk menambahkan SAP Cloud Identity Services dari galeri aplikasi Microsoft Entra menggunakan pusat admin Microsoft Entra, lakukan langkah-langkah berikut:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
  2. Telusuri aplikasi Identity>Applications>Enterprise Aplikasi> baru.
  3. Untuk menambahkan aplikasi dari galeri, ketik SAP Cloud Identity Services di kotak pencarian.
  4. Pilih SAP Cloud Identity Services dari panel hasil, lalu tambahkan aplikasi. Tunggu beberapa saat selagi aplikasi ditambahkan ke penyewa Anda.

Mengonfigurasi provisi pengguna otomatis ke SAP Cloud Identity Services

Bagian ini memandu Anda melalui langkah-langkah untuk mengonfigurasi layanan provisi Microsoft Entra untuk membuat, memperbarui, dan menonaktifkan pengguna di SAP Cloud Identity Services berdasarkan penugasan pengguna ke aplikasi di ID Microsoft Entra.

Untuk mengonfigurasi provisi pengguna otomatis untuk SAP Cloud Identity Services di ID Microsoft Entra:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.

  2. Telusuri aplikasi Identity>Applications>Enterprise

    Cuplikan layar bilah aplikasi Enterprise.

  3. Dalam daftar aplikasi, pilih aplikasi, SAP Cloud Identity Services.

    Cuplikan layar tautan SAP Cloud Identity Services di daftar Aplikasi.

  4. Pilih tab Properti.

  5. Verifikasi bahwa opsi Tugas diperlukan? diatur ke Ya. Jika diatur ke Tidak, semua pengguna di direktori Anda, termasuk identitas eksternal, dapat mengakses aplikasi dan Anda tidak dapat meninjau akses ke aplikasi.

  6. Pilih Provisi tab.

    Cuplikan layar opsi Kelola dengan opsi Provisi dipilih.

  7. Atur Mode Provisi ke Otomatis.

    Cuplikan layar daftar tarik-turun Mode Provisi dengan opsi Otomatis ditampilkan.

  8. Di bawah bagian Info Masuk Admin, masukkan https://<tenantID>.accounts.ondemand.com/service/scim, atau https://<tenantid>.trial-accounts.ondemand.com/service/scim jika uji coba, dengan ID penyewa SAP Cloud Identity Services Anda di URL Penyewa. Masukkan nilai ID Klien dan Rahasia Klien yang diambil sebelumnya di Nama Pengguna Admin dan Kata Sandi Admin masing-masing. Klik Uji Koneksi ion untuk memastikan ID Microsoft Entra dapat tersambung ke SAP Cloud Identity Services. Jika koneksi gagal, pastikan akun sistem SAP Cloud Identity Services Anda memiliki izin Admin, rahasia masih valid, dan coba lagi.

    Cuplikan layar URL Penyewa dan Token.

  9. Di bidang Email Pemberitahuan, masukkan alamat email seseorang atau grup yang akan menerima pemberitahuan kesalahan provisi dan centang kotak centang - Kirim pemberitahuan email saat kegagalan terjadi.

    Cuplikan layar Email Pemberitahuan.

  10. Klik Simpan.

  11. Di bawah bagian Pemetaan, pilih Provisikan pengguna ID Microsoft Entra.

    Cuplikan layar Pemetaan Pengguna SAP Cloud Identity Services.

  12. Tinjau atribut pengguna yang disinkronkan dari ID Microsoft Entra ke SAP Cloud Identity Services di bagian Pemetaan Atribut. Jika Anda tidak melihat atribut di SAP Cloud Identity Services Anda yang tersedia sebagai target untuk pemetaan, pilih Tampilkan opsi tingkat lanjut dan pilih Edit daftar atribut untuk Layanan Autentikasi Identitas Platform Cloud SAP untuk mengedit daftar atribut yang didukung. Tambahkan atribut penyewa SAP Cloud Identity Services Anda.

  13. Tinjau dan rekam atribut sumber dan target yang dipilih sebagai properti Pencocokan , pemetaan yang memiliki prioritas Pencocokan, karena atribut ini digunakan untuk mencocokkan akun pengguna di SAP Cloud Identity Services untuk layanan provisi Microsoft Entra untuk menentukan apakah akan membuat pengguna baru atau memperbarui pengguna yang sudah ada. Untuk informasi selengkapnya tentang pencocokan, lihat mencocokkan pengguna di sistem sumber dan target. Dalam langkah berikutnya, Anda akan memastikan bahwa setiap pengguna yang sudah ada di SAP Cloud Identity Services memiliki atribut yang dipilih sebagai properti Pencocokan yang diisi, untuk mencegah pengguna duplikat dibuat.

  14. Konfirmasikan bahwa ada pemetaan atribut untuk IsSoftDeleted, atau fungsi yang berisi IsSoftDeleted, dipetakan ke atribut aplikasi. Ketika pengguna tidak ditetapkan dari aplikasi, dihapus sementara di ID Microsoft Entra, atau diblokir dari masuk, layanan provisi Microsoft Entra akan memperbarui atribut yang dipetakan ke isSoftDeleted. Jika tidak ada atribut yang dipetakan, pengguna yang nantinya tidak ditetapkan dari peran aplikasi akan terus ada di penyimpanan data aplikasi.

  15. Tambahkan pemetaan tambahan yang diperlukan oleh SAP Cloud Identity Services Anda, atau sistem SAP target hilir.

  16. Pilih tombol Simpan untuk menerapkan perubahan apa pun.

    Atribut Jenis Didukung untuk pemfilteran Diperlukan oleh SAP Cloud Identity Services
    userName String
    emails[type eq "work"].value String
    active Boolean
    displayName String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager Referensi
    addresses[type eq "work"].country String
    addresses[type eq "work"].locality String
    addresses[type eq "work"].postalCode String
    addresses[type eq "work"].region String
    addresses[type eq "work"].streetAddress String
    name.givenName String
    name.familyName String
    name.honorificPrefix String
    phoneNumbers[type eq "fax"].value String
    phoneNumbers[type eq "mobile"].value String
    phoneNumbers[type eq "work"].value String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization String
    locale String
    timezone String
    userType String
    company String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10 String
    sendMail String
    mailVerified String
  17. Untuk mengonfigurasi filter cakupan, lihat instruksi berikut yang disediakan dalam Tutorial filter cakupan.

  18. Untuk mengaktifkan layanan provisi Microsoft Entra untuk SAP Cloud Identity Services, ubah Status Provisi menjadi Aktif di bagian Pengaturan.

    Cuplikan layar Status Provisi Diaktifkan.

  19. Untuk nilai Cakupan di bagian Pengaturan, pilih Sinkronkan hanya pengguna dan grup yang ditetapkan.

    Cuplikan layar Cakupan Provisi.

  20. Ketika Anda siap untuk memprovisi, klik Simpan.

    Cuplikan layar Konfigurasi Provisi Penyimpanan.

Operasi ini dimulai dengan sinkronisasi awal dari semua pengguna yang ditentukan dalam Cakupan di bagian Pengaturan. Jika Anda memiliki cakupan yang diatur ke Sinkronkan hanya pengguna dan grup yang ditetapkan dan tidak ada pengguna atau grup yang ditetapkan ke aplikasi, maka tidak ada sinkronisasi yang akan terjadi, sampai pengguna ditetapkan ke aplikasi.

Memprovisikan pengguna uji baru dari ID Microsoft Entra ke SAP Cloud Identity Services

Disarankan agar satu pengguna uji Microsoft Entra baru ditetapkan ke SAP Cloud Identity Services untuk menguji konfigurasi provisi pengguna otomatis.

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud dan Administrator Pengguna.
  2. Telusuri ke Pengguna>Identitas>Semua pengguna.
  3. Pilih Pengguna>baru Buat pengguna baru.
  4. Ketik nama prinsipal pengguna dan Nama Tampilan pengguna uji baru. Nama utama pengguna harus unik dan tidak sama dengan pengguna Microsoft Entra atau pengguna SAP Cloud Identity Services saat ini atau sebelumnya. Pilih Tinjau + buat dan Buat.
  5. Setelah pengguna uji dibuat, telusuri ke Aplikasi Perusahaan Aplikasi>Identitas>.
  6. Pilih aplikasi SAP Cloud Identity Services.
  7. Pilih Pengguna dan grup lalu pilih Tambahkan pengguna/grup.
  8. Di kotak teks Pengguna dan grup , pilih Tidak Ada yang Dipilih, dan di, ketik nama utama pengguna pengguna uji.
  9. Pilih Pilih, lalu Tetapkan.
  10. Pilih Provisi lalu pilih Provisi sesuai permintaan.
  11. Dalam kotak teks Pilih pengguna atau grup , ketik nama utama pengguna pengguna uji.
  12. Klik Provisi.
  13. Tunggu hingga proses provisi selesai. Jika berhasil, Anda akan melihat pesan Modified attributes (successful).

Anda juga dapat secara opsional memverifikasi apa yang akan disediakan layanan provisi Microsoft Entra saat pengguna keluar dari cakupan aplikasi.

  1. Pilih Pengguna dan grup.
  2. Pilih pengguna uji, lalu pilih Hapus.
  3. Setelah pengguna uji dihapus, pilih Provisi lalu pilih Provisi sesuai permintaan.
  4. Dalam kotak teks Pilih pengguna atau grup , ketik nama utama pengguna pengguna uji hanya tidak ditetapkan.
  5. Klik Provisi.
  6. Tunggu hingga proses provisi selesai.

Terakhir, Anda dapat menghapus pengguna uji dari ID Microsoft Entra.

  1. Telusuri ke Pengguna>Identitas>Semua pengguna.
  2. Pilih pengguna uji, pilih Hapus, dan pilih OK. Tindakan ini menghapus sementara pengguna uji dari ID Microsoft Entra.

Anda juga kemudian dapat menghapus pengguna uji dari SAP Cloud Identity Services.

Pastikan pengguna SAP Cloud Identity Services yang ada memiliki atribut pencocokan yang diperlukan

Sebelum menetapkan pengguna non-uji ke aplikasi SAP Cloud Identity Services di ID Microsoft Entra, Anda harus memastikan bahwa setiap pengguna yang sudah berada di SAP Cloud Identity Services yang mewakili orang yang sama dengan pengguna di ID Microsoft Entra, memiliki atribut pemetaan yang diisi di layanan Identitas Cloud SAP.

Dalam pemetaan provisi, atribut yang dipilih sebagai properti Pencocokan digunakan untuk mencocokkan akun pengguna di ID Microsoft Entra dengan akun pengguna di SAP Cloud Identity Services. Jika ada pengguna di MICROSOFT Entra ID tanpa kecocokan di SAP Cloud Identity Services, maka layanan provisi Microsoft Entra akan mencoba membuat pengguna baru. Jika ada pengguna di MICROSOFT Entra ID dan kecocokan di SAP Cloud Identity Services, maka layanan provisi Microsoft Entra akan memperbarui pengguna SAP Cloud Identity Services tersebut. Untuk alasan ini, Anda harus memastikan bahwa setiap pengguna yang sudah berada di SAP Cloud Identity Services memiliki atribut yang dipilih sebagai properti Pencocokan yang diisi, jika tidak, pengguna duplikat dapat dibuat. Jika Anda perlu mengubah atribut yang cocok di pemetaan atribut aplikasi Microsoft Entra Anda, lihat mencocokkan pengguna di sistem sumber dan target.

  1. Masuk ke Konsol Admin SAP Cloud Identity Services Anda, https://<tenantID>.accounts.ondemand.com/admin atau https://<tenantID>.trial-accounts.ondemand.com/admin jika uji coba.

  2. Navigasi ke Pengguna & Pengguna Ekspor Otorisasi>.

  3. Pilih semua atribut yang diperlukan untuk mencocokkan pengguna Microsoft Entra dengan yang ada di SAP. Atribut ini mencakup SCIM IDatribut , userName, emails, dan lainnya yang mungkin Anda gunakan dalam sistem SAP Anda sebagai pengidentifikasi.

  4. Pilih Ekspor dan tunggu browser mengunduh file CSV.

  5. Buka jendela PowerShell.

  6. Ketik skrip berikut ke dalam editor. Di baris satu, jika Anda memilih atribut pencocokan yang berbeda selain userName, ubah nilai sapScimUserNameField variabel menjadi nama atribut SAP Cloud Identity Services. Di baris dua, ubah argumen ke nama file file CSV yang diekspor dari Users-exported-from-sap.csv ke nama file yang Anda unduh.

    $sapScimUserNameField = "userName"
    $existingSapUsers = import-csv -Path ".\Users-exported-from-sap.csv" -Encoding UTF8
    $count = 0
    $warn = 0
    foreach ($u in $existingSapUsers) {
     $id = $u.id
     if (($null -eq $id) -or ($id.length -eq 0)) {
         write-error "Exported CSV file does not contain the id attribute of SAP Cloud Identity Services users."
         throw "id attribute not available, re-export"
         return
     }
     $count++
     $userName = $u.$sapScimUserNameField
     if (($null -eq $userName) -or ($userName.length -eq 0)) {
         write-warning "SAP Cloud Identity Services user $id does not have a $sapScimUserNameField attribute populated"
         $warn++
     }
    }
    write-output "$warn of $count users in SAP Cloud Identity Services did not have the $sapScimUserNameFIeld attribute populated."
    
  7. Jalankan skrip. Ketika skrip selesai, jika ada satu atau beberapa pengguna yang tidak memiliki atribut pencocokan yang diperlukan, maka cari pengguna tersebut dalam file CSV yang diekspor atau di Konsol Admin SAP Cloud Identity Services. Jika pengguna tersebut juga ada di Microsoft Entra, maka Anda harus terlebih dahulu memperbarui representasi SAP Cloud Identity Services dari pengguna tersebut sehingga mereka memiliki atribut yang cocok diisi.

  8. Setelah Anda memperbarui atribut pengguna tersebut di SAP Cloud Identity Services, lalu mengekspor ulang pengguna dari SAP Cloud Identity Services, seperti yang dijelaskan dalam langkah 2-5, dan langkah-langkah PowerShell di bagian ini, untuk mengonfirmasi tidak ada pengguna di SAP Cloud Identity Services yang tidak memiliki atribut yang cocok yang akan mencegah provisi kepada pengguna tersebut.

Sekarang setelah Anda memiliki daftar semua pengguna yang diperoleh dari SAP Cloud Identity Services, Anda akan mencocokkan pengguna tersebut dari penyimpanan data aplikasi, dengan pengguna yang sudah berada di ID Microsoft Entra, untuk menentukan pengguna mana yang harus berada dalam cakupan provisi.

Mengambil ID pengguna di ID Microsoft Entra

Bagian ini memperlihatkan cara berinteraksi dengan ID Microsoft Entra dengan menggunakan cmdlet Microsoft Graph PowerShell .

Pertama kali organisasi Anda menggunakan cmdlet ini untuk skenario ini, Anda harus berada dalam peran Administrator Global agar Microsoft Graph PowerShell dapat digunakan di penyewa Anda. Interaksi selanjutnya dapat menggunakan peran dengan hak istimewa yang lebih rendah, seperti:

  • Administrator Pengguna, jika Anda mengantisipasi pembuatan pengguna baru.
  • Administrator Aplikasi atau Administrator Tata Kelola Identitas, jika Anda hanya mengelola penetapan peran aplikasi.
  1. Buka PowerShell.

  2. Jika Anda belum menginstal modul Microsoft Graph PowerShell , instal modul Microsoft.Graph.Users dan lainnya dengan menggunakan perintah ini:

    Install-Module Microsoft.Graph
    

    Jika Anda sudah menginstal modul, pastikan Anda menggunakan versi terbarunya:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Koneksi ke ID Microsoft Entra:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Jika ini pertama kalinya Anda menggunakan perintah ini, Anda mungkin perlu menyetujui untuk mengizinkan alat Baris Perintah Microsoft Graph memiliki izin ini.

  5. Baca daftar pengguna yang diperoleh dari penyimpanan data aplikasi ke dalam sesi PowerShell. Jika daftar pengguna berada dalam file CSV, Anda dapat menggunakan cmdlet PowerShell Import-Csv dan memberikan nama file dari bagian sebelumnya sebagai argumen.

    Misalnya, jika file yang diperoleh dari SAP Cloud Identity Services diberi nama Users-exported-from-sap.csv dan terletak di direktori saat ini, masukkan perintah ini.

    $filename = ".\Users-exported-from-sap.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    

    Untuk contoh lain jika Anda menggunakan database atau direktori, jika file diberi nama users.csv dan terletak di direktori saat ini, masukkan perintah ini:

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Pilih kolom file users.csv yang akan cocok dengan atribut pengguna di ID Microsoft Entra.

    Jika Anda menggunakan SAP Cloud Identity Services, maka pemetaan defaultnya adalah atribut userName SAP SCIM dengan atribut userPrincipalNameID Microsoft Entra :

    $db_match_column_name = "userName"
    $azuread_match_attr_name = "userPrincipalName"
    

    Untuk contoh lain jika Anda menggunakan database atau direktori, Anda mungkin memiliki pengguna dalam database di mana nilai dalam kolom bernama EMail adalah nilai yang sama seperti dalam atribut userPrincipalNameMicrosoft Entra :

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Ambil ID pengguna tersebut di ID Microsoft Entra.

    Skrip PowerShell berikut menggunakan nilai $dbusers, $db_match_column_name, dan $azuread_match_attr_name yang ditentukan sebelumnya. Ini akan meminta ID Microsoft Entra untuk menemukan pengguna yang memiliki atribut dengan nilai yang cocok untuk setiap rekaman dalam file sumber. Jika ada banyak pengguna dalam file yang diperoleh dari sumber SAP Cloud Identity Services, database, atau direktori, skrip ini mungkin memerlukan waktu beberapa menit untuk menyelesaikannya. Jika Anda tidak memiliki atribut di ID Microsoft Entra yang memiliki nilai, dan perlu menggunakan contains ekspresi filter atau lainnya, maka Anda harus menyesuaikan skrip ini dan bahwa pada langkah 11 di bawah ini untuk menggunakan ekspresi filter yang berbeda.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    
  8. Menampilkan hasil kueri sebelumnya. Lihat apakah salah satu pengguna di SAP Cloud Identity Services, database, atau direktori tidak dapat berada di ID Microsoft Entra, karena kesalahan atau kecocokan yang hilang.

    Skrip PowerShell berikut akan menampilkan jumlah catatan yang tidak ditemukan:

    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    
  9. Ketika skrip selesai, skrip akan menunjukkan kesalahan jika ada rekaman dari sumber data yang tidak terletak di ID Microsoft Entra. Jika tidak semua rekaman untuk pengguna dari penyimpanan data aplikasi dapat ditemukan sebagai pengguna di ID Microsoft Entra, Anda harus menyelidiki rekaman mana yang tidak cocok dan mengapa.

    Misalnya, alamat email seseorang dan userPrincipalName mungkin telah diubah di ID Microsoft Entra tanpa properti yang mail sesuai diperbarui di sumber data aplikasi. Atau, pengguna mungkin telah keluar dari organisasi tetapi masih dalam sumber data aplikasi. Atau mungkin ada akun vendor atau super-admin di sumber data aplikasi yang tidak sesuai dengan orang tertentu di ID Microsoft Entra.

  10. Jika ada pengguna yang tidak dapat berada di ID Microsoft Entra, atau tidak aktif dan dapat masuk, tetapi Anda ingin akses mereka ditinjau atau atribut mereka diperbarui di SAP Cloud Identity Services, database, atau direktori, Anda harus memperbarui aplikasi, aturan yang cocok, atau memperbarui atau membuat pengguna Microsoft Entra untuk mereka. Untuk informasi selengkapnya tentang perubahan mana yang akan dilakukan, lihat mengelola pemetaan dan akun pengguna dalam aplikasi yang tidak cocok dengan pengguna di ID Microsoft Entra.

    Jika Anda memilih opsi untuk membuat pengguna di MICROSOFT Entra ID, Anda dapat membuat pengguna secara massal dengan menggunakan:

    Pastikan bahwa pengguna baru ini diisi dengan atribut yang diperlukan untuk ID Microsoft Entra agar nanti cocok dengan pengguna yang ada dalam aplikasi, dan atribut yang diperlukan oleh ID Microsoft Entra, termasuk userPrincipalName, mailNickname dan displayName. userPrincipalName harus unik di antara semua pengguna di direktori.

    Misalnya, Anda mungkin memiliki pengguna dalam database di mana nilai dalam kolom bernama EMail adalah nilai yang ingin Anda gunakan sebagai Nama prinsipal pengguna Microsoft Entra, nilai dalam kolom Alias berisi nama panggilan email ID Microsoft Entra, dan nilai dalam kolom Full name berisi nama tampilan pengguna:

    $db_display_name_column_name = "Full name"
    $db_user_principal_name_column_name = "Email"
    $db_mail_nickname_column_name = "Alias"
    

    Kemudian Anda dapat menggunakan skrip ini untuk membuat pengguna Microsoft Entra untuk pengguna di SAP Cloud Identity Services, database, atau direktori yang tidak cocok dengan pengguna di ID Microsoft Entra. Perhatikan bahwa Anda mungkin perlu mengubah skrip ini untuk menambahkan atribut Microsoft Entra tambahan yang diperlukan di organisasi Anda, atau jika bukan mailNickname atau userPrincipalName, untuk menyediakan atribut Microsoft Entra tersebut$azuread_match_attr_name.

    $dbu_missing_columns_list = @()
    $dbu_creation_failed_list = @()
    foreach ($dbu in $dbu_not_matched_list) {
       if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) {
          $params = @{
             accountEnabled = $false
             displayName = $dbu.$db_display_name_column_name
             mailNickname = $dbu.$db_mail_nickname_column_name
             userPrincipalName = $dbu.$db_user_principal_name_column_name
             passwordProfile = @{
               Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_})
             }
          }
          try {
            New-MgUser -BodyParameter $params
          } catch { $dbu_creation_failed_list += $dbu; throw }
       } else {
          $dbu_missing_columns_list += $dbu
       }
    }
    
  11. Setelah Anda menambahkan pengguna yang hilang ke ID Microsoft Entra, jalankan skrip dari langkah 7 lagi. Kemudian jalankan skrip dari langkah 8. Periksa bahwa tidak ada kesalahan yang dilaporkan.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    

Pastikan pengguna Microsoft Entra yang ada memiliki atribut yang diperlukan

Sebelum mengaktifkan provisi pengguna otomatis, Anda harus memutuskan pengguna mana di ID Microsoft Entra yang memerlukan akses ke SAP Cloud Identity Services, lalu Anda perlu memeriksa untuk memastikan bahwa pengguna tersebut memiliki atribut yang diperlukan di ID Microsoft Entra, dan atribut tersebut dipetakan ke skema yang diharapkan dari SAP Cloud Identity Services.

  • Secara default, nilai atribut pengguna userPrincipalName Microsoft Entra dipetakan ke userName atribut dan emails[type eq "work"].value SAP Cloud Identity Services. Jika alamat email pengguna berbeda dari nama prinsipal pengguna mereka, maka Anda mungkin perlu mengubah pemetaan ini.
  • SAP Cloud Identity Services dapat mengabaikan nilai postalCode atribut jika format Kode Pos/ZIP Perusahaan tidak cocok dengan negara perusahaan.
  • Secara default, atribut department Microsoft Entra dipetakan ke atribut SAP Cloud Identity Services urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department . Jika pengguna Microsoft Entra memiliki nilai atribut , nilai-nilai tersebut department harus cocok dengan departemen yang sudah dikonfigurasi di SAP Cloud Identity Services, jika tidak, pembuatan, atau pembaruan, pengguna akan gagal. department Jika nilai di pengguna Microsoft Entra Anda tidak konsisten dengan nilai di lingkungan SAP Anda, hapus pemetaan sebelum menetapkan pengguna.
  • Titik akhir SCIM SAP Cloud Identity Services mengharuskan atribut tertentu memiliki format tertentu. Anda dapat mengetahui selengkapnya tentang atribut ini dan format spesifiknya di sini.

Menetapkan pengguna ke aplikasi SAP Cloud Identity Services di ID Microsoft Entra

MICROSOFT Entra ID menggunakan konsep yang disebut penugasan untuk menentukan pengguna mana yang harus menerima akses ke aplikasi yang dipilih. Dalam konteks provisi pengguna otomatis, jika nilai Pengaturan Cakupanhanya Menyinkronkan pengguna dan grup yang ditetapkan, maka hanya pengguna dan grup yang telah ditetapkan ke peran aplikasi aplikasi tersebut di ID Microsoft Entra yang disinkronkan dengan SAP Cloud Identity Services. Saat menetapkan pengguna ke SAP Cloud Identity Services, Anda harus memilih peran spesifik aplikasi yang valid (jika tersedia) dalam dialog penugasan. Pengguna dengan peran Akses Default dikecualikan dari provisi. Saat ini satu-satunya peran yang tersedia untuk SAP Cloud Identity Services adalah Pengguna.

Jika provisi telah diaktifkan untuk aplikasi, periksa apakah provisi aplikasi tidak berada dalam karantina sebelum menetapkan lebih banyak pengguna ke aplikasi. Atasi masalah apa pun yang menyebabkan karantina, sebelum Anda melanjutkan.

Periksa pengguna yang ada di SAP Cloud Identity Services dan belum ditetapkan ke aplikasi di ID Microsoft Entra

Langkah-langkah sebelumnya telah mengevaluasi apakah pengguna di SAP Cloud Identity Services juga ada sebagai pengguna di ID Microsoft Entra. Namun, mereka mungkin tidak semua saat ini ditetapkan ke peran aplikasi dalam ID Microsoft Entra. Jadi langkah selanjutnya adalah melihat pengguna mana yang tidak memiliki penugasan ke peran aplikasi.

  1. Menggunakan PowerShell, cari ID perwakilan layanan untuk perwakilan layanan aplikasi.

    Misalnya, jika aplikasi perusahaan diberi nama SAP Cloud Identity Services, maka ketik perintah berikut:

    $azuread_app_name = "SAP Cloud Identity Services"
    $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'"
    $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
    
  2. Ambil pengguna yang saat ini memiliki penugasan ke aplikasi di ID Microsoft Entra.

    Ini dibangun berdasarkan variabel yang $azuread_sp ditetapkan dalam perintah sebelumnya.

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  3. Bandingkan daftar ID pengguna pengguna yang sudah ada di SAP Cloud Identity Services dan ID Microsoft Entra dengan pengguna yang saat ini ditetapkan ke aplikasi di ID Microsoft Entra. Skrip ini dibangun berdasarkan variabel yang $azuread_match_id_list ditetapkan di bagian sebelumnya:

    $azuread_not_in_role_list = @()
    foreach ($id in $azuread_match_id_list) {
       $found = $false
       foreach ($existing in $azuread_existing_assignments) {
          if ($existing.principalId -eq $id) {
             $found = $true; break;
          }
       }
       if ($found -eq $false) { $azuread_not_in_role_list += $id }
    }
    $azuread_not_in_role_count = $azuread_not_in_role_list.Count
    Write-Output "$azuread_not_in_role_count users in the application's data store are not assigned to the application roles."
    

    Jika tidak ada pengguna yang ditetapkan ke peran aplikasi, menunjukkan bahwa semua pengguna ditetapkan ke peran aplikasi, maka ini menunjukkan bahwa tidak ada pengguna yang sama di seluruh ID Microsoft Entra dan SAP Cloud Identity Services, sehingga tidak ada perubahan yang diperlukan. Namun, jika satu atau beberapa pengguna yang sudah ada di SAP Cloud Identity Services saat ini tidak ditetapkan ke peran aplikasi, Anda harus melanjutkan prosedur dan menambahkannya ke salah satu peran aplikasi.

  4. User Pilih peran perwakilan layanan aplikasi.

    $azuread_app_role_name = "User"
    $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq "User"}).Id
    if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
    
  5. Buat penetapan peran aplikasi untuk pengguna yang sudah ada di SAP Cloud Identity Services dan Microsoft Entra, dan saat ini tidak memiliki penetapan peran ke aplikasi:

    foreach ($u in $azuread_not_in_role_list) {
       $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id
    }
    
  6. Tunggu satu menit agar perubahan disebarluaskan dalam ID Microsoft Entra.

  7. Pada siklus provisi Microsoft Entra berikutnya, layanan provisi Microsoft Entra akan membandingkan representasi pengguna yang ditetapkan ke aplikasi, dengan representasi di SAP Cloud Identity Services, dan memperbarui pengguna SAP Cloud Identity Services agar memiliki atribut dari ID Microsoft Entra.

Tetapkan pengguna yang tersisa dan pantau sinkronisasi awal

Setelah pengujian selesai, pengguna berhasil diprovisikan ke SAP Cloud Identity Services, dan pengguna SAP Cloud Identity Services yang ada ditetapkan ke peran aplikasi, Anda dapat menetapkan pengguna resmi tambahan ke aplikasi SAP Cloud Identity Services dengan mengikuti salah satu instruksi di sini:

Setelah pengguna ditetapkan ke peran aplikasi dan berada dalam cakupan provisi, maka layanan provisi Microsoft Entra akan memprovisikannya ke SAP Cloud Identity Services. Perhatikan bahwa sinkronisasi awal membutuhkan waktu lebih lama untuk dilakukan daripada sinkronisasi berikutnya, yang terjadi sekitar setiap 40 menit selama layanan provisi Microsoft Entra berjalan.

Jika Anda tidak melihat pengguna diprovisikan, tinjau langkah-langkah dalam panduan pemecahan masalah untuk tidak ada pengguna yang disediakan. Kemudian, periksa log provisi melalui pusat admin Microsoft Entra atau API Graph. Filter log ke status Gagal. Jika ada kegagalan dengan ErrorCode duplicateTargetEntries, ini menunjukkan ambiguitas dalam aturan pencocokan provisi Anda, dan Anda harus memperbarui pengguna Microsoft Entra atau pemetaan yang digunakan untuk pencocokan untuk memastikan setiap pengguna Microsoft Entra cocok dengan satu pengguna aplikasi. Kemudian filter log ke tindakan Buat dan status Dilewati. Jika pengguna dilewati dengan kode SkipReason notEffectivelyEntitled, ini dapat menunjukkan bahwa akun pengguna di ID Microsoft Entra tidak cocok karena status akun pengguna dinonaktifkan.

Mengonfigurasi akses menyeluruh

Anda juga dapat memilih untuk mengaktifkan akses menyeluruh berbasis SAML untuk SAP Cloud Identity Services, mengikuti instruksi yang diberikan dalam tutorial akses menyeluruh SAP Cloud Identity Services. Single sign-on dapat dikonfigurasi secara independen dari provisi pengguna otomatis, meskipun kedua fitur ini saling melengkapi.

Pantau penyediaan

Anda dapat menggunakan bagian Detail Sinkronisasi untuk memantau kemajuan dan mengikuti tautan ke laporan aktivitas provisi, yang menjelaskan semua tindakan yang dilakukan oleh layanan provisi Microsoft Entra di SAP Cloud Identity Services. Anda juga dapat memantau proyek provisi melalui API Microsoft Graph.

Untuk informasi selengkapnya tentang cara membaca log provisi Microsoft Entra, lihat Melaporkan provisi akun pengguna otomatis.

Mempertahankan penetapan peran aplikasi

Saat pengguna yang ditetapkan ke aplikasi diperbarui di ID Microsoft Entra, perubahan tersebut akan secara otomatis diprovisikan ke SAP Cloud Identity Services.

Jika Anda memiliki Tata Kelola ID Microsoft Entra, Anda dapat mengotomatiskan perubahan pada penetapan peran aplikasi untuk SAP Cloud Identity Services di ID Microsoft Entra, untuk menambahkan atau menghapus tugas saat orang bergabung dengan organisasi, atau meninggalkan atau mengubah peran.

Sumber daya lainnya

Langkah berikutnya