Kali ini kita akan membahas cara menggunakan Single Sign On Sumo Logic dengan Keycloak. Disini kita akan menggunakan keycloak sebagai IdP (identity provider), untuk user dari keyloaknya sendiri akan dibuat manual, semua user yang akan kita buat di realm keycloak akan bisa login otomatis ke Sumo Logic. Pemisahan role ini bisa dilakukan, tetapi disini tidak akan kita bahas, karena tulisan ini sudah cukup panjang.
Diasumsikan anda sudah mendaftar di Sumo Logic (trial 30 hari bisa digunakan), dan memiliki Keycloak yang siap digunakan, karena proses pendaftaran dan instalasi tidak akan kita bahas.
Sebelum jalan lebih jauh, kita perlu mengerti arti dari realm dan client di Keycloak.
1. Buat Realm
Realm digunakan untuk mengelola client, user, role dan group. Bila anda membuat user di realm A, user tersebut tidak akan muncul di realm B karena keduanya terpisah.
Buat realm baru dengan mengarahkan cursor ke Master dan add realm
yang perlu di isi :
Name: sumologic
Enable : on
selebihnya biarkan default. Klik Create
Setelah klik create akan diarahkan ke halaman realm Sumologic yang baru dibuat
Klik link SAML 2.0 Identity Provider Metadata di Endpoints. Bagian yang perlu dicatat adalah entityID dan X509Certificate
2. SAML Sumologic
Administration -> Security -> SAML.Untuk menambah configurasi baru klik Add Configuration
Configuration Name: keycloak Issuer: https://keycloak.jaranguda.com/auth/realms/sumologic (dari entityID)
X.509 Certificate: Copy file certificate dari X509Certificate, tambahkan dibaris pertama -----BEGIN CERTIFICATE-----
dan dibaris akhir -----END CERTIFICATE-----
, contoh
-----BEGIN CERTIFICATE----- MIICoTCCAYkCBgF7GwJt/zANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAlzdW1vbG9naWMwHhcNMjEwODA2MTAyNzI5WhcNMzEwODA2MTAyOTA5WjAUMRIwEAYDVQQDDAlzdW1vbG9naWMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCOjnlkr5X3t43E/plYVHHWjPGf00NA4Vwvsc+DBcVHKAzNOS7EmG5weQzO66RqN1+2+r75tCxLf5I/Ao2b4BKgDZkuHJTegD5+7XGJX67X3EUQALWxswaqerz1hzWuTWdZGwJD+CitGQjiy3W7NZAFBh9UpnSsomi56ybK1ghADQn04tq1wwudd1/D/UrYbkLYdAbRXfG/xhFtz330XBBwjK3X6cjdaRf3mMC7xCTJ52b7sUJf4CKJAyHQN3DMyStxBXh9CgLJCyiRjjnuOeLybad4diNjQHxFhOkpge+qh+VL5UCIuYB65AHYT2NW47QdnO6cQkUIM9RajYJHvaKJAgMBAAEwDQYJKoZIhvcNAQELBQADggEBADl6ZzEXXL3ro6s+zn6+SURI2qb6upbXmuMbHoW1fhTCuYRlsK0at0FWWpZ98b1/T8Ps8zCGcf/UovUSCUiRvA5zqrKECl0nYNUOKQSbbWG3isB8FyO+WIVoYpqCauHYX1wkZAi0j0gu8z3Omy9tbVUY5c0w5Ojxiki1apnnFtQNHNmX5JlZaGX2hX0ETrKq4KXmE3A1L/bEfmdmZxALZJaWxWjZWt5tO+AY1YikWZ7EZUVT5Lp/hNktASzg82fdcEobo1/XrY+DM/fz5hkUWa5GK59W7rq88TT2uXi4YFARmfQ+NkOKg8bt/0rOcw4dHXM1TsTHSicBxz5QvYRrA5o= -----END CERTIFICATE-----
Use SAML Subject : dicentang, kita akan mapping SAML Subject ini ke email di client Keycloak <code>Name ID Format </code> On Demand Provisioning First Name : firstName Last Name : lastName On Demand Provisioning Roles : Analyst
klik Add
klik pada nama konfigurasi, lalu copy Assertion Consumer
3. Buat client di Keycloak
Client ini yang akan kita gunakan untuk login ke Sumo Logic.
Kembali ke Keycloak, klik Clients -> Create (untuk membuat client baru)
Client ID : sumologic
Client Protocol : saml
akhiri dengan klik Save
Pada konfigurasi client sumologic ini
Client ID | sumologic |
---|---|
Enabled | ON |
Include AuthnStatement | ON |
Sign Documents | ON |
Client Signature Required | ON |
Force POST Binding | ON |
Front Channel Logout | ON |
Name ID Format | |
Master SAML Processing URL | URL dari Assertion Consumer web sumologic, contoh https://service.jp.sumologic.com/sumo/saml/consume/807397564 |
IDP Initiated SSO URL Name | Bisa apa saja, contoh saya menggunakan signin |
Setelah memasukkan signin pada Initiate SSO akan muncul URL yang digunakan untuk login, contoh https://keycloak.jaranguda.com/auth/realms/sumologic/protocol/saml/clients/signin
masih di Clients -> sumologic, klik Mappers klik lagi Create
Disini kita akan mapping informasi user keycloak ke sumo logic (sesuai dengan On Demand Provisioning)
Name | Mapper Type | Property | Friendly Name |
---|---|---|---|
firstName | User Property | firstName | firstName |
lastName | User Property | lastName | lastName |
4. Buat User di Keycloak
Add userUsername | jaranguda |
---|---|
isi dengan email anda | |
Firstname | Siadmin |
Lastname | Jaranguda |
User Enabled | ON |
Email Vertified | ON |
akhiri dengan klik Save.
Pada konfigurasi user jaranguda klik tab Credentials
Disini kita akan membuat password untuk user yang baru dibuat
Field yang perlu diisi:
Password
Password Confirmation
Temporary: Off
klik Set Password, saat diminta konfirmasi anda akan set password klik OK.
5. Tes Konfigurasi Keycloak dan Sumo Logic
Setelah konfigurasi selesai, saatnya melakukan testing untuk mengetahui hasil dari konfigurasi kita.
Buka alamat Target IDP Initiated SSO URL tersebut di browser yang berbeda atau incognito
masukkan user dan password user yang baru dibuat, klik sign in
berhasil login, dan lihat dipojok kiri bawah kelihatan Siadmin Jaranguda
, nama yang kita buat sewaktu create user, bila ada kesalahan yang muncul disitu adalah alamat email.
SSO keycloak dengan Sumo Logic dan mapping data berhasil dijalankan.