Skip to content

Single Sign-On (SSO) & Autentikasi Windows

Cockpit mendukung Single Sign-On (SSO) dan autentikasi tanpa kata sandi untuk berintegrasi dengan Penyedia Identitas (IdP) perusahaan dan lingkungan domain.


Protokol Autentikasi

Cockpit berintegrasi dengan kerangka kerja SSO standar untuk memvalidasi sesi pengguna:

  1. SAML 2.0: Berintegrasi dengan Penyedia Identitas perusahaan seperti Okta, Keycloak, Ping Identity, dan Microsoft Entra ID.
  2. OpenID Connect (OIDC): Lapisan autentikasi ringan yang dibangun di atas OAuth 2.0 untuk integrasi direktori cloud.
  3. Autentikasi Windows Terintegrasi (Kerberos / GSSAPI): Memungkinkan klien yang bergabung dengan domain (domain-joined) untuk melakukan autentikasi secara otomatis menggunakan tiket keamanan Windows aktif mereka, menghilangkan persyaratan untuk memasukkan kredensial secara manual.

1. Mengonfigurasi Autentikasi Sesi Windows (Kerberos)

Menerapkan autentikasi Kerberos memerlukan pembuatan file keytab pada Active Directory Domain Controller dan mendaftarkan modul GSSAPI di Cockpit.

Langkah A: Persiapan Server Active Directory

Jalankan perintah administratif berikut pada Domain Controller untuk mendaftarkan Service Principal Name (SPN) dan membuat keytab:

cmd
# 1. Daftarkan service principal name Cockpit di bawah akun layanan
setspn -a HTTP/cockpit.corp.awan.io svc-cockpit

# 2. Ekspor file keytab kriptografis ke "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 Layanan Cockpit

  1. Salin file cockpit.keytab yang dihasilkan secara aman ke /etc/cockpit/cockpit.keytab pada server Cockpit.
  2. Tambahkan parameter berikut ke bagian [auth] pada file /etc/cockpit/cockpit.conf:
ini
[auth]
sso_enabled = true
sso_method = "kerberos"
sso_keytab_path = "/etc/cockpit/cockpit.keytab"
sso_realm = "CORP.AWAN.IO"
sso_service_principal = "HTTP/cockpit.corp.awan.io@CORP.AWAN.IO"

2. Mengonfigurasi Integrasi SAML 2.0

Untuk menghubungkan Cockpit ke Penyedia Identitas eksternal seperti Okta atau Azure AD:

  1. Masuk ke Cockpit sebagai administrator.
  2. Navigasikan ke Settings > Identity Management > SAML.
  3. Pilih Metadata Import dan unggah file XML Metadata Penyedia Identitas.
  4. Ekstrak konfigurasi Cockpit untuk mendaftarkan aplikasi pada Penyedia Identitas:
    • Entity ID: https://cockpit.corp.awan.io/api/v1/auth/saml/metadata
    • Assertion Consumer Service (ACS) URL: https://cockpit.corp.awan.io/api/v1/auth/saml/acs
  5. Konfigurasikan pemetaan atribut di Penyedia Identitas:
    • Atribut Nama Pengguna: Petakan ke alamat email utama pengguna atau ID unik (NameID atau uid).
    • Atribut Grup: Petakan ke bidang pernyataan grup (memberOf or groups) untuk mengaktifkan pemetaan izin otomatis.