SAML Konfigürasyonu nasıl yapılır?
Kullanıcıların Pisano sistemine erişimi için SAML entegrasyonu yapılabilmekte ve kullanıcılar mevcut indeks sunucularınızdan yönetilebilmektedir.
SAML Konfigürasyon ekranına Pisano arayüzü üzerinden Yönetim > Hesap Ayarları > SAML Konfigürasyonu menüsüne erişebilmektedir.
Pisano'da SAML konfigürasyonu için iki yöntem bulunmaktadır:
- IDP Metadata kullanılarak
- Entity ID kullanılarak
Bu iki yöntemde de kullanıcı yönetimi iki farklı şekilde yapılabilir:
- SAML ile sadece kullanıcı şifre doğrulaması yapılarak ilerlenebilir.
- Şifre doğrulamaya ek olarak kullanıcının rol ve yetki tanımları, çalışma durumu (çalışıyor/ayrılmış) ve organizasyonel birim bilgilerinin senkronizasyonu sağlanabilir.
Şifre doğrulama dışında, sisteme giren kullanıcıların rol ve yetki bilgilerini de SAML entegrasyonu üzerinden yönetmek isterseniz “Kullanıcı Oluştur veya Güncelle” seçeneğini aktif ederek, bu senkronizasyon ayarları için gerekli olan Varsayılanlar ve Özellikler sayfalarına erişebilirsiniz.

Bu seçenek aktiflenmediğinde;
- Kullanıcı senkronizasyonu yapılmayacağı için sisteme girecek kullanıcıların Pisano daveti ile sisteme tanımlanması gerekecektir.
- SAML üzerinden sadece şifre doğrulaması yapılacaktır. Rol ve yetki yönetimi Pisano yetkilendirme ekranları ve tanımları üzerinden yönetilecektir.
- Pisano'ya tanımlanmamış kullanıcı sisteme giremeyecektir.
IDP Metadata Kullanılarak SAML Entegrasyonu Kurulması
En sık kullanılan yöntem budur. Bu yöntem ile ilerlenmek isteniyorsa öncelikle Pisano ekranında aşağıdaki seçeneğin aktifleştirilmesi gerekmektedir:

SP Sertifika ve SP Private Key değerleri Pisano sertifika bilgileridir. Öncelikle geçerli bir sertifika yaratmak gereklidir. Bunun için online araçlar kullanılabilir. Örneğin: Generate SAML Self-Signed X.509 Certificates - Create Self Signed Certs | SAMLTool.com
Yukarıdaki sayfaya tıkladığınızda, açılan alanda aşağıdaki bilgileri girerek sertifika oluşturabilirsiniz:
Country name: Turkey
State or Province: Instanbul
Organization Name: Customer Organization Name
Comman Name, the domain: Pisano Api URL
API URL bilgisi Pisano tarafından sizinle paylaşılacaktır.
On-prem müşterileri için API URL bilgisi, sistem yöneticisi tarafından API configmap (ENV) içerisinde api_host değişkenindeki bilgi ile değiştirilmelidir.
Valid Days: 365
Bits to generate the private key: 1024 bits
Digest Algorithm: SHA256
Alanları yukarıdaki şekilde doldurduktan sonra “GENERATE SELF-SIGNED CERTS“ butonuna basarak sertifika ve key oluşturabilirsiniz:


Pisano SAML Konfigürasyonu ekranında;
-
Kendi sisteminize ait metadata bilgisini “IDP Metadata Settings” alanına,
-
Siteden aldığınız Private Key değerini “SP Private Key“ alanına,
-
Siteden aldığınız X.509 Cert değerini “SP Certificate“ alanına yapıştırın.
Konfigürasyonu kaydettiğinizde entegrasyon için gerekli tanımlamalar yapılmış olacaktır.
Sonrasında, Pisano'dan alacağınız Metadata bilgisini, SAML servisleriniz içinde konfigüre ederek testlerinize başlayabilirsiniz.
Pisano Metadata'sına aşağıdaki şekilde ulaşabilirsiniz ({pisano_api_URL} ve {Account_ID} bilgilerini Pisano ekiplerinden temin edebilirsiniz.)
{pisano_api_URL}/v1/saml/{Account_ID}/metadata
Example: https://api.pisano.com.tr/v1/saml/Pisano-cx-tool/metadata
-
Entity ID Kullanılarak SAML Entegrasyonu Kurulması
IDP Metadata kullanmayacaksanız, IDP Entity ID ve Fingerprint bilgileri ile de entegre olabilirsiniz.

