Jika penyedia identitas (IdP) Anda mendukung System for Cross-domain Identity Management (SCIM), Anda dapat mengonfigurasi IdP untuk menyediakan dan mengelola grup di Google Cloud.
Kemampuan
Dukungan SCIM Workforce Identity Federation menyediakan kemampuan berikut:
Sinkronisasi identitas: Sinkronkan salinan data pengguna hanya baca dari IdP Anda untuk mendapatkan tampilan menyeluruh tentang properti dan keanggotaan pengguna di Google Cloud.
Perataan grup: SCIM memproses grup dari IdP Anda sehingga semua keanggotaan langsung dan tidak langsung (bertingkat) untuk pengguna diratakan dan disinkronkan ke Google Cloud Layanan Keanggotaan Grup (GMS). IAM kemudian menggunakan grup yang diratakan ini untuk pemeriksaan kebijakan, sehingga mengatasi batasan ukuran yang sering ditemukan dalam token IdP.
Integrasi Gemini Enterprise: Tenant SCIM mendukung berbagi di Gemini Enterprise. Tenant SCIM mengaktifkan dua fitur terkait berbagi notebook dalam NotebookLM Enterprise:
Pelengkapan otomatis untuk alamat email dan grup
Penggunaan nama grup, bukan ID objek (UUID)
Untuk mempelajari lebih lanjut, lihat Berbagi notebook dengan grup.
Pertimbangan
Saat Anda menggunakan dukungan SCIM Workforce Identity Federation, pertimbangan berikut berlaku:
- Anda harus menyiapkan workforce identity pool dan penyedia sebelum mengonfigurasi tenant SCIM.
- Setiap workforce identity pool hanya mendukung satu tenant SCIM. Untuk mengonfigurasi tenant SCIM baru di workforce identity pool yang sama, Anda harus menghapus tenant yang ada terlebih dahulu. Saat menghapus tenant SCIM, Anda memiliki dua opsi:
- Penghapusan sementara (Default): Menghapus tenant SCIM akan memulai periode penghapusan sementara selama 30 hari. Selama waktu ini, tenant akan disembunyikan dan tidak dapat digunakan, dan Anda tidak dapat membuat tenant SCIM baru di workforce identity pool yang sama.
- Penghapusan permanen: Untuk menghapus tenant SCIM secara permanen dan langsung, gunakan flag
--hard-deletedengan perintah penghapusan. Tindakan ini tidak dapat dibatalkan dan memungkinkan Anda membuat tenant SCIM baru di workforce identity pool yang sama segera setelah penghapusan selesai. Atau, Anda dapat membuat workforce identity pool baru dan tenant SCIM baru atau menggunakan workforce identity pool yang belum pernah dikonfigurasi dengan tenant SCIM.
- Saat menggunakan SCIM, Anda memetakan atribut di penyedia workforce identity pool dan tenant SCIM. Atribut
google.subjectharus secara unik merujuk ke identitas yang sama. Anda menentukangoogle.subjectdi penyedia workforce identity pool menggunakan flag--attribute-mappingdan di tenant SCIM menggunakan flag--claim-mapping. Memetakan nilai identitas yang tidak unik dapat menyebabkan Google Cloud memperlakukan identitas IdP yang berbeda sebagai identitas yang sama. Akibatnya, akses yang diberikan ke satu identitas pengguna atau grup dapat diperluas ke pengguna atau grup lain, tetapi mencabut akses dari satu identitas mungkin tidak menghapusnya dari semua identitas. - Untuk menggunakan SCIM guna memetakan grup, tetapkan
--scim-usage=enabled-for-groups. Saat Anda memetakan grup menggunakan SCIM, pemetaan grup apa pun yang ditentukan di penyedia workforce identity pool akan diabaikan. Saat merujuk ke grup yang dikelola SCIM, atribut yang dipetakan adalahgoogle.group, bukangoogle.groups.google.groupshanya merujuk ke grup yang dipetakan token. - Penerapan keunikan: Google Cloud memvalidasi dan menerapkan
keunikan pada atribut yang dipetakan ke
google.subject(pengguna) dangoogle.group(grup) di tenant SCIM. Jika atribut yang dipetakan yang disediakan oleh IdP Anda menghasilkan nilai duplikat untukgoogle.subjectataugoogle.groupselama sinkronisasi, penyediaan akan gagal dengan error409 ConflictHTTP. Jika atribut yang dipetakan dievaluasi ke null atau kosong, penyediaan akan gagal dengan error400 Bad RequestHTTP. - Saat menggunakan SCIM, atribut berbasis token yang dipetakan dengan
--attribute-mappingmasih dapat digunakan untuk autentikasi dan dalam ID utama. - Untuk konfigurasi Microsoft Entra ID, gunakan SCIM untuk mengaktifkan nama grup yang mudah dibaca di Gemini Enterprise.
Memetakan penyedia OIDC dan SAML ke konfigurasi SCIM
Harus ada konsistensi antara pemetaan atribut dalam konfigurasi penyedia workforce identity pool (--attribute-mapping) dan pemetaan klaim di tenant SCIM (--claim-mapping). Atribut IdP yang mendasarinya yang digunakan untuk mengisi google.subject (untuk pengguna) harus sama, baik dibaca dari klaim token maupun atribut SCIM.
Jika pemetaan ini tidak konsisten, pengguna mungkin dapat login tetapi tidak akan dikenali sebagai anggota grup yang disediakan SCIM. Misalnya, jika penyedia menggunakan assertion.email untuk google.subject, tenant SCIM juga harus menggunakan atribut SCIM yang setara (misalnya, user.emails[0].value) untuk google.subject.
Tabel berikut menunjukkan pemetaan antara atribut klaim token dan atribut SCIM:
| Atribut Google | Pemetaan penyedia workforce identity pool | Pemetaan tenant SCIM (SCIM) |
|---|---|---|
google.subject |
assertion.oid (EntraId) |
user.externalId |
google.subject |
assertion.sub (Okta) |
user.externalId |
google.subject |
assertion.preferred_username |
user.userName |
google.subject |
assertion.preferred_username.lowerAscii() |
user.userName.lowerAscii() |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.group |
T/A (Dipetakan menggunakan SCIM) | group.externalId |
Endpoint yang didukung dan tidak didukung
Endpoint protokol SCIM standar berikut didukung:
/Users: mengelola resource pengguna. Operasi yang didukung:Create,Get,Update,Delete,Patch, danPut./Groups: mengelola resource grup. Operasi yang didukung:Create,Get,Update,Delete, danPatch. MetodePUTtidak didukung untuk grup./Schemas: mengambil informasi skema./ServiceProviderConfig: mengambil konfigurasi penyedia layanan.
Endpoint protokol SCIM berikut tidak didukung:
/Me/Bulk/Search/ResourceTypes
Batasan
Bagian berikut menjelaskan batasan dan penyimpangan penerapan SCIM Workforce Identity Federation dari spesifikasi SCIM (RFC 7643 dan 7644).
Batasan fitur protokol
Dukungan filter: Saat Anda mencantumkan pengguna atau grup menggunakan endpoint
/Usersatau/Groups, ekspresi filter hanya mendukung operatoreq(sama dengan). Anda dapat menggabungkan beberapa filtereqdenganand. Operator filter SCIM lainnya, sepertico(berisi) atausw(diawali dengan), tidak didukung.Penomoran halaman: IAM SCIM API tidak mendukung penomoran halaman standar untuk mencantumkan pengguna atau grup.
startIndex: parameter ini selalu1. API menampilkan hingga 100 hasil, terlepas dari nilai yang Anda berikan untukstartIndex.itemsPerPage: jumlah maksimum resource yang ditampilkan dalam satu respons adalah 100.totalResults: API tidak menampilkan jumlah total resource yang cocok sebenarnya. KolomtotalResultsdalam respons selalu sama dengan jumlah item yang ditampilkan dalam respons tersebut, dengan maksimum 100.
Mendapatkan Grup dan mencantumkan Grup tanpa filter:
GetGroupdanListGroupsAPI menampilkan daftar anggota kosong. Untuk mengambil anggota untuk grup tertentu, gunakanListGroupsAPI dengan filter anggota.Respons JSON yang tidak sesuai dengan token tidak valid: API yang berisi token API tidak valid akan menghasilkan
401 HTTP errordari Google Cloud. Responsnya bukan struktur JSON seperti yang diperlukan oleh spesifikasi.
Batasan perilaku SCIM
ID yang tidak dapat diubah: Nilai atribut SCIM yang dipetakan ke
google.subjectataugoogle.groupdiperlakukan sebagai ID yang tidak dapat diubah dalam Google Cloud. Jika perlu mengubah nilai ini, Anda harus menghapus pengguna atau grup secara permanen dari IdP, lalu membuatnya ulang dengan nilai baru.ID unik dan tidak kosong: Google Cloud menerapkan keunikan pada nilai yang dipetakan ke
google.subjectdangoogle.groupdi tenant SCIM. Sinkronisasi atribut yang dipetakan yang menghasilkan nilai duplikat untukgoogle.subjectataugoogle.groupakan gagal dengan error409 ConflictHTTP. Atribut yang dipetakan yang dievaluasi ke null atau kosong akan gagal dengan error400 Bad RequestHTTP.Persyaratan satu email: Agar sinkronisasi SCIM berhasil, setiap pengguna harus memiliki tepat satu alamat email berjenis
work. Penyediaan atau pembaruan akan gagal jika IdP Anda mengirimkan beberapa email atau jika satu email yang diberikan tidak diketik sebagaiwork.Transformasi yang tidak peka huruf besar/kecil: Transformasi Common Expression Language (CEL) terbatas didukung untuk pemetaan klaim SCIM. Hanya
.lowerAscii()yang didukung untuk perbandingan yang tidak peka huruf besar/kecil untukuser.userNamedanuser.emails[0].value.
Batasan atribut
Bagian berikut menjelaskan dukungan atribut untuk pengguna, grup, dan ekstensi skema pengguna perusahaan.
Atribut pengguna
Tabel berikut menjelaskan dukungan untuk atribut pengguna:
| Atribut | Sub-atribut | Didukung | Batasan |
|---|---|---|---|
userName |
T/A | Ya | T/A |
name |
formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix |
Ya | T/A |
displayName |
T/A | Ya | T/A |
nickName |
T/A | Ya | T/A |
profileUrl |
T/A | Ya | T/A |
title |
T/A | Ya | T/A |
userType |
T/A | Ya | T/A |
preferredLanguage |
T/A | Ya | T/A |
locale |
T/A | Ya | T/A |
timezone |
T/A | Ya | T/A |
active |
T/A | Ya | T/A |
password |
T/A | Tidak | T/A |
emails |
display, type, value, primary |
Ya | Hanya jenis email work yang didukung. |
phoneNumbers |
display, type, value, primary |
Ya | T/A |
ims |
display, type, value |
Ya | T/A |
photos |
display, type, value |
Ya | T/A |
addresses |
formatted, streetAddress, locality, region, postalCode, country |
Ya | T/A |
groups |
T/A | Tidak | T/A |
entitlements |
display, type, value |
Ya | T/A |
roles |
type, value |
Ya | display tidak didukung. |
x509Certificates |
type, value |
Ya | display tidak didukung. |
Atribut grup
Tabel berikut menjelaskan dukungan untuk atribut grup:
| Atribut | Sub-atribut yang didukung |
|---|---|
displayName |
T/A |
externalId |
T/A |
members |
value, type, $ref, display |
Atribut ekstensi skema pengguna perusahaan
Tabel berikut menjelaskan dukungan untuk ekstensi skema pengguna perusahaan:
| Atribut | Sub-atribut yang didukung |
|---|---|
employeeNumber |
T/A |
costCenter |
T/A |
organization |
T/A |
division |
T/A |
department |
T/A |
manager |
value, $ref, displayName |