Nasıl yapılır · Sistem yöneticileri için
Keycloak ile giriş
Keycloak'ı hazır profille Proxus'un yanında çalıştırın, kişileri ve grupları orada yönetin; kişiler Proxus'a tek bir şirket hesabıyla girsin.
Bu rehberin sonunda Keycloak Proxus'un yanında çalışır, kişileri ve gruplarını orada yönetirsiniz ve kişiler Proxus'a Keycloak hesaplarıyla girer. Gruplar Proxus rollerini belirler. Active Directory'ye ya da internet erişimine gerek yoktur.
Keycloak açık kaynaklı bir kimlik yazılımıdır. Proxus ve diğer uygulamalarınız için tek hesap (tek oturum açma), tek yerden çok faktörlü giriş ve parola kuralları istediğinizde ya da Active Directory'yi sonradan bağlayacak bir yer gerektiğinde kullanın.
Başlamadan önce
- Kurulum betiğiyle kurulmuş Proxus.
- Kişilerin açabileceği iki adres: biri Proxus için, örneğin
https://proxus.plant.local; biri Keycloak için, örneğinhttps://sso.plant.local. Test ortamındahttp://<sunucu>:8080vehttp://<sunucu>:8180yeterlidir. - İki adrese Proxus konteynerinden de ulaşılabilmeli.
Adım 1: Keycloak'ı kurulum betiğiyle ekleyin
proxus-platformklasörünü içeren klasörde betiği yeniden çalıştırın (kurulumdaki komutun aynısı) ve Add Keycloak (single sign-on) seçeneğini seçin. Yeni bir kurulumdaysanız bunun yerine Install Keycloak next to Proxus? sorusunayyanıtı verin.- Soruları yanıtlayın:
- Address people open Proxus with, örneğin
https://proxus.plant.local. - Address people open Keycloak with, örneğin
https://sso.plant.local. - Text of the sign-in button, örneğin
Şirket hesabı.
- Address people open Proxus with, örneğin
- Betik Keycloak'ın yönetici parolasını ve Proxus ile Keycloak'ın paylaştığı gizli anahtarı üretir, Keycloak'ı Proxus'un yanında başlatır ve Proxus'u ona bağlar. Sonunda Keycloak yönetiminin adresini ve
adminparolasını gösterir. İkisi deproxus-platform/.envdosyasında da durur.
İlk başlatmada Keycloak, Proxus PostgreSQL sunucusunda kendi veritabanını ve proxus adında bir realm oluşturur. Realm'de şunlar hazır gelir:
- Proxus'un giriş yaptığı
proxus-hubuygulaması, proxus-admins,proxus-operatorsveproxus-viewersgrupları,- Proxus'un rolleri vermek için okuduğu
groupsbilgisi.
Sonraki başlatmalar ve güncellemeler Keycloak'ta yaptığınız değişiklikleri korur; realm yeniden oluşturulmaz. Keycloak'ın verisi Proxus veritabanında durduğu için betiğin yedekleri onu da içerir. Keycloak'ı kaldırmak için betiği çalıştırıp Remove Keycloak seçeneğini seçin; verisi kalır, yeniden eklediğinizde geri gelir.
Adım 2: Kişileri ekleyin
<KEYCLOAK_URL>/adminadresini açın,adminkullanıcısı veKEYCLOAK_ADMIN_PASSWORDile girin, sol üstten proxus realm'ine geçin.- Users'ı açın ve Add user'ı seçin. Username, e-posta ve adı girin, ardından Create.
- Credentials sekmesinde Set password'ü seçin. Temporary açık kalsın: kişi ilk girişte kendi parolasını seçer.
- Groups sekmesinde Join Group'u seçin ve örneğin
proxus-operatorsgrubunu seçin.
Gruplar docker-compose.keycloak.yml içinde Proxus rollerine eşlenir:
| Keycloak grubu | Proxus rolü |
|---|---|
proxus-admins | Administrators |
proxus-operators | Operator |
proxus-viewers | Viewer |
Proxus her kullanıcıyı oluştururken ona Default rolünü de verir. Başka grupları eşlemek için onları proxus-platform/docker-compose.override.yml dosyasına ekleyin (güncellemeler docker-compose.keycloak.yml dosyasını değiştirir, override dosyasını hiç değiştirmez), ardından o klasörde docker compose up -d komutunu çalıştırın:
services:
proxus-ui:
environment:
Authentication__Oidc__Providers__0__RoleMap__hat-1-operatorler__0: OperatorAdım 3: Test edin
- Proxus'u gizli bir tarayıcı penceresinde açın. Oturum aç'ın altında artık Şununla oturum aç: Şirket hesabı butonu vardır.
- Butonu seçin. Keycloak'ın giriş sayfası açılır; kişinin kullanıcı adı ve parolasıyla girin.
- Proxus açılır. Bir yönetici olarak Güvenlik > Kullanıcılar'ı açın: kişi Operator ve Default rolleriyle listelenir, Oturum açma yöntemi sütununda Tek oturum açma (company) yazar.
Kişiyi Keycloak'ta gruptan çıkarın ve yeniden girin: rol kalkar. Rollerin nasıl güncellendiği Tek oturum açma sayfasındadır.
Keycloak'ın eklediklerini açın
| Ne | Keycloak'ta nerede (proxus realm'i) |
|---|---|
| Çok faktörlü giriş (doğrulama uygulaması) | Authentication > Required actions: Configure OTP'yi açın ya da OTP'yi tarayıcı akışına ekleyin |
| Parola kuralları | Authentication > Policies > Password policy |
| Yanlış parolalardan sonra hesap kilitleme | Realm settings > Security defenses > Brute force detection |
| Active Directory ya da LDAP hesapları | User federation, bkz. Keycloak üzerinden Active Directory |
Bir giriş yolunu açık tutun
Proxus parolasıyla giren en az bir Proxus yöneticisi bırakın (Admin kullanıcısı, iki adımlı doğrulama ile). Keycloak'a ulaşılamadığında bu hesap yine çalışır.
Bir şey çalışmadığında
| Ne görüyorsunuz | Neden | Ne yapmalı |
|---|---|---|
| Şununla oturum aç: … butonu yok. | Sağlayıcı ayarları eksik. | Hub logu (Authentication kategorisi) açılışta sorunu yazar. |
| Buton, Keycloak'ın giriş sayfası yerine bir hata gösteriyor. | Proxus, Keycloak'ın adresine ulaşamıyor. | KEYCLOAK_URL hem tarayıcılardan hem Proxus konteynerinden ulaşılabilir olmalı. |
| Keycloak "Invalid redirect uri" diyor. | Verdiğiniz Proxus adresi, kişilerin Proxus'u açtığı adres değil. | Betiği çalıştırın, Keycloak'ı kaldırıp doğru adresle yeniden ekleyin. Realm adresi yalnızca ilk başlatmada okur: Keycloak'ta proxus-hub uygulamasının Valid redirect URIs alanını da değiştirin. |
| Giriş çalışıyor ama kişinin Proxus rolü yok. | Kişi eşlenmiş bir grupta değil. | Groups sekmesinden bir gruba ekleyin ya da grubunu override dosyasında eşleyin. |
| Keycloak "HTTPS required" diyor. | Keycloak düz HTTP üzerinde çalışıyor ve yerel ağ dışındaki bir adresten açılıyor. | Keycloak'ı HTTPS arkasına alın. Yalnızca test ortamında: Realm settings > General > Require SSL: none. |
Sırada ne var
- Giriş yöntemini seçin
- Tek oturum açma: tüm OpenID Connect ayarları, API ve servis hesapları
- Keycloak üzerinden Active Directory
Bu sayfa işinize yaradı mı?
Proxus'u değerlendiriyor musunuz? 30 dakikalık teknik görüşmede kendi makinelerinizle görün.