Halaman ini menjelaskan cara menghubungkan ServiceNow ke Gemini Enterprise.
Setelah Anda menyiapkan sumber data dan mengimpor data untuk pertama kalinya, penyimpanan data akan menyinkronkan data dari sumber tersebut dengan frekuensi yang Anda pilih selama penyiapan.
Sebelum memulai
Sebelum menyiapkan koneksi, pastikan Anda telah menyiapkan hal berikut:
- Instance ServiceNow: Buat instance ServiceNow dengan mengikuti petunjuk di dokumentasi ServiceNow Developer.
Google Cloud project: Siapkan Google Cloud project dengan akun administrator yang dapat mengelola konfigurasi tingkat organisasi, sehingga organisasi dapat menyiapkan kumpulan tenaga kerja.
Kumpulan tenaga kerja: Pastikan organisasi Anda disiapkan untuk mengelola kumpulan tenaga kerja.
Menyiapkan ServiceNow
ServiceNow menawarkan dua situs utama:
Situs ServiceNow utama: Situs untuk instance ServiceNow Anda.
- Mengelola pengguna, grup, dan tugas administrasi sistem.
- URL: URL untuk instance ServiceNow Anda.
- Login menggunakan kredensial administrator Anda.
-
- Mengonfigurasi pusat informasi, menyiapkan alur kerja, dan mengembangkan aplikasi kustom.
- URL:
https://developer.service-now.com
. - Login menggunakan ID ServiceNow Anda.
Untuk membuat endpoint OAuth:
- Login ke instance ServiceNow utama dengan peran administrator.
Buka All > System OAuth > Application registry.
Pilih pendaftaran aplikasi Klik New.
Klik tombol Baru Klik Create an OAuth API endpoint for external clients.
Pilih opsi untuk membuat endpoint API OAuth bagi klien eksternal Isi kolom yang wajib diisi:
- Nama: Masukkan Nama unik.
- URL pengalihan: Masukkan URL pengalihan:
https://vertexaisearch.cloud.google.com/console/oauth/servicenow_oauth.html
Klik Kirim untuk membuat kredensial.
Masukkan URL pengalihan Setelah pengiriman, klik nama untuk melihat Client ID.
Melihat ID klien Rahasia disamarkan. Klik ikon kunci di sampingnya untuk memperlihatkan dan melihat secret klien.
Klik ikon gembok Simpan Client ID dan Client secret untuk digunakan nanti.
Menyalin client ID dan rahasia klien
Untuk mengambil kredensial instance ServiceNow:
Buka developer.service-now.com dan klik Manage instance password.
Klik tombol Kelola sandi instance Simpan salinan URL, nama pengguna, dan sandi instance untuk digunakan jika diperlukan.
Pada tahap ini, kelima informasi yang diperlukan untuk menyiapkan penyimpanan data ServiceNow sudah tersedia. Jika tidak ada masalah terkait penggunaan peran administrator untuk menarik data, lanjutkan dengan membuat penyimpanan data.
Menyiapkan peran dan izin administrator
Tingkatkan peran administrator menjadi security_admin
untuk mengelola pengguna dan peran.
Klik ikon profil Anda, lalu pilih Naikkan peran.
Klik tombol Tingkatkan peran Pilih
security_admin
, lalu klik Perbarui. Peransecurity_admin
membantu membuat peran dan mengelola pengguna.Pilih peran security_admin
, lalu klik tombol Perbarui
Menyiapkan peran dan izin pengguna
Untuk membuat penyimpanan data ServiceNow di Gemini Enterprise, Anda harus memberikan peran dan izin yang sesuai kepada pengguna. Sebelum memulai, Anda harus memahami cara konektor menangani akses ke entitas insiden. Lihat Visibilitas insiden dan kontrol akses.
Pilih salah satu opsi berikut untuk memberi pengguna peran dan izin yang diperlukan untuk menyiapkan penyimpanan data di Google Cloud. Setiap opsi memberikan akses yang diperlukan ke instance Anda.
Visibilitas insiden dan kontrol akses
Untuk meningkatkan keamanan dan mencegah eksposur data yang tidak disengaja, konektor ServiceNow menggunakan kontrol akses yang ketat untuk entitas insiden. Hal ini memastikan bahwa pengguna akhir hanya dapat melihat insiden yang terkait langsung dengan mereka.
Sebagai bagian dari pendekatan yang ketat ini, konektor tidak mematuhi izin berbasis peran yang luas untuk visibilitas insiden. Peran ServiceNow standar seperti itil
dan sn_incident_read
, yang dapat memberikan visibilitas kepada pengguna atas semua insiden di UI ServiceNow, tidak memberikan tingkat akses yang sama di Gemini Enterprise.
Pengguna dengan salah satu peran berikut memiliki visibilitas insiden global dan dapat melihat semua insiden:
admin
incident_manager
change_manager
Semua pengguna lain hanya dapat melihat insiden jika mereka telah membuka, membuka kembali, menyelesaikan, atau menutup insiden. Mereka juga dapat melihat insiden jika mereka:
- Di grup tugas untuk insiden.
- Penelepon yang terkait dengan insiden.
- Penerima tugas.
- Dalam daftar tontonan.
- Dalam daftar catatan kerja.
- Dalam daftar penerima tugas tambahan.
Perilaku ini mencegah pengguna Gemini Enterprise menemukan insiden yang tidak dapat diaksesnya. Karena adanya batasan tambahan dibandingkan dengan izin ServiceNow yang lebih luas, perilaku ini terkadang dapat mencegah pengguna menemukan insiden di Gemini Enterprise yang dapat mereka akses di ServiceNow.
Membuat peran khusus dengan aturan ACL (Direkomendasikan)
Buat peran khusus dengan serangkaian izin minimum.
Buka Semua > Administrasi pengguna > Peran.
Pilih peran Klik New.
Klik tombol Baru Berikan nama, lalu klik Kirim.
Pilih nama dan kirim Buka Keamanan sistem > Kontrol akses (ACL).
Pilih kontrol akses (ACL) Klik Baru untuk membuat aturan ACL baru.
Klik tombol Baru Ulangi dua langkah berikut hingga Anda memberikan akses ke semua tabel yang diperlukan.
Gunakan
sys_user_role
sebagai contoh untuk melihat cara pemberian akses tabel.Pilih sys_user_role
Klik Kirim, lalu pilih peran.
Tabel yang diperlukan
Konektor memerlukan akses ke tabel ini untuk setiap entity yang akan dijalankan.
Nama tabel | Deskripsi |
---|---|
insiden |
Menampilkan insiden dalam hasil penelusuran. |
sc_cat_item |
Menampilkan item katalog dalam hasil penelusuran. |
sc_cat_item_user_criteria_mtom |
Menampilkan pengguna yang dapat mengakses item katalog berdasarkan kriteria pengguna. |
sc_cat_item_user_criteria_no_mtom |
Menampilkan pengguna yang tidak dapat mengakses item katalog berdasarkan kriteria pengguna. |
sc_cat_item_user_mtom |
Menampilkan pengguna yang dapat mengakses item katalog. |
sc_cat_item_user_no_mtom |
Menampilkan pengguna yang tidak dapat mengakses item katalog. |
kb_knowledge |
Daftar artikel informasi yang dapat ditampilkan di hasil penelusuran. |
kb_knowledge_base |
Daftar basis pengetahuan yang dapat ditampilkan di hasil penelusuran. |
kb_uc_can_contribute_mtom |
Tampilkan siapa yang dapat berkontribusi ke pusat informasi berdasarkan kriteria pengguna. |
kb_uc_can_read_mtom |
Tampilkan siapa yang dapat membaca pusat informasi berdasarkan kriteria pengguna. |
kb_uc_cannot_read_mtom |
Menampilkan siapa yang tidak dapat membaca pusat informasi berdasarkan kriteria pengguna. |
sys_user_role |
Daftar peran yang dapat ditetapkan kepada pengguna. |
sys_user_has_role |
Daftar peran yang dipetakan ke pengguna. |
sys_user_group |
Daftar segmen grup pengguna. |
sys_user_grmember |
Daftar anggota grup untuk grup. |
sys_user |
Daftar semua pengguna. |
core_company |
Daftar semua atribut perusahaan. |
cmn_location |
Daftar semua atribut lokasi. |
cmn_department |
Daftar semua atribut departemen. |
user_criteria |
Daftar rekaman kriteria pengguna. |
sp_portal |
URI portal link di hasil penelusuran. |
m2m_sp_portal_knowledge_base |
URI portal link untuk artikel informasi di hasil penelusuran. |
m2m_sp_portal_catalog |
URI portal link untuk item katalog dalam hasil penelusuran. |
Memberikan dan memverifikasi akses ACL
Konektor memerlukan akses ACL ke kolom item katalog tabel
sc_cat_item
.
Untuk memberikan dan memverifikasi akses, lakukan hal berikut:
Berikan akses eksplisit dengan membuat aturan ACL baru dan memasukkan
sc_cat_item.*
secara manual di kolom Nama formulir.Masukkan sc_cat_item.*
Pastikan ACL telah diperbarui.
Buka
sys_security_acl_role_list.do
di kotak penelusuran.Masukkan sys_security_acl_role_list.do
Tetapkan Role ke peran yang ingin Anda verifikasi.
Pilih peran yang akan diverifikasi Pastikan ACL yang diperlukan ditetapkan ke peran.
Menggunakan peran kustom dengan administrator entitas
Penggunaan peran administrator mungkin tidak sesuai untuk tim atau organisasi yang ingin menghindari pemberian izin yang terlalu kuat. Opsi ini menyediakan peran dengan tiga izin spesifik yang memberikan akses yang diperlukan.
Buka Semua > Keamanan sistem > Pengguna dan grup > Peran.
Menambahkan peran Pilih Baru, lalu masukkan nama.
Klik tombol Baru Klik Kirim.
Klik tombol Kirim Temukan peran yang dibuat dalam daftar.
Telusuri menggunakan nama peran, lalu klik peran Buka Berisi peran > Edit.
Klik tombol Edit Tambahkan peran berikut ke peran yang baru dibuat, lalu klik Simpan.
catalog_admin
knowledge_admin
incident_manager
Tambahkan peran dan klik tombol Simpan Konfirmasi pembaruan.
Konfirmasi peran Gambar berikut menunjukkan peran khusus yang mencakup tiga peran:
Peran khusus
Menggunakan peran administrator
Anda dapat menggunakan peran administrator untuk menarik data. Gunakan peran administrator default yang dikonfigurasi dengan instance, atau buat pengguna baru dengan peran administrator dengan melakukan hal berikut:
Buka Semua > Administrasi pengguna > Pengguna.
Pilih pengguna Buat pengguna baru dengan nama.
Pilih nama pengguna Aktifkan Akses layanan web saja. Jika Anda memilih Web service access only, Anda akan membuat pengguna non-interaktif.
Pengguna interaktif vs. pengguna non-interaktif: Pengguna interaktif dapat login ke UI atau portal layanan ServiceNow menggunakan nama pengguna dan sandi mereka. Mereka dapat mengakses instance melalui URL yang mengarah ke halaman UI, formulir, atau daftar. Mereka juga dapat terhubung menggunakan metode single sign-on seperti autentikasi digest atau Security Assertion Markup Language (SAML). Selain itu, mereka dapat menggunakan kredensialnya untuk mengizinkan koneksi SOAP jika diizinkan oleh setelan keamanan yang ketat, dan mereka memiliki akses tanpa batas ke koneksi API lainnya seperti WSDL, JSON, XML, atau XSD.
Sementara itu, pengguna non-interaktif hanya dapat menggunakan kredensial mereka untuk mengotorisasi koneksi API seperti JSON, SOAP, dan WSDL. Mereka tidak dapat login ke UI ServiceNow dan hanya dapat mengakses instance melalui protokol API.
Setelah pembuatan pengguna, pilih pengguna dari daftar pengguna.
Pilih pengguna Klik Peran > Edit.
Mengedit peran Tambahkan Admin.
Klik Simpan untuk menambahkan daftar peran kepada pengguna.
Menambahkan daftar peran kepada pengguna Klik Setel sandi, buat sandi secara otomatis, lalu simpan.
Setel sandi
Memberikan peran kepada pengguna
Buka Semua > Administrasi pengguna > Pengguna.
Pilih pengguna Temukan atau buat pengguna baru.
Menemukan atau membuat pengguna baru Jika tidak ada pengguna yang tersedia, buka Keamanan sistem > Pengguna dan grup > Pengguna.
Pilih pengguna Klik New.
Klik tombol Baru Buat akun layanan baru di tabel pengguna. Pastikan untuk mengklik Akses layanan web saja.
Klik opsi Hanya akses layanan web Scroll ke Peran.
Buka Peran Klik Edit.
Mengedit Peran Berikan peran yang Anda buat dan tetapkan kepada pengguna. Berdasarkan jenis peran yang Anda buat di langkah sebelumnya, pilih peran yang sesuai dan tetapkan peran tersebut kepada pengguna. Klik Simpan.
Pilih dan tetapkan peran ATAU
Tetapkan peran dan simpan Melihat peran khusus dengan ACL.
Peran khusus dengan ACL Dapatkan nama pengguna dan sandi untuk pengguna, lalu klik Setel sandi.
Setel sandi Buat sandi secara otomatis dan simpan untuk digunakan nanti.
Membuat sandi secara otomatis
Membuat konektor ServiceNow
Konsol
Untuk menggunakan konsol Google Cloud guna menyinkronkan data dari ServiceNow ke Gemini Enterprise, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Gemini Enterprise.
Di menu navigasi, klik Data Stores.
Klik
Create Data Store.Di halaman Pilih sumber data, scroll atau telusuri ServiceNow untuk menghubungkan sumber pihak ketiga Anda.
Masukkan informasi autentikasi ServiceNow Anda.
- URI Instance
- Client ID
- Rahasia klien
- Akun pengguna
- Password
Informasi autentikasi ServiceNow Isi nama unik untuk penyimpanan data Anda, lalu klik Buat.
Pilih entitas yang akan disinkronkan:
Artikel Pengetahuan
Katalog Layanan
Insiden
Lampiran
Untuk mengecualikan entitas dari indeks atau memastikan entitas disertakan dalam indeks, klik Filter.
Menentukan filter untuk menyertakan atau mengecualikan entitas Klik Simpan.
Klik Lanjutkan.
Pilih Frekuensi sinkronisasi untuk Sinkronisasi penuh dan Frekuensi sinkronisasi inkremental untuk Sinkronisasi data inkremental. Untuk mengetahui informasi selengkapnya, lihat Jadwal sinkronisasi.
Jika Anda ingin menjadwalkan sinkronisasi penuh terpisah untuk data entitas dan identitas, luaskan menu di bagian Sinkronisasi penuh, lalu pilih Opsi kustom.
Menetapkan jadwal terpisah untuk sinkronisasi entity penuh dan sinkronisasi identitas penuh. Pilih region untuk konektor data Anda.
Klik Buat. Gemini Enterprise membuat penyimpanan data Anda dan menampilkan penyimpanan data Anda di halaman Data Stores.
Untuk memeriksa status penyerapan, buka halaman Data Stores dan klik nama penghubung data Anda untuk melihat detailnya di halaman Data. Status konektor berubah dari Membuat menjadi Menjalankan saat mulai menyinkronkan data. Setelah penyerapan selesai, status akan berubah menjadi Aktif untuk menunjukkan bahwa koneksi ke sumber data Anda telah disiapkan dan menunggu sinkronisasi terjadwal berikutnya.
Bergantung pada ukuran data Anda, penyerapan dapat memerlukan waktu beberapa menit atau beberapa jam.
Mengaktifkan sinkronisasi real-time
Sinkronisasi real-time hanya menyinkronkan entitas dokumen dan tidak menyinkronkan data yang terkait dengan entitas identitas. Tabel berikut menunjukkan peristiwa dokumen yang didukung dengan sinkronisasi real-time.
Entitas ServiceNow | Buat | Perbarui | Hapus | Perubahan izin |
---|---|---|---|---|
Lampiran | ||||
Katalog | ||||
Insiden | ||||
Knowledge |
Untuk mengaktifkan sinkronisasi real-time untuk konektor Anda, ikuti langkah-langkah berikut.
Di konsol Google Cloud , buka halaman Gemini Enterprise.
Di menu navigasi, klik Data Stores.
Klik nama konektor ServiceNow yang sinkronisasi real-time-nya ingin Anda aktifkan.
Di halaman Data konektor, tunggu hingga Status konektor berubah menjadi Aktif.
Di kolom Sinkronisasi real-time, klik Lihat/edit.
Melihat dan mengedit setelan sinkronisasi real-time. Klik tombol Aktifkan sinkronisasi real-time ke posisi aktif.
Berikan nilai untuk Client secret. Nilai ini digunakan untuk memverifikasi peristiwa webhook ServiceNow. Sebaiknya gunakan string 20 karakter.
Aktifkan sinkronisasi real-time dan berikan rahasia klien. Klik Simpan.
Tunggu hingga kolom Sinkronisasi real-time berubah menjadi Berjalan.
Buka instance ServiceNow Anda menggunakan akun dengan peran administrator.
Klik Semua.
Di kolom Filter, masukkan
sys_properties.list
, lalu kirimkan.Temukan properti sistem di ServiceNow. Klik Baru untuk membuat properti sistem.
Buat properti sistem baru di ServiceNow. Isi kolom untuk properti sistem baru.
Untuk Name, masukkan nama deskriptif, seperti
webhook_secret
.Untuk Nilai, masukkan nilai yang Anda gunakan untuk kolom Rahasia klien di setelan sinkronisasi real-time konektor Gemini Enterprise.
Klik Kirim.
Isi kolom untuk properti sistem ServiceNow baru.
Membuat webhook untuk entity pengetahuan
Untuk membuat webhook bagi entitas pengetahuan ServiceNow, ikuti langkah-langkah berikut.
Buka instance ServiceNow Anda menggunakan akun dengan peran administrator, lalu klik All > System Definition > Business Rules.
Lihat Aturan Bisnis ServiceNow. Klik Baru untuk membuat Aturan Bisnis baru.
Buat Aturan Bisnis ServiceNow baru. Isi kolom untuk webhook.
Untuk Name, masukkan nama deskriptif, seperti
Knowledge webhook
.Pilih Lanjutan.
Untuk Table, pilih Knowledge [kb_knowledge].
Isi kolom untuk webhook entitas pengetahuan. Klik When to run.
Untuk Kapan, pilih sebelum.
Pilih Sisipkan, Perbarui, dan Hapus.
Tentukan kapan webhook entitas pengetahuan harus berjalan. Klik Lanjutan.
Tempelkan kode berikut di kolom Script, ganti nilai endpoint dengan URL notifikasi webhook yang diberikan saat Anda mengaktifkan sinkronisasi real-time untuk konektor Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "knowledge" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Masukkan skrip yang diberikan. Klik Kirim.
Kirimkan Aturan Bisnis baru Anda.
Membuat webhook untuk entitas katalog
Untuk membuat webhook bagi entity katalog ServiceNow, ikuti langkah-langkah di Membuat webhook untuk entity pengetahuan, dengan perbedaan berikut:
Saat membuat Aturan Bisnis baru, untuk Tabel, pilih Item Katalog [sc_cat_item].
Di tab Advanced, untuk Script, tempel kode berikut, dengan mengganti nilai endpoint dengan URL notifikasi webhook yang diberikan saat Anda mengaktifkan sinkronisasi real-time untuk konektor Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "catalog" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Membuat webhook untuk entitas insiden
Untuk membuat webhook bagi entitas insiden ServiceNow, ikuti langkah-langkah di Membuat webhook untuk entitas pengetahuan, dengan perbedaan berikut:
Saat membuat Aturan Bisnis baru, untuk Tabel, pilih Insiden [incident].
Di tab Advanced, untuk Script, tempel kode berikut, dengan mengganti nilai endpoint dengan URL notifikasi webhook yang diberikan saat Anda mengaktifkan sinkronisasi real-time untuk konektor Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "incident" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Membuat webhook untuk entitas lampiran
Untuk membuat webhook bagi entitas lampiran ServiceNow, ikuti langkah-langkah di Membuat webhook untuk entitas pengetahuan, dengan perbedaan berikut:
Saat membuat Aturan Bisnis baru, untuk Tabel, pilih Lampiran [sys_attachment].
Di tab Advanced, untuk Script, tempel kode berikut, dengan mengganti nilai endpoint dengan URL notifikasi webhook yang diberikan saat Anda mengaktifkan sinkronisasi real-time untuk konektor Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "attachment" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Mengonfigurasi workforce pool
Kumpulan tenaga kerja memungkinkan Anda mengelola dan mengautentikasi pengguna dari penyedia identitas eksternal, seperti Azure atau Okta, dalam konsol Google Cloud . Untuk mengonfigurasi kumpulan tenaga kerja dan mengaktifkan aplikasi web untuk akses pengguna yang lancar, lakukan hal berikut:
Buat workforce pool di tingkat organisasi di Google Cloud dengan mengikuti panduan penyiapan yang sesuai:
Konfigurasi kumpulan tenaga kerja di Gemini Enterprise > Setelan untuk region tempat Anda membuat aplikasi.
Langkah berikutnya
Untuk melampirkan penyimpanan data ke aplikasi, buat aplikasi dan pilih penyimpanan data Anda dengan mengikuti langkah-langkah di bagian Membuat aplikasi.
Untuk melihat pratinjau tampilan hasil penelusuran setelah aplikasi dan penyimpanan data Anda disiapkan, lihat Melihat pratinjau hasil penelusuran.
Untuk mengaktifkan pemberitahuan untuk penyimpanan data, lihat Mengonfigurasi pemberitahuan untuk penyimpanan data pihak ketiga.