Kimlik sağlayıcıları
OpenID Connect ve OAuth 2 sağlayıcıları, ortam değişkeniyle değil Keydra çalışırken tanımlanır; her sağlayıcı için ayrı talep ve grup eşlemesi yapılır.
Sağlayıcılar ortam değişkeni değil, kayıttır#
Kimlik sağlayıcı, Keydra çalışırken Erişim sayfasından tanımlanır ve yeniden dağıtım gerektirmeden devreye girer.
Tek bir yetkilendirme kodu akışı iki türü de karşılar:
OpenID Connect — Keycloak, Entra, Google, Okta, Auth0. Issuer adresini girersiniz; Keydra kaydederken keşif belgesini indirir ve uç noktaların yerlerini not eder.
OAuth 2 — GitHub, GitLab. Kimlik belirteci bulunmadığı için Yetkilendirme uç noktası, Token uç noktası ve Kullanıcı uç noktası elle girilir.
İki tür arasındaki fark, bu adreslerin ne olduğu ve taleplerin nasıl adlandırıldığıdır; ikisi de yapılandırma meselesidir.
Keşif, giriş sırasında değil sağlayıcı kaydedilirken yapılır. Böylece yanlış bir yayıncı adresi, başında bekleyen ve düzeltebilecek kişi oradayken bildirilir; her girişin sağlayıcının en yavaş anına bağlı kalması önlenir.
Bütün akışlarda PKCE ve yalnızca Keydra’nın okuyabildiği bir durum çerezi kullanılır. Geri çağrının, birini sahibi olmadığı bir hesaba sokmasını engelleyen iki önlem bunlardır.
Sağlayıcıyla açılan oturum, parolayla açılan oturumla aynı çerezi kullanır. Sağlayıcı, farklı türde bir oturum değil, aynı oturuma ulaşmanın başka bir yoludur.
Talep eşlemesi#
Hangi claim hangisi bölümü, kullanıcıyı neyin tanımladığını belirtir. Subject claim,
kullanıcıyı kalıcı olarak tanımlayan taleptir: OpenID Connect’te sub, GitHub’da id.
Kullanıcı adı değildir; kullanıcı adları değişir.
Grup claim’i isteğe bağlıdır. Tanımlandığında, eşlenmiş gruplardaki üyelik her girişte sağlayıcının bildirdiğiyle değiştirilir. Böylece birini dizin grubundan çıkarmak buradaki erişimini de kaldırır. Eşlenmemiş gruplara dokunulmaz.
LDAP bu akışa uymayan tek sağlayıcıdır: tarayıcı yönlendirmesi ve yetkilendirme kodu yoktur; bir bind, bir arama ve Keydra’nın kendisinin okuyacağı bir parola vardır. Buradaki tasarımın tamamı ise kendisine ait olmayan bir parolayı hiç görmemek üzerine kuruludur.
Kimlik sağlayıcı ekleme#
-
idp:manageizniniz olmalı. -
KEYDRA_PUBLIC_URLtanımlı olmalı; yönlendirme bu adrese döner.
-
Erişim sayfasına gidip Giriş sekmesini açın.
-
Sağlayıcı ekle düğmesine tıklayın.
-
Tür seçin.
-
Anahtar girin: küçük harf, rakam ve tire kullanılabilir. Yönlendirme adresinde göründüğü için sonradan değiştirilemez.
-
OpenID Connect için Issuer adresini girin. OAuth 2 için Yetkilendirme uç noktası, Token uç noktası ve Kullanıcı uç noktası adreslerini girin.
-
İstemci kimliğini ve Client secret girin. Sır şifreli saklanır ve geri döndürülmez.
-
Kapsamlar değerini belirleyin.
-
Hangi claim hangisi bölümünde Subject claim ve Kullanıcı adı claim’i alanlarını doldurun; gerekiyorsa E-posta claim’i, Ad claim’i ve Grup claim’i alanlarını da.
-
Formdaki Yönlendirme adresi değerini kopyalayıp sağlayıcıya birebir aynı şekilde kaydedin.
-
Kaydedin.
Satırda Uç noktalar biliniyor yazar. Çıkış yapın; giriş sayfasında Veya şununla giriş yapın başlığı altında <ad> ile devam et düğmesi görünür.
İlk deneme genellikle yönlendirme adresi tam eşleşmediği için reddedilir. Adresi elle yazmak yerine formdan kopyalayın.
Sağlayıcı gruplarını Keydra gruplarına eşleme#
-
Sağlayıcı bir gruplar talebi göndermeli ve Grup claim’i alanı bu talebi göstermelidir.
-
Sağlayıcıyı açıp Grup eşlemeleri bölümünü bulun.
-
Eşleme ekleyin: Sağlayıcıdaki adı ve o gruptaki kullanıcının katılacağı Keydra grubu.
Sağlayıcı üzerinden giriş yapın. Hesabın eşlenmiş gruplardaki üyelikleri, sağlayıcının bildirdiğiyle aynı olur.
Eşlenmiş gruplardaki üyelik her girişte yeniden yazılır. Bir kullanıcıyı Keydra içinde elle eşlenmiş bir gruba eklerseniz, bu değişiklik ilk girişinde kaybolur. Amaçlanan da budur: kullanıcıyı dizinden çıkarmanın buradaki erişimini de kaldırmasını sağlar.
Eşlenmemiş gruplara dokunulmaz.