Secara default, Google Cloud Search hanya mengenali identitas Google di Google Cloud Directory. Gunakan konektor identitas untuk menyinkronkan identitas perusahaan dengan identitas Google yang digunakan Cloud Search.
Google menyediakan opsi berikut untuk mengembangkan konektor identitas:
Identity Connector SDK: Terbaik untuk programmer Java. SDK adalah wrapper di sekitar REST API yang memungkinkan Anda membuat konektor dengan cepat. Untuk menggunakan SDK, lihat bagian Membuat konektor identitas menggunakan Identity Connector SDK.
REST API dan library API tingkat rendah: Terbaik untuk programmer non-Java. Untuk membuat konektor identitas menggunakan REST API, lihat Directory API: User Accounts untuk memetakan pengguna dan Dokumentasi Google Cloud Identity untuk memetakan grup.
Membuat konektor identitas menggunakan Identity Connector SDK
Konektor identitas standar melakukan tugas-tugas berikut:
- Mengonfigurasi konektor.
- Mengambil pengguna dari sistem identitas Anda dan mengirimkannya ke Google.
- Mengambil grup dari sistem identitas Anda dan mengirimkannya ke Google.
Menyiapkan dependensi
Sertakan dependensi ini dalam file build Anda.
Maven
<dependency>
<groupId>com.google.enterprise.cloudsearch</groupId>
<artifactId>google-cloudsearch-identity-connector-sdk</artifactId>
<version>v1-0.0.3</version>
</dependency>
Gradle
compile group: 'com.google.enterprise.cloudsearch',
name: 'google-cloudsearch-identity-connector-sdk',
version: 'v1-0.0.3'
Buat konfigurasi konektor Anda
Setiap konektor menggunakan file konfigurasi untuk parameter seperti ID repositori Anda.
Tentukan parameter sebagai pasangan key-value, seperti
api.sourceId=1234567890abcdef.
Google Cloud Search SDK menyertakan parameter yang disediakan Google untuk semua konektor. Anda harus mendeklarasikan hal berikut dalam file konfigurasi:
- Konektor konten: Nyatakan
api.sourceIddanapi.serviceAccountPrivateKeyFile. Parameter ini mengidentifikasi repositori Anda dan kunci pribadi yang diperlukan untuk akses.
- Konektor identitas: Nyatakan
api.identitySourceIduntuk mengidentifikasi sumber identitas eksternal Anda. Untuk sinkronisasi pengguna, deklarasikan jugaapi.customerId(ID unik untuk akun Google Workspace Anda).
Deklarasikan parameter lain yang disediakan Google hanya untuk mengganti nilai defaultnya. Untuk mengetahui detail tentang cara membuat ID dan kunci, lihat Parameter yang disediakan Google.
Anda juga dapat menentukan parameter spesifik repositori dalam file konfigurasi.
Teruskan file konfigurasi ke konektor
Tetapkan properti sistem config untuk meneruskan file konfigurasi. Gunakan argumen -D
saat memulai konektor. Contoh:
java -classpath myconnector.jar -Dconfig=MyConfig.properties MyConnector
Jika Anda menghilangkan argumen ini, SDK akan mencoba menggunakan file bernama connector-config.properties di direktori lokal.
Membuat konektor identitas sinkronisasi lengkap menggunakan class template
SDK menyertakan template FullSyncIdentityConnector untuk menyinkronkan semua pengguna dan grup dari repositori Anda. Bagian ini menjelaskan cara menggunakannya.
Bagian ini mengacu pada kode dari sampel IdentityConnectorSample.java, yang membaca identitas dari file CSV.
Menerapkan titik entri konektor
Titik entri adalah metode main(). Tindakan ini akan membuat instance
Application
dan memanggil
start()
untuk menjalankan konektor.
Sebelum memanggil application.start(), gunakan
IdentityApplication.Builder
untuk membuat instance template FullSyncIdentityConnector.
SDK memanggil initConfig() setelah metode main() Anda memanggil
Application.build(). Metode initConfig():
- Memastikan
Configurationbelum diinisialisasi. - Menginisialisasi objek
Configurationdengan key-value pair yang disediakan Google.
Menerapkan antarmuka Repository
Objek Repository menyinkronkan identitas repositori ke identitas Google. Saat menggunakan template, Anda hanya perlu mengganti metode tertentu. Untuk
FullSyncIdentityConnector, ganti metode berikut:
init(): Untuk penyiapan dan inisialisasi.listUsers(): Untuk menyinkronkan semua pengguna.listGroups(): Untuk menyinkronkan semua grup.- (Opsional)
close(): Untuk pembersihan selama penonaktifan.
Mendapatkan parameter konfigurasi khusus
Ambil parameter kustom dari objek Configuration, biasanya dalam metode
init(). Cuplikan berikut menunjukkan cara mengambil jalur CSV:
Untuk mendapatkan dan mengurai parameter yang berisi beberapa nilai, gunakan salah satu jenis parser class Configuration untuk mengurai data menjadi potongan terpisah.
Cuplikan berikut, dari konektor tutorial, menggunakan metode
getMultiValue
untuk mendapatkan daftar nama repositori GitHub:
Mendapatkan pemetaan untuk semua pengguna
Ganti listUsers() untuk mengambil pemetaan pengguna. Metode ini menerima
checkpoint untuk melanjutkan sinkronisasi jika terganggu. Untuk setiap pengguna:
- Dapatkan pemetaan antara identitas Google dan identitas eksternal.
- Gabungkan pasangan ke dalam iterator yang ditampilkan oleh
listUsers().
Mendapatkan pemetaan pengguna
Cuplikan ini menunjukkan cara mengambil pemetaan identitas dari file CSV:
Menggabungkan pemetaan pengguna menjadi iterator
Metode listUsers() menampilkan
CheckpointCloseableIterable
dari
objek IdentityUser.
Mendapatkan grup
Ganti listGroups() untuk mengambil grup dan anggotanya. Metode ini menerima checkpoint. Untuk setiap grup:
- Dapatkan grup dan anggotanya.
- Gabungkan ke dalam iterator yang ditampilkan oleh
listGroups().
Mendapatkan identitas grup
Cuplikan ini menunjukkan cara mengambil grup dan anggota dari file CSV:
Menggabungkan grup dan anggota ke dalam iterator
Metode listGroups() menampilkan CheckpointCloseableIterable dari objek
IdentityGroup.
Langkah Berikutnya
- (Opsional) Terapkan
close()untuk melepaskan resource. - (Opsional) Buat konektor konten.