ONLYOFFICE SP ve Shibboleth IdP'yi yapılandırma
Giriş
Single Sign-on (SSO), kullanıcıların yalnızca bir kez oturum açıp yeniden kimlik doğrulaması yapmadan birden fazla uygulamaya/hizmete erişmesine olanak tanıyan bir teknolojidir.
Bir web portalı birkaç büyük bağımsız bölüm (forum, sohbet, bloglar vb.) içeriyorsa kullanıcı bu hizmetlerden birinde kimlik doğrulaması yapabilir ve kimlik bilgilerini defalarca girmeden diğer tüm hizmetlere otomatik olarak erişebilir.
SSO her zaman iki uygulamanın birlikte çalışmasıyla sağlanır: Identity Provider ve Service Provider (bundan sonra "IdP" ve "SP" olarak anılacaktır). ONLYOFFICE SSO yalnızca SP'yi uygular. Birçok farklı sağlayıcı IdP olarak görev yapabilir, ancak bu makalede Shibboleth uygulaması ele alınmaktadır.
ONLYOFFICE Desktop Editors'ı ONLYOFFICE Workspace'inize bağlarken SSO kullanmak istiyorsanız Control Panel'de Private Rooms'u devre dışı bırakın.
ONLYOFFICE Workspace'i SSO kurulumuna hazırlama
- Docker için ONLYOFFICE Workspace v. 11.0.0 veya SSO desteği olan daha yeni bir sürümü kurun.
- Bir alan adı ekleyin, örneğin
myportal-address.com. - Portalınızda Control Panel > HTTPS'e gidin ve trafik şifrelemesi için (portalınızda HTTPS'i etkinleştirmek üzere) letsencrypt sertifikasını oluşturup uygulayın.
Shibboleth IdP oluşturma
Gereksinimler
-
Shibboleth IdP'yi dağıtmak için temiz bir CentOS 7 ana makinesi gerekir.
-
Saat doğru ayarlanmalı ve IDP için ana makineye saat eşitleme hizmeti kurulmalıdır:
timedatectl statusyum install ntpsystemctl enable ntpd.servicentpdate time.apple.com -
Makineye
unzippaketi kurulmalıdır:yum install unzip -
Makineye Docker ve Docker Compose kurulmalıdır.
-
Makineyle bir alan adı ilişkilendirilmelidir (örneğin
your-idp-domain.com)
Shibboleth IdP oluşturma
Shibboleth IDP'yi oluşturmak, yapılandırmak ve başlatmak için install.sh betiğini indirip çalıştırın.
Betik aşağıdaki işlemleri yapar:
- Shibboleth Idp imajlarını ve kapsayıcılarını oluşturmak için docker dosyalarını github'dan indirir,
- yapılandırma dosyalarındaki varsayılan
idptestbed.edualan adını betik çalıştırılırken belirtilen alan adıyla değiştirir, - belirtilen ONLYOFFICE SP alan adı için SAML protokolü üzerinden erişim ekler,
- ONLYOFFICE SP'nin kullanıcı bilgilerini Shibboleth IdP'den alabilmesi için gereken özellikleri belirtir (Attribute Mapping ayarı),
- LDAP'ı oluşturur ve yapılandırır, verilecek kullanıcıları oluşturur,
- ONLYOFFICE SP'den Shibboleth IDP'ye meta verilerin dinamik olarak yüklenmesini etkinleştirir,
- uygunsa Shibboleth Single Logout'u (SLO) etkinleştirir.
-
install.sh betiğini indirin:
curl -L https://raw.githubusercontent.com/ONLYOFFICE/helpcenter-scripts/master/workspace/control-panel-sso-shibboleth/install.sh -o install.sh -
Betiği çalıştırılabilir yapın:
chmod +x install.sh -
Parametreleri kendi değerlerinizle değiştirerek betiği çalıştırın:
./install.sh -id your-idp-domain.com -sd myportal-address.com --no_sloBetik parametreleri:
- -id - Shibboleth IDP için geçerli makinenin alan adı.
- -sd - ONLYOFFICE SP'nin dağıtıldığı alan adı.
- --no_slo - Shibboleth IDP'de Single Logout'u devre dışı bırakır (isteğe bağlı parametre).
-
Betiği çalıştırdıktan sonra Shibboleth IDP'nin başlamasını bekleyin.
-
Shibboleth IDP'nin doğru başladığını doğrulamak için tarayıcınızda
https://your-idp-domain.com/idp/shibbolethbağlantısını açın. Bir xml dosyası görüntülenmelidir. -
https://{your_idp_domain}/idp/shibbolethbağlantısını kopyalayın (örneğinhttps://your-idp-domain.com/idp/shibboleth) ve ONLYOFFICE portalına gidip yönetici olarak oturum açın. Control Panel > SSO sayfasını açın.
ONLYOFFICE SP'yi yapılandırma
-
ONLYOFFICE Control Panel'de Yönetici olarak oturum açtığınızdan emin olun ve sol kenar çubuğundaki PORTAL SETTINGS bölümünden SSO sekmesine tıklayın.
notONLYOFFICE portalında kuruluşunuz için yalnızca bir kurumsal Identity Provider kaydedebilirsiniz.

