Ana içeriğe geç

Global SSO yapılandır

Tüm install için single sign-on — tek IdP, her kullanıcı. Super-admin tarafından Admin → Settings → Global SSO yolundan ayarlanır. Org bazlı SSO ayrı bir yoldur; bkz. Org bazlı SSO yapılandır.

Global SSO ne zaman kullanılır:

  • Tek-kiracılı kurulum — bir müşteri tüm platforma sahip, tüm org'ları tek yerden yönetir. IdP her kullanıcıyı doğrular; org üyeliği + rol IdP gruplarından org-rol atama grid'iyle gelir.
  • Karma tenancy — bazı org'ların kendi SSO'su var, bazılarının yok. Global SSO, kendi SSO'su olmayan org'lar ve super-admin break-glass için fallback'tir.

Adımlar​

  1. Formu aç. Admin → Settings → Global SSO. Blok kapalıysa başlığa tıkla.

  2. IdP detaylarını gir:

    • Issuer URL — IdP'nin OIDC discovery base'i (örn. https://acme.eu.auth0.com/). Form Save'de discovery kontrolü yapar ve URL /.well-known/openid-configuration'a yanıt vermezse reddeder.
    • Client ID — dtedge için oluşturduğun IdP uygulamasından.
    • Client secret — yeni değeri yapıştır. AES şifreli olarak saklanır; sonraki düzenlemelerde form (stored — leave blank to keep) gösterir.
    • Scopes — default openid profile email; IdP'nin grupları göndermek için ayrı scope istemesi durumunda groups ekle.
    • Claim mappings — IdP standart dışı isimler kullanıyorsa override et (Auth0 namespacing, Azure roles vb.). Boş = standart email / name / groups.
  3. Politika toggle'ları:

    • Auto-provision — ilk kez SSO'lu kullanıcı yeni bir dtedge user kaydı oluşturur.
    • Default role — auto-provision açıkken zorunlu; yeni kullanıcının org'ta alacağı rol. (Global SSO için daha az önemli — org-rol atama grid'i genelde sürer.)
    • Require SSO — install genelinde her super-admin olmayan kullanıcı için local password login'i kapatır. IdP'nin tek istenen yol olduğu durumda kullan. Super-admin'ler her zaman local'i break-glass olarak korur.
  4. Org-rol atamaları (opsiyonel ama yüksek değer). (IdP grubu → org → role) satırları. Her SSO girişinde kullanıcının üyeliği reconcile edilir: bulundukları IdP grubuna karşılık gelen org'lara eklenirler, olmadıkları org'lardan çıkarılırlar. Grid dışındaki manuel üyelikler dokunulmaz.

    Örnek:

    acme-admins → Acme → admin
    acme-engineers → Acme → editor
    bortech-viewers → BorTech → viewer

    Tam satır-satır akış için Global org-rol atamalarını yönet'a bakın.

  5. Save. Form:

    • PingIssuer (discovery URL yanıt vermeli)
    • Her org-rol atama satırı (org var olmalı; role o org'ta var olmalı)

    Validasyon hatası varsa toast hatalı satırı söyler. Yaygın hatalar:

    • GLOBAL_SSO_ASSIGNMENT_UNKNOWN_ORG — org silinmiş veya UUID elle düzenlenmiş
    • GLOBAL_SSO_ASSIGNMENT_UNKNOWN_ROLE — role o org'un rol kataloğunda yok

Doğrulama​

Save sonrası:

  1. Incognito sekme aç → /login → Sign in with SSO tıkla.
  2. Org slug'ını gir (veya global için boş bırak). Form /api/auth/discovery'ye post atar ve SSO butonu gösterir.
  3. Tıkla. IdP üzerinden geç. Başarılı login sonrası dtedge dashboard'a düşersin.
  4. Backend INFO log'unda:
    sso callback claims has_groups=true groups=[admin editor]
    sso group reconcile added role role=admin

Sorun giderme​

BelirtiSebep
Save ISSUER_UNREACHABLE döndürürIssuer URL typo veya dtedge pod ulaşamıyor (egress firewall, internal-only IdP).
Login /sso/error ve NOT_PROVISIONEDAuto-provision kapalı ve kullanıcı önceden davet edilmemiş. Aç veya önce davet et.
Kullanıcı login oluyor ama rolü yokdefault_role boş (ve grid'le eşleşen grup yok), veya IdP gruplar göndermiyor. İkincide backend log'unda has_groups=false.
Her login'de roller kayboluyorGroup→role mapping yapılandırılmış ama IdP groups claim'ini göndermeyi bıraktı. HasGroupsClaim fix'inden sonra dtedge bu durumda reconcile'ı atlar — ama roller revoke ediliyorsa backend log'unda has_groups=true olduğunu doğrula.
Local password login SSO_REQUIRED ile reddediliyorRequire SSO açıldı. SSO yolunu kullan; super-admin'sen ve kilitlendiysen local password yine geçer (super-admin'ler muaf).

Bkz.​