Docker Compose ve Nginx ile Keycloak SSO
(du.nkel.dev)Keycloak SSO yapılandırması: Docker Compose ve Nginx kullanımı
- Keycloak, açık kaynaklıdır ve başlıca SSO protokolleriyle uyumlu, güvenilir bir kimlik ve erişim yönetimi çözümüdür.
- Docker Compose ile kurulum karmaşık değildir, ancak sezgisel de değildir; bu nedenle yapılandırma süreci özetlenmiştir.
Kavram
- Nginx, localhost üzerinden trafiği ayrı servislere yönlendiren merkezi reverse proxy olarak kullanılan standart kurulum tercih edilir.
- Tek bir hostun kaynaklarını paylaşırken ortamları mümkün olduğunca izole eden ekonomik bir kurulum olarak değerlendirilir.
Gereksinimler
- Temel araçlar gerekir: SSH, Linux kurulu bir VM ve bir alan adı veya alt alan adı.
- Docker rootless kurulumu için parolasız yeni bir non-root kullanıcı olan
keycloakoluşturulur,/etc/subuidve/etc/subgidaralıkları güncellenir, Docker rootless kurulur ve servislerin otomatik başlatılması yapılandırılır.
Keycloak yapılandırması
- Yeni oluşturulan keycloak kullanıcısıyla oturum açılır ve kalıcı veri ile Docker dosyaları için dizinler oluşturulur.
- Resmi belgeler referans alınarak
docker-compose.ymlhazırlanır ve hassas ya da değişken bilgiler.envdosyasına girilir.
Yerelde test
- Docker Compose stack'i test edilir, VM için reverse SSH tüneli oluşturulur ve ardından tarayıcıda Keycloak karşılama ekranı doğrulanır.
Nginx yapılandırması
- Nginx, sistem reverse proxy'si olarak yapılandırılır ve Keycloak servisi için yeni bir Nginx
.confdosyası oluşturulur. - Alan adı kayıt şirketinde, DNS sorgularını VM'in IP adresine yönlendirecek bir A kaydı eklenir.
Hata ayıklama
.tld.comaçılarak admin kullanıcıyla Keycloak'a giriş yapılır; Docker Compose logları ile Nginx access ve error logları kontrol edilir.- Gerekirse Keycloak veritabanı incelenir.
Dockerfile ile özelleştirilmiş build
- quay.io'daki önceden build edilmiş imajı kullanmak yerine, Dockerfile ile kendi imajı build edilir.
- İmajı build etmek ve servisi başlatmak için Docker Compose yeniden başlatılır.
Sonuç
- Rootless Docker'ın arkasında, sistem Nginx reverse proxy'si kullanılarak Keycloak servisi çalıştırılmaktadır.
- Sonraki adımlar arasında Docker container'larının otomatik güncellenmesi, Keycloak servisine login ve e-posta eklenmesi, realm eklenmesi ve tema eklenmesi bulunur.
GN⁺ görüşü:
- Güvenliğin önemi: Web'in mevcut durumu, güvenlikle ilgili zafiyetleri takip etmeyi zorlaştırdığı için Keycloak gibi güvenilir bir çözüm kullanmak önemlidir.
- Verimli mimari: Tek bir hostta kaynakları paylaşırken ortamları izole eden yaklaşım, maliyet açısından verimlidir ve yönetimi kolaydır.
- Özelleştirilebilirlik: Dockerfile ile yapılan özelleştirilmiş build, Keycloak'ı kendi ihtiyaçlarınıza göre uyarlama esnekliği sağlar.
1 yorum
Hacker News görüşleri
Authelia'yı seçen bir kullanıcının görüşü:
JetBrains Hub ve Keycloak kullanım deneyimi olan, sonunda Dex'i seçen bir kullanıcının görüşü:
latestetiketinin olmaması rahatsız edici.OpenID Connect sunucularını karşılaştıran bir tablo hazırlayan kullanıcının görüşü:
Keycloak'ın güvenlik sorunları hakkında görüş bildiren bir kullanıcının yorumu:
AWS ECS üzerinde Keycloak uygulama deneyimini paylaşan bir kullanıcının görüşü:
Keycloakify hakkında olumlu görüş bildiren bir kullanıcının yorumu:
Authelia ve Keycloak'ı karşılaştıran bir kullanıcının görüşü:
Keycloak kullanım deneyimini paylaşan bir kullanıcının görüşü:
Zitadel kullanmış bir kullanıcının görüşü:
Keycloak kullanmanın zorluklarından bahseden bir kullanıcının görüşü: