SAML 2.0 SSO kur (Okta / Azure AD / Google Workspace)
IdP (kimlik sağlayıcı) ile Moonborn arasında SAML 2.0 SSO'yu uçtan uca bağla — SP üstverisi (metadata), IdP yapılandırması, öznitelik eşleme (attribute mapping), parola kilidi.
SAML 2.0 SSO (tek oturum açma) Enterprise özelliğidir. Etkinleştirildiğinde kullanıcılar kimlik sağlayıcı (IdP) — Okta, Azure AD, Google Workspace, OneLogin — üzerinden kimlik doğrular; Moonborn parola sayfasını hiç görmez. BT / güvenlik ekibi tek kontrol noktasından kimliği yönetir, hazırlığa son verme (deprovision) işlemleri otomatik akar.
Bu rehber SP (Service Provider / Hizmet Sağlayıcı) üstverisini çekme, IdP-tarafı yapılandırma, öznitelik eşleme, SP-başlatımlı ve IdP-başlatımlı akış testi ve son adım olarak parola oturum açmasının kapatılması akışını anlatır.
Bu rehberi bitirdiğinde
- Moonborn SP üstverisinin nerede yayımlandığını ve IdP'in hangi alanlara ihtiyaç duyduğunu bileceksin.
- IdP üstveri URL'ini Moonborn'a yapılandırma maddesi olarak gönderebileceksin.
- Zorunlu ve isteğe bağlı SAML öznitelik eşlemesini kurabileceksin.
- SP-başlatımlı (SP-initiated) ve IdP-başlatımlı (IdP-initiated) akışları test edebileceksin.
- SSO canlı olduktan sonra parola oturum açmayı kilitleyebileceksin.
- SAML (kim oturum açabilir) ile SCIM (otomatik yaşam döngüsü) arasındaki sınırı bileceksin.
Ön koşul: Enterprise planı, IdP yönetici erişimi, hedef organizasyonda owner veya admin rolünde Moonborn üyeliği.
1. Moonborn SP üstverisini çek
Moonborn SP üstverisini şu URL'de yayımlar:
https://api.moonborn.co/v1/auth/sso/saml/metadata?orgId=org_...IdP-tarafı yapılandırma için ihtiyacın olan değerler:
| Alan | Değer |
|---|---|
| Entity ID (varlık kimliği) | https://api.moonborn.co/saml/{orgId} |
| ACS URL | https://api.moonborn.co/v1/auth/sso/saml/acs |
| NameID format | emailAddress |
| AuthnRequest imzalama | Zorunlu |
| Response imzalama | Zorunlu |
2. IdP'i yapılandır
- Applications → Browse App Catalog → Search "Moonborn" (veya genel — generic — SAML 2.0).
- Add Application → SAML 2.0 oturum açma yöntemini seç.
- Single sign-on URL:
https://api.moonborn.co/v1/auth/sso/saml/acs - Audience URI (SP Entity ID):
https://api.moonborn.co/saml/{orgId} - Name ID format:
EmailAddress - Application username:
Email - Attribute Statements:
email→user.emailfirstName→user.firstNamelastName→user.lastName
- Assignments → Assign ekip üyelerine.
- Sign On → View Setup Instructions → Identity Provider metadata URL'ini kopyala.
3. IdP üstverisini Moonborn'a gönder
IdP'in üstveri URL'ini veya XML'ini al; Moonborn'a yapılandırma maddesi olarak yaz:
await client.config.setItem({
key: 'identity.sso.saml.idp_metadata_url',
value: 'https://your-idp.example.com/metadata.xml',
scope: 'org',
scopeId: 'org_...',
});
await client.config.setItem({
key: 'identity.sso.saml.enabled',
value: true,
scope: 'org',
scopeId: 'org_...',
});4. Öznitelik eşleme
Zorunlu öznitelikler
| SAML özniteliği | Moonborn karşılığı |
|---|---|
email (ayrıca NameID) | Kullanıcının oturum açma e-postası |
firstName | Görünen ad (ad) |
lastName | Görünen ad (soyad) |
İsteğe bağlı — rol özniteliği
IdP rol bilgisi taşıyorsa:
roles → 'editor' | 'viewer' | 'admin' | 'billing' | 'auditor'Rol özniteliği yoksa varsayılan olarak editor atanır. Üretimde rol eşlemesini SCIM üzerinden grup bağlama ile yapmak daha temizdir — SAML özniteliğine göndermek tek seferlik hazırlama için, çok kullanıcılı senaryoda SCIM + grup bağlama tercih edilir.
5. Akışları test et
SP-başlatımlı akış
- Kullanıcı
https://app.moonborn.co/adresine gider. - İş e-postasını girer (örn.
alice@company.com). - Moonborn organizasyonu alan adından (domain) tanır, IdP'in oturum açma sayfasına yönlendirir.
- Kullanıcı IdP'de kimlik doğrular.
- IdP, Moonborn ACS URL'ine SAML yanıtı gönderir.
- Moonborn yanıtı doğrular, oturum açar, kullanıcı panoya iner.
IdP-başlatımlı akış
- Moonborn'u IdP'in uygulama kataloğuna (app catalog) veya karelerine (tiles) ekle (yukarıda Okta / Azure / Google adımlarında).
- Kullanıcı IdP panosundan Moonborn karesine tıklar.
- IdP doğrudan Moonborn ACS URL'ine SAML yanıtı gönderir.
- Moonborn yanıtı doğrular ve oturum açar — kullanıcı doğrudan panoya iner.
6. Parola oturum açmayı kilitle
SSO canlı ve doğrulandıktan sonra, organizasyon için parola oturum açmayı kapat ki kullanıcılar sadece IdP üzerinden kimlik doğrulayabilsin:
await client.config.setItem({
key: 'identity.credentials.enabled',
value: false,
scope: 'org',
scopeId: 'org_...',
});SAML ile SCIM arasındaki fark
SAML ve SCIM iki ayrı sorunu çözer:
| SAML | SCIM | |
|---|---|---|
| Sorumluluk | Kim oturum açabilir | Otomatik kullanıcı yaşam döngüsü |
| Tetiklenme | Her oturum açışta | IdP'de kullanıcı / grup değişikliğinde |
| Yön | IdP → Moonborn (kimlik doğrulama) | IdP → Moonborn (hazırlama gönderimi) |
| Kapsadığı | Oturum açma, öznitelik talepleri (claims) | Oluşturma, güncelleme, devre dışı bırakma, silme |
İdeal kurulum ikisini de bağlamaktır — SAML kim oturum açabilir, SCIM IdP'de kullanıcı / grup değiştikçe Moonborn'u senkron tutar. SCIM kurulumu için SCIM hazırlama.
Plan gereksinimi
Enterprise.
Sorun giderme
"SAML response signature invalid"
- IdP imzalama sertifikası değişmiş; üstveri URL'i kullanıyorsan otomatik yenileme için bekle, XML yapıştırdıysan yenisini gönder.
- Saat kayması (IdP ve Moonborn saatleri arasında > 5 dakika) — IdP'inin NTP eşitlemesinde olduğundan emin ol.
"User attribute missing"
email,firstName,lastNameözniteliklerinden biri SAML yanıtında yok; IdP öznitelik eşlemesini kontrol et.- Öznitelik adı büyük / küçük harfe duyarlıdır:
email≠Email.
"Login loops back to IdP"
- ACS URL yanlış; IdP'in beklediği URL Moonborn ACS URL'iyle eşleşmelidir.
- NameID biçimi
EmailAddressdeğil; IdP yapılandırmasında kontrol et.
İlgili
SSO + SCIM + RBAC'in birlikte kurumsal kimlik akışına nasıl bağlandığı.
Uçtan uca çalışma alanı + SAML + SCIM akışı.
Otomatik kullanıcı yaşam döngüsü için SCIM kurulumu (SAML'ın yoldaşı).
SAML rol özniteliğiyle eşleşen yerleşik rol izinleri.