Metadata'nız içinde bulunan IDP Entity ID değerini direkt kullanabilirsiniz. Fingerprint değerini ise online uygulamar aracılığı ile oluşturabilirsiniz.Örneğin: SAML X.509 Certificate Fingerprint - Online SHA1 Decoder | SAMLTool.com
X.509 sertifika değerini aşağıdaki gibi form üzerine yapıştırıp, Algorithm, olarak sha256 seçtikten sonra “CALCULATE FINGERPRINT” butonu ile Fingerprint hesaplatabilirsiniz:


Pisano SAML Konfigürasyonu ekranında;
-
Kendi sisteminize ait “IDP Entity ID” bilgisini “IDP Entity ID” alanına,
-
Siteden aldığınız FingerPrint değerini “IDP Certificate Fingerprint“ alanına,
-
Metadata'nız içerisinde yer alan “IDP Single Sign-on URL” ve “IDP Single Logout URL“ değerlerini de ilgili alanlara yapıştırın.
Konfigürasyonu kaydettiğinizde entegrasyon için gerekli tanımlamalar yapılmış olacaktır.
Sonrasında, Pisano'dan alacağınız Metadata bilgisini, SAML servisleriniz içinde konfigüre ederek testlerinize başlayabilirsiniz.
Pisano Metadata'sına aşağıdaki şekilde ulaşabilirsiniz ({pisano_api_URL} ve {Account_ID} bilgilerini Pisano ekiplerinden temin edebilirsiniz.)
{pisano_api_URL}/v1/saml/{Account_ID}/metadata
Example: https://api.pisano.com.tr/v1/saml/Pisano-cx-tool/metadata
Varsayılanlar:
Burada, varsayılan kullanıcı girişi için gerekli konfigürasyon değerlerini tanımlayabilirsiniz . SAML üzerinden gelen değerlerde Rol ve Şube değerlerinin boş olması durumunda, kullanıcının, bu alanda tanımlanan varsayılan değerler ile sisteme giriş yapılması sağlanacaktır:

Özellikler:
Özellikler sekmesinde kişinin ünvanı, departmanı ve rol alanları tanımlanabilir. Organizasyon hiyerarşisi Pisano'da otomatik olarak güncellenmez. Pisano'da sadece gelen kullanıcı bilgileri otomatik olarak atanır.
ORGANİZASYONEL BİRİME BAĞLANACAK DEĞER: SAML'dan okunacak “Organizasyonel Birim” kodu attribute değerini ifade eder. Kullanıcı Pisano'ya giriş yaptığında, bu attribute'un değeri Pisano Müşteri Organizasyonel Hiyerarşi içinde aranacak (Harici Birim ID) ve giriş yapan kullanıcı, eşleşen ilgili organizasyonel birime atanacaktır. Eşleşme sağlanamadığı takdirde “Varsayılanlar” sayfasında yapılan seçimlere göre giriş süreci yönetilir.


UNVAN İÇİN BAKILACAK ALAN: Kullanıcıların SAML üzerinden gelen Unvan değerlerinin okunacağı attribute'u ifade eder.
ROL İÇİN BAKILACAK ALAN: Kullanıcıların SAML üzerinden gelen Rol değerlerinin okunacağı attribute'u ifade eder.
Pisano'da tanımlanmış olan her Kullanıcı tipi ve Kullanıcı Rolü için SAML'den gelecek rol değerlerine göre, yukarıdaki resimde, mavi çerçevelenmiş şekildeki gibi bir eşleme tablosu oluşturulmalıdır. Örneğin; SAML üzerinden “Role” attribute bilgisi ile gelen değer “BT YETKİLİSİ” ise, kullanıcı yukarıdaki eşleme tablosuna göre “Manager” rolü ile Pisano'ya giriş yapmış olacaktır.

DURUM İÇİN BAKILACAK ALAN: Kullanıcıların SAML üzerinden gelen Çalışma Durumu değerlerinin okunacağı attribute'u ifade eder. Zorunlu değildir.
Aşağıdaki kırmızı ile çerçevelenmiş kısımdaki Kullanıcı Durumu bilgilerinin, SAML'dan gelen eşleşik bilgi ile güncellenmesini sağlar ve kullanıcılar Pisano üzerinde bu durum ile listelenir.
