İçeriğe geç
Proxus 2.0.0 Proxus 2.0: Proxus tarihinin en büyük sürümü Sürüm notları

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ğin https://sso.plant.local. Test ortamında http://<sunucu>:8080 ve http://<sunucu>:8180 yeterlidir.
  • İki adrese Proxus konteynerinden de ulaşılabilmeli.

Adım 1: Keycloak'ı kurulum betiğiyle ekleyin

  1. proxus-platform klasö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? sorusuna y yanıtı verin.
  2. 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ı.
  3. 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 admin parolasını gösterir. İkisi de proxus-platform/.env dosyası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-hub uygulaması,
  • proxus-admins, proxus-operators ve proxus-viewers grupları,
  • Proxus'un rolleri vermek için okuduğu groups bilgisi.

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

  1. <KEYCLOAK_URL>/admin adresini açın, admin kullanıcısı ve KEYCLOAK_ADMIN_PASSWORD ile girin, sol üstten proxus realm'ine geçin.
  2. Users'ı açın ve Add user'ı seçin. Username, e-posta ve adı girin, ardından Create.
  3. Credentials sekmesinde Set password'ü seçin. Temporary açık kalsın: kişi ilk girişte kendi parolasını seçer.
  4. Groups sekmesinde Join Group'u seçin ve örneğin proxus-operators grubunu seçin.

Gruplar docker-compose.keycloak.yml içinde Proxus rollerine eşlenir:

Keycloak grubuProxus rolü
proxus-adminsAdministrators
proxus-operatorsOperator
proxus-viewersViewer

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:

docker-compose.override.yml
services:
  proxus-ui:
    environment:
      Authentication__Oidc__Providers__0__RoleMap__hat-1-operatorler__0: Operator

Adım 3: Test edin

  1. Proxus'u gizli bir tarayıcı penceresinde açın. Oturum aç'ın altında artık Şununla oturum aç: Şirket hesabı butonu vardır.
  2. Butonu seçin. Keycloak'ın giriş sayfası açılır; kişinin kullanıcı adı ve parolasıyla girin.
  3. 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

NeKeycloak'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 kilitlemeRealm 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üyorsunuzNedenNe 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

Bu sayfa işinize yaradı mı?

Proxus'u değerlendiriyor musunuz? 30 dakikalık teknik görüşmede kendi makinelerinizle görün.