-
Enable Single Sign-on Authentication düğmesine tıklayarak SSO'yu etkinleştirin ve Shibboleth IdP bağlantısını URL to Idp Metadata XML alanına yapıştırın.
-
IdP meta verilerini yüklemek için yükleme düğmesine tıklayın. Shibboleth IdP, ONLYOFFICE SP Settings form alanlarını otomatik olarak dolduracaktır.
install.sh betiğini çalıştırırken
--no_sloparametresini belirterek SLO'yu devre dışı bıraktığımız için IdP Single Logout Endpoint URL alanı boş olacaktır. -
IdP meta verileri yüklendiğinde IdP Public certificates bölümüne iki sertifika eklenir. Ayrıca şu iletiyi içeren bir açılır pencere görüntülenir: 'Multiple IdP verification certificates are not supported. Please retain only the Primary certificate'.
Listedeki ikinci sertifikayı silin ve yalnızca birincil sertifika olan ilk sertifikayı bırakın. İkinci sertifikayı kaldırmak için yanındaki Delete bağlantısını kullanın. Sertifika kaldırılmazsa ayarlar kaydedilemez.
-
Custom login button caption alanına varsayılan metin (Single Sign-on) yerine istediğiniz metni girebilirsiniz. Bu metin, ONLYOFFICE kimlik doğrulama sayfasında Single Sign-on hizmetiyle portalda oturum açmak için kullanılan düğmede görüntülenir.
-
Şimdi SP Certificates bölümünde kendinden imzalı sertifikalar oluşturmanız veya başka sertifikalar eklemeniz gerekir.
ÖnemliUse for listesinde signing and encrypt seçeneğini seçin. Shibboleth IdP, install.sh betiği tarafından verilerin dijital olarak imzalandığını ve şifrelendiğini doğrulayacak şekilde otomatik olarak yapılandırılır.

Hemen hemen aynı sonucu almanız gerekir:

-
Attribute Mapping bölümünde ONLYOFFICE İnsanlar modülündeki alanları Shibboleth IdP'den dönecek kullanıcı özellikleriyle eşleştirin.
Field Attribute First Name urn:oid:2.5.4.42Last Name urn:oid:2.5.4.4Email urn:oid:0.9.2342.19200300.100.1.3Location urn:oid:2.5.4.7Title urn:oid:2.5.4.12Phone urn:oid:0.9.2342.19200300.100.1.41
Advanced Settings bölümünde, varsayılan kimlik doğrulama sayfasını gizlemek ve otomatik olarak SSO hizmetine yönlendirmek için Hide auth page seçeneğini işaretleyebilirsiniz.
ÖnemliVarsayılan kimlik doğrulama sayfasını geri yüklemeniz gerekirse (IDP sunucunuz arızalanırsa portala erişebilmek için) tarayıcı adres çubuğunda portalınızın alan adından sonra
/Auth.aspx?skipssoredirect=trueanahtarını ekleyebilirsiniz. -
Save düğmesine tıklayın.
-
ONLYOFFICE SP Metadata bölümü açılmalıdır.
-
Download SP Metadata XML düğmesine tıklayarak ayarlarımızın herkese açık erişilebilir olduğunu doğrulayın. XML dosyasının içeriği görüntülenmelidir.

Bu XML dosyası genellikle Shibboleth IdP'yi yapılandırmak için kullanılır. Ancak install.sh betiği
DynamicHTTPMetadataProvider'ı etkinleştirdiği için bu adım gerekli değildir (Shibboleth IDP bu xml dosyasını oturum açma için yapılan ilk istekte indirir).
ONLYOFFICE SP yapılandırmasını Shibboleth IdP ile doğrulama
install.sh betiği, ONLYOFFICE SP ile Shibboleth IdP'nin çalışmasını test etmek için dört test kullanıcısı oluşturur.
| Username | Password | Comment | |
|---|---|---|---|
student1@{your_idp_domain} | student1 | password | Standart |
student2@{your_idp_domain} | student2 | password | givenName olmadan |
student3@{your_idp_domain} | student3 | password | Umlaut'lu |
staff1@{your_idp_domain} | staff1 | password | Yalnızca zorunlu alanlar |
SP tarafında ONLYOFFICE'te oturum açma
-
ONLYOFFICE kimlik doğrulama sayfasına gidin (örneğin
https://myportal-address.com/Auth.aspx). -
Single sign-on düğmesine tıklayın (düğme başlığı, ONLYOFFICE SP'yi yapılandırırken kendi metninizi belirttiyseniz farklı olabilir). Düğme yoksa SSO etkinleştirilmemiş demektir.

-
Tüm SP ve IdP parametreleri doğru yapılandırılmışsa Shibboleth IdP oturum açma formuna yönlendirilirsiniz:
-
Shibboleth IdP hesabının kullanıcı adını ve parolasını girin (kullanıcı adı:
student1, parola:password) ve Don't Remember Login onay kutusunu işaretleyin. -
Kimlik bilgileri doğruysa yeni bir pencere açılır. Accept düğmesine tıklayarak hizmetin bilgilerinize erişmesine izin verin.

-
Kimlik bilgileri doğruysa portal ana sayfasına yönlendirilirsiniz. Kullanıcı hesabı yoksa otomatik olarak oluşturulur veya IdP'de herhangi bir veri değiştiyse güncellenir.

SSO kimlik doğrulamasıyla eklenen kullanıcıların profilleri
SSO kimlik doğrulamasıyla oluşturulan kullanıcı profillerini düzenleme kısıtlıdır. IdP'den alınan kullanıcı profili alanları (yani First Name, Last Name, Email, Title ve Location) düzenlenemez. Bu alanları yalnızca IdP hesabınızdan düzenleyebilirsiniz.
Aşağıdaki şekil, bir SSO kullanıcısı için Actions menüsünü gösterir:

Aşağıdaki şekil, düzenlenmek üzere açılmış bir SSO kullanıcı profilini gösterir:

SSO kimlik doğrulamasıyla oluşturulan kullanıcılar, portal yöneticileri için kullanıcı listesinde SSO simgesiyle işaretlenir:

Shibboleth IdP'den oturumu kapatmak için (oturum açarken Don't Remember Login onay kutusunu işaretlemediyseniz) şuna benzeyen bağlantıya gidin: https://{shibboleth-idp-domain}/idp/profile/Logout