Skip to content

Single Sign-On (SSO) & Autentikasi Windows

Single Sign-On (SSO) memungkinkan pengguna untuk login ke Cockpit menggunakan akun perusahaan mereka yang sudah ada (seperti Okta atau Microsoft Azure), atau bahkan login secara otomatis tanpa mengetik kata sandi jika mereka menggunakan komputer Windows yang dikelola perusahaan.


Apa itu SSO? 🎟️

💡 Analogi: Gelang Tiket Terusan Dunia Fantasi

Bayangkan pergi ke taman hiburan besar dengan puluhan wahana permainan:

  • Tanpa SSO: Anda harus mengeluarkan dompet dan membayar dengan tiket tunai yang berbeda untuk setiap wahana (mengetik kata sandi untuk Cockpit, email, portal HR, dll.).
  • Dengan SSO: Anda membeli satu gelang tiket terusan di pintu masuk. Saat ingin naik wahana, petugas hanya memindai gelang Anda dan mempersilakan Anda masuk.

SAML dan OIDC hanyalah format teknologi "gelang terusan" (seperti kode batang vs chip RFID) yang digunakan perusahaan untuk membangun sistem ini.

Protokol SSO yang Didukung:

  1. SAML 2.0: Menghubungkan Cockpit ke layanan identitas bisnis seperti Okta, Keycloak, Ping Identity, atau Azure AD.
  2. OpenID Connect (OIDC): Metode modern yang ringan untuk masuk menggunakan akun seperti Google Workspace atau Microsoft Entra ID.
  3. Autentikasi Sesi Windows (Kerberos / Integrated Windows Authentication): Seperti "Tiket VIP". Jika laptop Anda terhubung ke jaringan domain perusahaan Anda, Cockpit akan mendeteksi bahwa Anda sudah masuk ke Windows dan langsung memasukkan Anda ke dashboard web secara otomatis—tanpa perlu mengetik username atau kata sandi.

1. Menyiapkan Autentikasi Sesi Windows (Kerberos)

Untuk menyiapkan login tanpa kata sandi bagi pengguna domain Windows, Anda harus menyiapkan Active Directory Domain Controller dan mengonfigurasi Cockpit.

Langkah A: Persiapan Active Directory

Administrator jaringan Anda harus menjalankan perintah berikut di Active Directory Domain Controller untuk menghasilkan file kunci keamanan "Keytab" untuk Cockpit:

cmd
# 1. Daftarkan situs web Cockpit ke Active Directory Anda
setspn -a HTTP/cockpit.corp.awan.io svc-cockpit

# 2. Ekspor file keytab keamanan (simpan sebagai cockpit.keytab)
ktpass /out cockpit.keytab /princ HTTP/cockpit.corp.awan.io@CORP.AWAN.IO /mapuser svc-cockpit /pass Password123 /crypto AES256-SHA1 /ptype KRB5_NT_PRINCIPAL

Langkah B: Konfigurasi Server Cockpit

  1. Salin file cockpit.keytab yang dihasilkan ke folder server Cockpit Anda: /etc/cockpit/cockpit.keytab.
  2. Tambahkan baris konfigurasi berikut ke file /etc/cockpit/cockpit.conf Anda:
ini
[auth]
sso_enabled = true
sso_method = "kerberos"
sso_keytab_path = "/etc/cockpit/cockpit.keytab" # Lokasi file keytab
sso_realm = "CORP.AWAN.IO" # Domain Active Directory Anda
sso_service_principal = "HTTP/cockpit.corp.awan.io@CORP.AWAN.IO"

2. Menyiapkan Penyedia SAML 2.0

Untuk mengizinkan tim Anda masuk menggunakan Okta, Azure AD, atau Keycloak:

  1. Masuk ke Cockpit sebagai administrator.
  2. Buka menu Settings > Identity Management > SAML.
  3. Klik Metadata Import dan unggah file XML Metadata yang Anda unduh dari Okta/Azure.
  4. Cockpit akan menghasilkan pengaturan yang perlu Anda masukkan kembali ke penyedia identitas Anda:
    • Entity ID: https://cockpit.corp.awan.io/api/v1/auth/saml/metadata (Nama unik untuk aplikasi Cockpit ini).
    • Assertion Consumer Service (ACS) URL: https://cockpit.corp.awan.io/api/v1/auth/saml/acs (Ke mana penyedia identitas mengirim pengguna setelah login).
  5. Atur pemetaan profil pengguna:
    • Username Attribute: Setel ke NameID atau uid agar Cockpit tahu email/nama pengguna tersebut.
    • Groups Attribute: Setel ke memberOf atau groups agar Cockpit dapat secara otomatis menetapkan izin akses berdasarkan departemen kerja mereka di perusahaan.