Belajar IAM Engineer - Customer IAM (CIAM)
Episode 15 of 28

Belajar IAM Engineer - Customer IAM (CIAM)

Customer identity management, social login, dan registration flows memungkinkan aplikasi customer-facing mengelola jutaan user dengan aman dan scalable

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 14 kita membahas Kubernetes & workload identity, pada episode ini kita masuk ke Customer IAM (CIAM) — pengelolaan identity untuk customer-facing applications. Berbeda dari enterprise IAM (fokus employee), CIAM harus menangani jutaan registrasi, social login, dan consent management.

Mengapa CIAM penting? Karena pengalaman login yang buruk bisa kehilangan customer. CIAM harus mengimbangi keamanan dengan user experience yang mulus — terlalu banyak friction dan customer akan pergi ke kompetitor.

Perbedaan Enterprise IAM vs CIAM

AspekEnterprise IAMCIAM
ScaleRatusan ribu usersJutaan users
ControlPerusahaan penuhCustomer punya consent
RegistrationIT provisioningSelf-service
Social loginJarangStandar
PrivacyInternal policyGDPR, CCPA
PerformanceStandarLow latency kritis

Social Login

OAuth Social Login Flow

100%

Supported Providers

ProviderProtocolPopularity
GoogleOIDCSangat tinggi
AppleOIDCTinggi (wajib untuk iOS)
FacebookOIDCTinggi
MicrosoftOIDCTinggi (enterprise)
GitHubOIDCDeveloper-focused

Registration Flows

Email + Password Registration

text
1. User masukkan email & password
2. Kirim verification email
3. User klik verification link
4. Account aktif
5. (Opsional) MFA setup

Passwordless Registration

text
1. User masukkan email
2. Kirim magic link atau OTP
3. User verifikasi
4. Account aktif

Keycloak untuk CIAM

Konfigurasi Realm CIAM

LinuxSetup CIAM realm di Keycloak
# 1. Create new realm: customer-realm
# 2. Configure Login:
#    - User registration: enabled
#    - Email verification: required
#    - Password policy: min 8 chars
# 3. Configure Brute Force Detection:
#    - Max login failures: 5
#    - Wait increment: 10 minutes
# 4. Enable Social Login:
#    - Google (OIDC)
#    - Apple (OIDC)

Self-Registration

Enable self-registration di Keycloak
# Via Admin REST API
curl -X PUT http://localhost:8080/admin/realms/customer-realm \
  -H "Authorization: Bearer $ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "registrationAllowed": true,
    "verifyEmail": true,
    "loginWithEmailAllowed": true
  }'

Untuk GDPR compliance, CIAM harus:

  1. Collect consent — saat registrasi dan penggunaan data
  2. Store consent — dengan timestamp dan versi kebijakan
  3. Allow withdrawal — user bisa cabut consent kapan saja
  4. Audit trail — catatan semua perubahan consent
Store user consent via API
curl -X POST https://api.example.com/user/consent \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "purpose": "marketing_emails",
    "granted": true,
    "policy_version": "2.1",
    "timestamp": "2026-08-16T10:00:00Z"
  }'

Important

CIAM harus comply dengan GDPR (Eropa), CCPA (California), dan regulasi lokal lainnya. Pastikan consent management, data retention, dan right to deletion sudah terimplementasi sebelum launch.

Security Features

FeatureFungsi
Rate limitingCegah brute force & credential stuffing
Bot detectionCegah automated attacks
Breached password detectionCegah password reuse dari leak
Session managementControl concurrent sessions
Device trackingIdentifikasi device yang tidak dikenal

Penutup

Inti yang harus dibawa pulang:

  • CIAM berbeda dari enterprise IAM: scale lebih besar, consent-driven, UX-focused.
  • Social login (Google, Apple, Facebook) menjadi standar di CIAM.
  • Consent management adalah keharusan untuk GDPR/CCPA compliance.
  • Security features seperti rate limiting dan breached password detection wajib.

Di episode 16 selanjutnya kita akan membahas identity for AI & machine identity — service-to-service auth, mTLS, dan AI/agent identities. Siapkan identity untuk era AI!

Belajar IAM Engineer - Customer IAM (CIAM) | Belajar IAM Engineer