Ana içeriğe geç

Org bazlı SSO yapılandır

Her organizasyon kendi IdP'sini getirir; o IdP yalnızca o org'un üyelerini doğrular. Organizations → <org> → SSO sekmesinden ayarlanır. Tek IdP'li tek-kiracılı kurulum için Global SSO yapılandır'a bakın.

Org bazlı SSO ne zaman kullanılır​

  • Çok-kiracılı kurulum — her müşteri org'unun kendi Azure AD / Okta / Keycloak / Auth0 instance'ı var.
  • Karma kimlik modeli — bazı org'lar SSO-only, bazıları local-password.
  • Uyumluluk — org admin'i IdP audit log'unun, dtedge'e kendi kiracısından kim erişti sorusunun otoritesi olmasını ister.

Adımlar​

  1. Formu aç. Organizations → <org> → SSO sekmesi. Org admin (veya super-admin) olmalısın.

  2. IdP detaylarını gir:

    • Issuer URL — OIDC discovery base.
    • Client ID + Client secret — IdP uygulamandan.
    • Scopes — openid profile email artı IdP ayrı bir scope istiyorsa groups.
    • Claim mappings — defaultlar standart OIDC ile eşleşir. IdP'ye özel isimler için override et (örn. Auth0 namespaced: https://dtedge.io/groups).
  3. Auto-provision (toggle):

    • Açık: ilk SSO girişi kullanıcıyı otomatik oluşturur ve aşağıdaki default role ile org'a ekler.
    • Kapalı: yalnızca önceden davet edilmiş kullanıcılar SSO ile giriş yapabilir.
  4. Default role: auto-provision açıkken zorunlu. Org'un mevcut rollerinden seç. (UI dropdown'u org'un rol kataloğundan beslenir.)

  5. Group → role mapping (opsiyonel, yüksek değer):

    • Her satır: IdP grup adı → bu org'da dtedge rolü.
    • Her SSO girişinde kullanıcının bu org'daki rolleri reconcile edilir:
      • Eklenir: kullanıcının üye olduğu grupların rolleri
      • Çıkarılır: üye olmadığı grupların rolleri (yalnızca bu mapping'den gelen roller; manuel rol atamaları kalır)
      • Üstteki "default role" hiç mapping satırı eşleşmese bile grant edilmeye devam eder.

    Örnek:

    acme-admins → admin
    acme-engineers → editor
    acme-readonly → viewer
  6. Require SSO (toggle): açıkken bu org'un üyeleri dtedge'e local password ile erişemez. Bu IdP üzerinden geçmeli. Super-admin'ler local'i break-glass olarak korur.

  7. Save. Form şunları doğrular:

    • PingIssuer — discovery URL yanıt veriyor
    • Her mapping satırının role'ü org rol kataloğunda var
    • Auto-provision açıksa default role var

    Hatalar detail field'ında başarısız field'ı belirtir.

Doğrulama​

  1. dtedge'den çıkış yap.
  2. /login aç → Sign in with SSO → org slug'ını gir.
  3. Form /api/auth/discovery'ye slug ile post atar. Org SSO aktifse IdP etiketli bir oidc butonu görürsün.
  4. Tıkla → IdP redirect → callback → dashboard.

Başarılı bir login sonrası backend log:

sso callback claims has_groups=true groups=[acme-admins]
sso group reconcile added role role=admin

IdP başına SSO setup walkthrough'ları​

dtedge formu generic; IdP'ye özel knob'lar (redirect URI nerede ayarlanır, groups claim nasıl namespace'lenir, Entra'da App Roles vs Groups) backend dokümantasyonunda:

(URL'ler docs deploy'una bağlı — backend repo'sundaki docs/guides/sso-setup/ source-of-truth.)

Sorun giderme​

BelirtiSebep
Form save ISSUER_UNREACHABLE ile failYanlış issuer URL veya network blokeli.
Save DEFAULT_ROLE_UNKNOWN ile failGirilen role bu org'ta yok. Önce Roles sekmesinden oluştur.
Save GROUP_ROLE_MAP_UNKNOWN ile failMapping satırındaki role bu org'ta yok.
Kullanıcı login oluyor ama "not provisioned" sayfasına düşerAuto-provision kapalı; kullanıcı önceden davet edilmemiş. Veya ID token'da email claim eksik (IdP scope yanlış yapılandırılmış).
Her login'de admin kayboluyorMapping yapılandırılmış ama IdP groups claim'ini göndermiyor. Backend log: has_groups=false. IdP scope / Action / mapper'ı düzelt.
Org admin SSO'yu kapatamıyorMember SSO config'i silmeye mi çalışıyor? Super-admin izinlerini kontrol et — bazı org'lar SSO config'i sadece super-admin'e gate'liyor.

Üyeler ne görür​

Org SSO açıldıktan sonra:

  • Require SSO kapalıysa üyeler /login'e gidip local password kullanmaya devam edebilir — login sayfasında hangi yolu istediklerini seçerler.
  • Require SSO açıksa üyeler org slug'ını girdikten sonra yalnızca SSO butonunu görür.
  • Members sekmesi her üyenin SSO durumunu (linked, son IdP login'i) gösterir.

Bkz.​