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 SSOyolundan 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
-
Formu aç.
Admin → Settings → Global SSO. Blok kapalıysa başlığa tıkla. -
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 durumundagroupsekle. - Claim mappings — IdP standart dışı isimler kullanıyorsa
override et (Auth0 namespacing, Azure
rolesvb.). Boş = standartemail/name/groups.
- Issuer URL — IdP'nin OIDC discovery base'i (örn.
-
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.
-
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 → adminacme-engineers → Acme → editorbortech-viewers → BorTech → viewerTam satır-satır akış için Global org-rol atamalarını yönet'a bakın.
-
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ı:
- Incognito sekme aç →
/login→ Sign in with SSO tıkla. - Org slug'ını gir (veya global için boş bırak). Form
/api/auth/discovery'ye post atar ve SSO butonu gösterir. - Tıkla. IdP üzerinden geç. Başarılı login sonrası dtedge dashboard'a düşersin.
- Backend INFO log'unda:
sso callback claims has_groups=true groups=[admin editor]sso group reconcile added role role=admin
Sorun giderme
| Belirti | Sebep |
|---|---|
Save ISSUER_UNREACHABLE döndürür | Issuer URL typo veya dtedge pod ulaşamıyor (egress firewall, internal-only IdP). |
Login /sso/error ve NOT_PROVISIONED | Auto-provision kapalı ve kullanıcı önceden davet edilmemiş. Aç veya önce davet et. |
| Kullanıcı login oluyor ama rolü yok | default_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 kayboluyor | Group→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 reddediliyor | Require SSO açıldı. SSO yolunu kullan; super-admin'sen ve kilitlendiysen local password yine geçer (super-admin'ler muaf). |
Bkz.
- Org bazlı SSO yapılandır
- Global org-rol atamalarını yönet
- Kimlik ve SSO — zihinsel model