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 admin super.
- 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.
Membuat profil SAML
Untuk mengonfigurasi single sign-on dengan Keycloak, Anda harus membuat profil SAML di akun Cloud Identity atau Google Workspace terlebih dahulu. Profil SAML berisi setelan yang terkait dengan server Keycloak Anda, termasuk URL dan sertifikat penandatanganannya.
Kemudian, Anda menetapkan profil SAML ke grup atau unit organisasi tertentu.
Untuk membuat profil SAML baru di akun Cloud Identity atau Google Workspace, lakukan hal 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:
- Nama:
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 dulu.
- Nama:
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 admin.
- 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: Entity URL dari profil SSO Anda.
- Nama:
Google Cloud
Keycloak 18 atau yang lebih lama
- Client ID: Entity URL dari profil SSO Anda.
- Protokol klien: SAML
- Endpoint Klien SAML: biarkan kosong
Klik Simpan.
Tentukan detail untuk 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.
Temukan baris untuk Algoritma: RS256. Jika ada lebih dari satu baris, gunakan baris dengan Use: SIG. Kemudian, 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 > Autentikasi > SSO dengan IdP pihak ketiga.
Buka profil SAML
Keycloak
yang Anda buat sebelumnya.Klik bagian IDP details untuk mengedit setelan.
Klik Upload sertifikat dan pilih sertifikat penandatanganan token yang telah Anda download sebelumnya.
Klik Simpan.
Profil SAML Anda sudah selesai, tetapi Anda masih perlu menetapkannya.
Menetapkan profil SAML
Pilih pengguna yang akan menggunakan profil SAML baru:
Di Konsol Admin, di halaman SSO dengan IdP pihak ketiga, klik Kelola penetapan profil SSO > Kelola.
Di panel kiri, pilih grup atau unit organisasi yang ingin Anda terapkan profil SSO. Untuk menerapkan profil ke semua pengguna, pilih unit organisasi root.
Di panel kanan, pilih Profil SSO lain.
Di menu, pilih profil SSO
Keycloak - SAML
yang Anda buat sebelumnya.Klik Simpan.
Ulangi langkah-langkah 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 Login.
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: Konfigurasi pengalihan untuk URL layanan khusus domain
Saat menautkan ke konsol Google Cloud dari portal atau dokumen internal, Anda dapat meningkatkan pengalaman pengguna dengan menggunakan URL layanan khusus domain.
Tidak seperti URL layanan reguler seperti https://console.cloud.google.com/
,
URL layanan khusus domain menyertakan nama domain utama Anda. Pengguna yang tidak diautentikasi
yang mengklik link ke URL layanan khusus domain akan langsung dialihkan
ke Keycloak, bukan ditampilkan halaman login Google terlebih dahulu.
Contoh untuk URL layanan khusus domain mencakup:
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 |
|
YouTube | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/
|
Untuk mengonfigurasi URL layanan khusus domain agar dialihkan ke Keycloak, lakukan hal berikut:
Di Konsol Admin, pada halaman SSO dengan IdP pihak ketiga, klik URL layanan khusus domain > Edit.
Tetapkan Otomatis mengalihkan pengguna ke IdP pihak ketiga di profil SSO berikut ke aktif.
Tetapkan 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 terlihat mencurigakan karena alasan lain. Verifikasi login ini membantu meningkatkan keamanan dan sebaiknya biarkan verifikasi login diaktifkan.
Jika Anda mendapati bahwa verifikasi login menyebabkan terlalu banyak hambatan, Anda dapat menonaktifkan verifikasi login dengan melakukan hal berikut:
- Di Konsol Admin, buka Keamanan > Autentikasi > Verifikasi login.
- Di panel kiri, pilih unit organisasi yang ingin Anda nonaktifkan verifikasi loginnya. 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 pengguna melakukan verifikasi tambahan dari Google.
- Klik Simpan.
Langkah selanjutnya
- Pelajari Identity and Access Management (IAM) lebih lanjut.
- Baca tentang praktik terbaik untuk menyiapkan organisasi perusahaan di Google Cloud.