Kontrol akses di Google Cloud Search didasarkan pada Akun Google pengguna. Saat mengindeks konten, semua ACL item harus menghasilkan ID pengguna atau grup Google (alamat email) yang valid.
Dalam banyak kasus, repositori tidak memiliki pengetahuan langsung tentang Akun Google. Sebagai gantinya, akun lokal mewakili pengguna, atau pengguna menggunakan login gabungan dengan penyedia identitas. Identifikasi ini, selain alamat email, disebut ID eksternal.
Dibuat menggunakan konsol Admin, sumber identitas menjembatani kesenjangan antara sistem identitas dengan:
- Menentukan bidang pengguna khusus untuk menyimpan ID eksternal. Kolom ini menyelesaikan ID eksternal ke Akun Google.
- Menentukan namespace untuk grup keamanan yang dikelola oleh repositori atau penyedia identitas.
Gunakan sumber identitas saat:
- Repositori tidak mengetahui alamat email utama pengguna di Google Workspace atau Google Cloud Directory.
- Repositori menentukan grup kontrol akses yang tidak sesuai dengan grup berbasis email di Google Workspace.
Sumber identitas meningkatkan efisiensi dengan memisahkan pengindeksan dari pemetaan identitas. Dengan demikian, Anda dapat menunda pencarian pengguna saat membuat ACL dan mengindeks item.
Contoh penerapan
Gambar 1 menunjukkan perusahaan yang menggunakan repositori lokal dan cloud. Setiap repositori menggunakan jenis ID eksternal yang berbeda.
Repositori 1 mengidentifikasi pengguna berdasarkan alamat email menggunakan SAML. Karena mengetahui alamat email utama di Google Workspace atau Cloud Directory, alat ini tidak memerlukan sumber identitas.
Repositori 2 terintegrasi dengan direktori lokal dan mengidentifikasi pengguna berdasarkan
sAMAccountName. Karena menggunakan atribut ini sebagai ID eksternal, sumber identitas diperlukan.
Membuat sumber identitas
Jika Anda memerlukan sumber identitas, lihat Memetakan identitas pengguna di Cloud Search.
Buat sumber identitas sebelum membuat konektor konten; Anda memerlukan ID-nya untuk membuat ACL dan mengindeks data. Membuat sumber identitas juga akan membuat properti pengguna khusus di Cloud Directory untuk menyimpan ID eksternal. Nama properti menggunakan konvensi IDENTITY_SOURCE_ID_identity.
Tabel ini menunjukkan dua sumber identitas: satu untuk nama akun SAM dan satu untuk ID pengguna (uid).
| Sumber identitas | Properti pengguna | ID Eksternal |
|---|---|---|
id1 |
id1_identity |
sAMAccountName |
id2 |
id2_identity |
uid |
Buat sumber identitas untuk setiap jenis ID eksternal yang digunakan di perusahaan Anda.
Tabel ini menunjukkan bagaimana pengguna dengan Akun Google dan dua ID eksternal muncul di Cloud Directory:
| Pengguna | id1_identity |
id2_identity |
|
|---|---|---|---|
| Ann | ann@example.com |
example\ann |
1001 |
Anda dapat mereferensikan pengguna yang sama menggunakan salah satu ID ini saat membentuk ACL untuk pengindeksan.
Menulis pengguna ACL
Gunakan
getUserPrincipal()
atau
getGroupPrincipal()
untuk membuat entity utama menggunakan ID eksternal.
Contoh ini mengambil izin file, termasuk pengguna dengan akses:
Cuplikan ini membuat prinsipal untuk pemilik menggunakan atribut externalUserName:
Cuplikan ini membuat akun utama untuk pembaca:
Setelah Anda memiliki pembaca dan pemilik, buat ACL:
REST API menggunakan pola
identitysources/IDENTITY_SOURCE_ID/users/EXTERNAL_ID.
id1_identity Ani diselesaikan menjadi
identitysources/id1_identity/users/example/ann. Ini adalah
ID perantara pengguna.
Untuk mengetahui informasi selengkapnya tentang pemodelan ACL repositori, lihat ACL.
Grup peta
Sumber identitas juga berfungsi sebagai namespace untuk grup ACL. Gunakan ini untuk membuat dan memetakan grup yang hanya digunakan untuk keamanan atau bersifat lokal untuk repositori.
Gunakan Cloud Identity Groups API untuk membuat grup dan mengelola keanggotaan. Kaitkan grup dengan sumber identitas menggunakan nama sumber identitas sebagai namespace.
Cuplikan ini membuat grup:
Membuat ACL grup
Gunakan getGroupPrincipal()
untuk membuat entity utama grup dengan ID eksternal, lalu buat ACL:
Konektor identitas
Pengguna tidak dapat melihat item dalam hasil penelusuran sampai ID eksternal mereka menghasilkan ID Google di Cloud Directory. Anda dapat memastikannya dengan tiga cara:
- Perbarui profil pengguna secara manual di konsol Admin (hanya direkomendasikan untuk pengujian).
- Petakan ID menggunakan Directory API.
- Buat konektor identitas menggunakan Identity Connector SDK.
Konektor identitas memetakan ID eksternal dari identitas perusahaan ke identitas Google internal. Jika Anda membuat sumber identitas, Anda juga harus membuat konektor identitas.
Google Cloud Directory Sync (GCDS) adalah contoh konektor identitas. Alat ini memetakan informasi pengguna dan grup dari Active Directory ke Cloud Directory.
Sinkronkan identitas menggunakan REST API
Gunakan metode update
untuk menyinkronkan identitas.
Memetakan ulang identitas
Setelah memetakan ulang identitas, Anda harus mengindeks ulang item agar perubahan diterapkan.
- Jika Anda menghapus atau mengubah pemetaan pengguna, pemetaan asli akan tetap ada hingga pengindeksan ulang.
- Jika Anda menghapus grup yang dipetakan dan membuat grup baru dengan
groupKeyyang sama, grup tersebut tidak akan memberikan akses hingga Anda mengindeks ulang.