Panduan ini menunjukkan cara menyiapkan Single Sign-On (SSO) antara Keycloak dan akun Cloud Identity atau Google Workspace menggunakan Penggabungan SAML. Dokumen ini menganggap bahwa Anda telah menginstal dan menggunakan Keycloak.
Tujuan
- Konfigurasikan server Keycloak Anda agar dapat digunakan sebagai Penyedia Identitas (IdP) oleh Cloud Identity atau Google Workspace.
- Konfigurasikan akun Cloud Identity atau Google Workspace Anda agar dapat menggunakan Keycloak untuk SSO.
Sebelum memulai
- Jika Anda tidak memiliki akun Cloud Identity, Daftar untuk membuat akun.
- Pastikan akun Cloud Identity Anda memiliki hak istimewa super-admin.
- Jika server Keycloak Anda digunakan untuk mengelola lebih dari satu realm, tentukan realm mana yang ingin Anda gunakan untuk penggabungan.
- Pastikan Anda memiliki akses admin ke realm yang dipilih.
Buat profil SAML
Untuk mengonfigurasi Single Sign-On dengan Keycloak, buat profil SAML terlebih dahulu di akun Cloud Identity atau Google Workspace Anda. Profil SAML berisi setelan yang terkait dengan server Keycloak Anda, termasuk URL dan sertifikat penandatanganannya.
Kemudian, tetapkan profil SAML ke grup atau unit organisasi tertentu.
Untuk membuat profil SAML baru di akun Cloud Identity atau Google Workspace, lakukan langkah berikut:
Di Konsol Admin, buka Keamanan > Autentikasi > SSO dengan IdP pihak ketiga.
Klik Profil SSO pihak ketiga > Tambahkan profil SAML.
Di halaman SAML SSO profile, masukkan setelan berikut:
- Name:
Keycloak
ID entitas IDP:
Keycloak 17 atau yang lebih baru
https://KEYCLOAK/realms/REALM
Keycloak 16 atau yang lebih lama
https://KEYCLOAK/auth/realms/REALM
URL halaman login:
Keycloak 17 atau yang lebih baru
https://KEYCLOAK/realms/REALM/protocol/saml
Keycloak 16 atau yang lebih lama
https://KEYCLOAK/auth/realms/REALM/protocol/saml
URL halaman logout:
Keycloak 17 atau yang lebih baru
https://KEYCLOAK/realms/REALM/protocol/openid-connect/logout
Keycloak 16 atau yang lebih lama
https://KEYCLOAK/auth/realms/REALM/protocol/openid-connect/logout?redirect_uri=https://KEYCLOAK/auth/realms/REALM/account/
URL ubah sandi:
Keycloak 17 atau yang lebih baru
https://KEYCLOAK/realms/REALM/account
Keycloak 16 atau yang lebih lama
https://KEYCLOAK/auth/realms/REALM/account
Pad seluruh URL, ganti URL berikut:
KEYCLOAK
: nama domain yang sepenuhnya memenuhi syarat (FQDN) server Keycloak AndaREALM
: nama realm yang Anda pilih
Jangan upload sertifikat verifikasi terlebih dahulu.
- Name:
Klik Simpan.
Halaman profil SSO SAML yang muncul berisi dua URL:
- ID entitas
- URL ACS
Anda memerlukan URL ini di bagian berikutnya saat mengonfigurasi Keycloak.
Mengonfigurasi Keycloak
Anda mengonfigurasi server Keycloak dengan membuat klien.
Membuat klien
Buat klien SAML baru di Keycloak:
- Login ke Keycloak dan buka konsol administrasi.
- Pilih realm yang ingin Anda gunakan untuk penggabungan.
- Pada menu, pilih Klien.
- Klik Buat klien.
Konfigurasi setelan berikut untuk klien:
Keycloak 19 atau yang lebih baru
- Jenis klien: SAML
- Client ID: URL Entitas dari profil SSO Anda.
- Name:
Google Cloud
Keycloak 18 atau yang lebih lama
- Client ID: URL Entitas dari profil SSO Anda.
- Protokol klien: SAML
- Endpoint Klien SAML: biarkan kosong
Klik Simpan.
Tentukan detail klien dengan mengonfigurasi setelan berikut:
Keycloak 19 atau yang lebih baru
Pada tab Setelan:
- URI Pengalihan yang Valid: URL ACS dari profil SSO Anda
- Format Nama ID: email
- Format Nama ID otomatis: aktif
- Menandatangani dokumen: nonaktif
- Menandatangani Pernyataan: aktif
Pada tab Kunci:
- Memerlukan tanda tangan Klien: nonaktif
Keycloak 18 atau yang lebih lama
- Nama: Nama seperti
Google Cloud
- Menandatangani Pernyataan: aktif
- Memerlukan tanda tangan Klien: nonaktif
- Format Nama ID otomatis: aktif
- Format Nama ID: email
- URI Pengalihan yang Valid: URL ACS dari profil SSO Anda
Pertahankan nilai default untuk seluruh setelan lainnya.
Klik Simpan.
Mengekspor sertifikat penandatanganan
Setelah mengautentikasi pengguna, Keycloak akan meneruskan pernyataan SAML ke Cloud Identity atau Google Workspace. Agar Cloud Identity dan Google Workspace dapat memverifikasi integritas dan keaslian pernyataan tersebut, Keycloak menandatangani pernyataan dengan kunci penandatanganan token khusus dan memberikan sertifikat yang memungkinkan Cloud Identity atau Google Workspace untuk memeriksa tanda tangan.
Anda sedang mengekspor sertifikat penandatanganan dari Keycloak:
- Pada menu, pilih Setelan realm.
- Pilih tab Kunci.
Cari baris untuk Algorithm: RS256. Jika ada lebih dari satu baris, gunakan baris dengan Use: SIG. Lalu pilih Sertifikat.
Dialog yang berisi sertifikat berenkode base64 akan muncul.
Salin nilai sertifikat berenkode base64 ke papan klip.
Sebelum dapat menggunakan sertifikat penandatanganan, Anda harus mengonversinya ke dalam format PEM dengan menambahkan header dan footer.
- Buka editor teks seperti Notepad atau vim.
Tempel header berikut, diikuti dengan baris baru:
-----BEGIN CERTIFICATE-----
Tempel sertifikat berenkode base64 dari papan klip.
Tambahkan baris baru dan tempel footer berikut:
-----END CERTIFICATE-----
Setelah perubahan, file akan terlihat seperti berikut:
-----BEGIN CERTIFICATE----- MIICmzCCAYMCBgF7v8/V1TANBgkq... -----END CERTIFICATE-----
Simpan file ke lokasi sementara di komputer Anda.
Lengkapi profil SAML
Anda menggunakan sertifikat penandatanganan untuk menyelesaikan konfigurasi profil SAML:
Kembali ke Konsol Admin, lalu buka Keamanan > Authentication > SSO dengan IdP pihak ketiga.
Buka profil SAML
Keycloak
yang Anda buat sebelumnya.Klik bagian Detail IDP untuk mengedit setelan.
Klik Upload certificate lalu pilih sertifikat penandatanganan token yang telah Anda download sebelumnya.
Klik Simpan.
Profil SAML Anda sudah lengkap, tetapi Anda masih perlu menetapkannya.
Tetapkan profil SAML
Pilih pengguna yang akan diberi profil SAML baru:
Di Konsol Admin, pada halaman SSO dengan IDP pihak ketiga, klik Kelola penetapan profil SSO > Kelola.
Di panel kiri, pilih grup atau unit organisasi tempat Anda ingin menerapkan profil SSO. Untuk menerapkan profil ke semua pengguna, pilih unit organisasi root.
Di panel kanan, pilih another SSO profile.
Di menu, pilih profil SSO
Keycloak - SAML
yang Anda buat sebelumnya.Klik Simpan.
Ulangi langkah-langkah tersebut untuk menetapkan profil SAML ke grup atau unit organisasi lain.
Menguji Single Sign-On
Anda telah menyelesaikan konfigurasi Single Sign-On. Sekarang Anda dapat memeriksa apakah SSO berfungsi sebagaimana mestinya.
Pilih pengguna Keycloak yang memenuhi kriteria berikut:
- Pengguna memiliki alamat email.
- Alamat email ini sesuai dengan alamat email utama pengguna yang sudah ada di akun Cloud Identity atau Google Workspace Anda.
Pengguna Cloud Identity tidak memiliki hak istimewa admin super.
Akun pengguna yang memiliki hak istimewa admin super harus selalu login menggunakan kredensial Google, sehingga tidak cocok untuk menguji Single Sign-On.
BUka jendela browser yang baru, lalu buka Konsol Google Cloud.
Di halaman login dengan Google, masukkan alamat email akun pengguna, lalu klik Berikutnya.
Anda akan dialihkan ke Keycloak.
Masukkan kredensial Keycloak Anda, lalu klik Sign in.
Setelah autentikasi berhasil, Keycloak akan mengalihkan Anda kembali ke konsol Google Cloud. Karena ini adalah login pertama bagi pengguna ini, Anda akan diminta untuk menyetujui persyaratan layanan dan kebijakan privasi Google.
Jika Anda menyetujui persyaratannya, klik Setuju.
Anda akan dialihkan ke konsol Google Cloud, yang meminta Anda untuk mengonfirmasi preferensi dan menyetujui persyaratan layanan Google Cloud. Jika Anda menyetujui persyaratannya, klik Ya, lalu klik Setuju dan Lanjutkan.
Klik ikon avatar, lalu klik Logout.
Anda akan dialihkan ke Keycloak.
Jika Anda mengalami masalah saat login, perlu diingat bahwa akun pengguna dengan hak istimewa admin super dapat mengabaikan SSO, sehingga Anda masih dapat menggunakan konsol Admin untuk memverifikasi atau mengubah setelan.
Opsional: Mengonfigurasi pengalihan untuk URL layanan khusus domain
Saat Anda membuat link ke konsol Google Cloud dari portal atau dokumen internal, Anda dapat meningkatkan pengalaman pengguna menggunakan URL layanan khusus domain.
Tidak seperti URL layanan reguler seperti https://console.cloud.google.com/
, URL layanan khusus domain menyertakan nama domain primer Anda. Pengguna yang tidak diautentikasi dan mengklik link ke URL layanan khusus domain akan langsung dialihkan ke Keycloak, bukan halaman login Google terlebih dahulu.
Contoh untuk URL layanan khusus domain mencakup hal berikut:
Google service | URL | Logo |
---|---|---|
Konsol Google Cloud | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com |
|
Google Dokumen | https://docs.google.com/a/DOMAIN |
|
Google Spreadsheet | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com
|
|
Google Sites | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com |
|
Google Drive | https://drive.google.com/a/DOMAIN |
|
Gmail | https://mail.google.com/a/DOMAIN |
|
Google Grup | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com |
|
Google Keep | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com
|
|
Looker Studio | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com |
Untuk mengonfigurasi URL layanan khusus domain agar dialihkan ke Keycloak, lakukan langkah berikut:
Di Konsol Admin, pada halaman SSO dengan IDP pihak ketiga, klik URL layanan khusus domain > Edit.
Setel Otomatis mengalihkan pengguna ke IdP pihak ketiga di profil SSO berikut ke diaktifkan.
Setel profil SSO ke
Keycloak
.Klik Simpan.
Opsional: Mengonfigurasi verifikasi login
Login dengan Google mungkin meminta verifikasi tambahan kepada pengguna saat mereka login dari perangkat yang tidak dikenal atau saat upaya login mereka tampak mencurigakan dengan alasan lain. Verifikasi login ini membantu meningkatkan keamanan dan sebaiknya tetap aktifkan verifikasi login.
Jika merasa bahwa verifikasi login menyebabkan terlalu banyak hambatan, Anda dapat menonaktifkan verifikasi login dengan melakukan tindakan berikut:
- Di Konsol Admin, buka Keamanan > Autentikasi > Verifikasi login.
- Di panel kiri, pilih unit organisasi yang verifikasi loginnya ingin Anda nonaktifkan. Untuk menonaktifkan verifikasi login bagi semua pengguna, pilih unit organisasi root.
- Di bagian Setelan untuk pengguna yang login menggunakan profil SSO lain, pilih Jangan minta verifikasi tambahan dari Google kepada pengguna.
- Klik Simpan.
Langkah selanjutnya
- Pelajari Identity and Access Management (IAM) lebih lanjut.
- Baca praktik terbaik untuk menyiapkan organisasi perusahaan di Google Cloud.