# SSO dengan SAML: alur login dan pemeriksaan integrasi

Sumber diperiksa. Metode: https://kompli.id/metodologi/.

SAML dapat menghubungkan login dari penyedia identitas ke aplikasi. Integrasi perlu memeriksa pesan, kepercayaan kunci, pemetaan pengguna, dan sesi di masing-masing layanan.

URL kanonis: https://kompli.id/panduan/keamanan/sso-saml/
Sumber diakses: 2026-09-30
Diperbarui: 2026-09-30
Penulis: Kompli
Sumber diperiksa: 2026-09-30


## Apa itu SAML SSO?

**SAML adalah standar pertukaran informasi autentikasi dan otorisasi.** Pada *single sign-on* (SSO), aplikasi dapat menerima hasil autentikasi dari penyedia identitas sehingga pengguna tidak perlu mempunyai kata sandi terpisah di setiap aplikasi.

Penyedia identitas disebut *Identity Provider* (IdP). Aplikasi tujuan disebut *Service Provider* (SP). Pesan SAML membawa *assertion*: pernyataan yang harus diverifikasi sebelum aplikasi membuat sesi. SSO adalah cara menggunakan beberapa layanan dengan satu proses identitas; SAML merupakan salah satu protokolnya. Bandingkan dengan [OIDC](/panduan/keamanan/oauth-dan-openid-connect/).

## Contoh: pegawai membuka aplikasi pengadaan

Contoh fiktif ini memakai alur yang dimulai dari aplikasi atau *SP-initiated*:

1. Pegawai membuka aplikasi pengadaan dan memilih masuk dengan akun kantor.
2. Aplikasi mengarahkan pegawai ke IdP yang telah dipercaya.
3. IdP mengautentikasi pegawai dan mengirim respons ke alamat penerima aplikasi.
4. Aplikasi memvalidasi respons, memetakan pengguna serta izin, lalu membuat sesi sendiri.

Login berhasil belum menjadikan pegawai pemberi persetujuan pembelian. Pemilik aplikasi menetapkan siapa boleh membuat, memeriksa, dan menyetujui permintaan. Gunakan akun buatan dari dua peran untuk memeriksa pemetaan tersebut.

## Pemeriksaan integrasi yang perlu dicatat

| Bagian | Pertanyaan pemeriksaan |
| --- | --- |
| Kepercayaan | Apakah penerbit dan kunci penandatangan berasal dari IdP yang disetujui? |
| Pesan | Apakah tanda tangan benar-benar mencakup assertion yang dipakai? |
| Tujuan dan waktu | Apakah audience, penerima, alamat tujuan, dan masa berlaku cocok? |
| Hubungan permintaan | Untuk SP-initiated, apakah respons cocok dengan permintaan login yang belum selesai? |
| Pengulangan | Apakah assertion yang sudah dipakai dapat ditolak saat dikirim ulang? |

Gunakan pustaka SAML yang dipelihara. Jangan membuat pemeriksaan XML atau tanda tangan sendiri. Rencanakan perubahan sertifikat penandatangan dan uji sebelum pergantian. Menonaktifkan validasi bukan penyelesaian untuk sertifikat yang berubah.

## Bagaimana dengan login dari portal IdP?

Alur *IdP-initiated* menerima respons tanpa permintaan awal dari aplikasi. Karena itu, pemeriksaan hubungan permintaan tidak sama dengan SP-initiated. Aktifkan hanya bila diperlukan dan didukung dengan pengamanan yang sesuai, termasuk pemeriksaan replay dan tujuan pengalihan. Catat alur mana yang benar-benar dipakai.

## SSO tidak otomatis mencabut semua akses

Sesi IdP dan sesi aplikasi dikelola terpisah. Uji apa yang terjadi ketika pegawai logout, dinonaktifkan, atau berubah peran. Akun lokal cadangan dan integrasi yang belum terhubung juga perlu diperiksa.

Catatan penerimaan harus menyebut aplikasi yang diuji, peran yang diterima, respons tidak sah yang ditolak, serta sesi yang masih tersisa. Gunakan [checklist akses pegawai](/template/checklist-akses-pegawai/) untuk pekerjaan masuk, pindah peran, dan keluar. Ini panduan pemeriksaan integrasi, bukan jaminan seluruh konfigurasi SAML telah aman.
## Sumber rujukan

- [OWASP — SAML Security Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/SAML_Security_Cheat_Sheet.html) — Introduction; signatures; protocol processing; unsolicited responses; Identity Provider and Service Provider considerations
- [NIST SP 800-63B-4 — Authentication and Authenticator Management](https://pages.nist.gov/800-63-4/sp800-63b.html) — Bagian 5: sesi pada federasi dan autentikasi ulang

## Perlu membahas kebutuhan tim Anda?

Ceritakan sistem yang dikelola dan kebutuhan pengamanan tim Anda.

[Konsultasikan kebutuhan Anda](https://kompli.id/konsultasi/?topik=keamanan)

## Bacaan terkait

- [OAuth dan OpenID Connect: beda izin API dan login](https://kompli.id/panduan/keamanan/oauth-dan-openid-connect/)
- [Mengamankan akun kerja: MFA, passkey, SSO, dan pencabutan akses](https://kompli.id/panduan/keamanan/mengamankan-akun-dan-akses/)
- [Sesi login dan token: timeout, logout, dan pencabutan](https://kompli.id/panduan/keamanan/sesi-login-dan-token/)

