Panduan ini menjelaskan cara mengambil klaim standar OpenID Connect (OIDC),
klaim direktori kustom, dan keanggotaan grup untuk pengguna tenaga kerja yang diautentikasi
dengan menggunakan endpoint /userinfo di Cloud OAuth API
(cloudoauth.googleapis.com).
Sebelum memulai
- Konfigurasi workforce identity pool dan penyedia. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi Workforce Identity Federation.
- Mendaftarkan klien OAuth dan menukar kode otorisasi dengan token akses. Untuk mengetahui informasi selengkapnya, lihat Menukarkan token dengan Cloud OAuth API.
- Pastikan token akses Anda menyertakan cakupan
openid. -
Aktifkan Cloud OAuth API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.
Endpoint lingkup organisasi
Cloud OAuth API menyediakan endpoint cakupan organisasi (single-tenant) yang dapat Anda gunakan saat aplikasi dan resource klien Anda dibatasi untukGoogle Cloud organisasi tertentu:
Metode
organizations.userinfo
Cloud OAuth API mengambil klaim standar OpenID Connect (OIDC), klaim kustom, dan keanggotaan grup untuk pengguna yang diautentikasi di organisasi tertentu.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
TOKEN: token akses OAuth 2.0 berumur pendek yang diperoleh dari endpoint pertukaran token.ORGANIZATION_ID: ID organisasi Google Cloud numerik Anda.
Metode HTTP dan URL:
GET https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Untuk workforce identity pool tanpa pengaktifan penyediaan SCIM, endpoint menampilkan atribut profil, klaim kustom, dan keanggotaan grup secara inline:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"email": "user@example.com",
"custom_claim1": "engineering",
"custom_claim2": "us-west",
"groups": [
"looker-developers",
"analytics-viewers"
]
}
Klaim pengguna dan grup yang didistribusikan SCIM
Saat permintaan berhasil, endpoint /userinfo akan menampilkan status HTTP 200 OK
dan objek JSON yang berisi klaim untuk pengguna yang diautentikasi.
Format klaim bergantung pada apakah penyedia pool workforce identity Anda menggunakan penyediaan SCIM:
Klaim inline (kumpulan identitas non-SCIM)
Untuk workforce identity pool tanpa pengaktifan penyediaan SCIM, endpoint akan menampilkan atribut profil, klaim kustom, dan keanggotaan grup secara inline:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"email": "user@example.com",
"custom_claim1": "engineering",
"custom_claim2": "us-west",
"groups": [
"looker-developers",
"analytics-viewers"
]
}
Klaim terdistribusi (kumpulan identitas yang mendukung SCIM)
Untuk workforce identity pool dengan penyediaan SCIM yang diaktifkan, keanggotaan grup
ditampilkan sebagai klaim terdistribusi. Respons mencakup _claim_names dan
_claim_sources yang mereferensikan endpoint /groups:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"name": "Jane Doe",
"email": "user@example.com",
"_claim_names": {
"groups": "src1"
},
"_claim_sources": {
"src1": {
"endpoint": "https://cloudoauth.googleapis.com/v1/common/groups"
}
}
}
Kolom klaim
Respons berisi kolom klaim standar dan terdistribusi berikut:
| Kolom | Jenis | Deskripsi |
|---|---|---|
sub |
string |
ID utama unik untuk pengguna yang diautentikasi di workforce identity pool. |
name |
string |
Nama lengkap pengguna, jika tersedia dari penyedia identitas. |
email |
string |
Alamat email pengguna yang diautentikasi. |
groups |
array of strings |
(Khusus Non-SCIM) Daftar keanggotaan grup perusahaan untuk pengguna. |
_claim_names |
object |
(Khusus yang mendukung SCIM) Objek JSON yang memetakan nama klaim terdistribusi (seperti groups) ke ID sumber di _claim_sources. |
_claim_sources |
object |
(Khusus yang mendukung SCIM) Objek JSON yang menentukan endpoint sumber untuk setiap ID klaim terdistribusi. |
Untuk mengetahui informasi tentang respons error yang ditampilkan oleh endpoint /userinfo, lihat
Error info pengguna dan grup Cloud OAuth.
Langkah berikutnya
- Mengambil grup perusahaan dengan Cloud OAuth API
- Menukar token dengan Cloud OAuth API
- Ringkasan Cloud OAuth API
- Mengelola aplikasi OAuth untuk Workforce Identity Federation
- Referensi API REST OAuth Cloud