My Profile Photo

Mehmet Cem Yücel


Technical Writings.
Architecture, Security, Java, Golang, Devops, Microservices, Spring Boot, Kafka, Distributed Systems and Blockchain


Access Management 3-SSO SAML Kerberos User Federation

İlk yazımızda bir uygulamaya erişim isteğinde bulunulduğunda gerçekleşen adımlardan bahsettik. Sonraki yazımızda farklı erişim senaryoları için kullandığımız teknolojilerin nasıl evrimleştiğinden bahsettik. Bugün Federated Authentication kullanan diğer bir sektör standardı olan Security Assertion Markup Language (SAML) ve Single Sign On (SSO) ile yazımıza başlayalım.

single sign on sso


–SERİNİN DİĞER YAZILARI–


1. Single Sign On (SSO) Nedir

SAML, kullanıcıların uygulama bazında login sessionlarının ayrı bir contextte tutulmasıyla oluşturulmuş bir Single Sign On(SSO) standardıdır. Burada SSO yu açmak gerekirse, bir uygulamaya login olduğunuzda aynı contextte çalışan diğer uygulamalara tekrardan login olmanıza gerek kalmayacağıdır. Örneğin bir şirkette çalışıyorsunuz ve bilgisayarınıza giriş yapabilmek için Domain’e veya Active Directory’e şifrenizle login oldunuz. O andan itibaren artık intranet uygulamalarında portal uygulamasına veya insan kaynakları uygulamasına tekrardan şifre girmenize gerek kalmadan uygulamaların sizi tanımasına verilen isimdir. Basit anlamda bir SSO aşağıdaki gibi çalışabilir

1.1. SSO Akışı

sso process

Tekrar SAML’a dönecek olursak, XML bazlı çalışan bu güvenlik protokolü açık kaynak kodludur. Authentication akışı aşağıdaki gibi çalışmaktadır.

SAML Authentication Process

Farkettiyseniz bir önceki yazımızdaki bahsettiğimiz OAuth2’deki authorization akışına çok benzemekle birlikte burada farklı olarak login credential veya secret doğrulama işlemi sadece delege edilen bir identity provider tarafından değil bir Active Directory gibi kullanıcı veritabanıyla birlikte identity provider ile federe şekilde, birlikte gerçekleştirilmesidir. Bu Federated Authentication’a bir örnektir. Burada kullanıcının bilgilerinin LDAP, Active Directory veya DBMS gibi sistemlerden edinilerek kullanılmasına da User Federation ismi verilir.

1.2. Kerberos Akışı

SAML’ı kullanan sistemlerden birisi de Kerberos’tur. Kerberos, tamamen güvensiz bir networkte güvenli iletişim başlatmak için ortaya koyulan Ticket(bilet) temelli çalışan bir yaklaşımdır. Aşağıdaki gibi çalışmaktadır.

Kerberos Authentication Process

Burada ek adım olarak kullanıcının servise erişebilmesi için ihtiyaç duyduğu bileti alabilmek için bilet sağlayan bir bilet alması gerekir. Bu bilet sağlayan bilet de Identity Provider tarafından kullanıcının kendi şifresi tarafından anahtarlanmıştır ve kullanıcı gerçekten doğru kullanıcı ise sadece çözülebilecek ve bilet sağlayan bilet ortaya çıkacaktır. Bu bileti çözen kullanıcı servise erişebilmek için ihtiyaç duyacağı bileti Identity Provider’dan edinebilecektir.

2. Sonuç

İlk 3 yazımız boyunca öğrendiğimiz kavramsal konuları somut örnekler eşliğinde Keycloak uygulama aracılığıyla deneyimleyeceğiz. İlgili yazıya buradan erişebilirsiniz.




May interest this topics

If you interested in Blockchain Technologies,


comments powered by Disqus