ONLYOFFICE SP ve AD FS IdP yapılandırma
Giriş
Tek oturum açma (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şmesini sağlayan bir teknolojidir.
Bir web portalı birkaç büyük bağımsız bölüm (forum, sohbet, bloglar vb.) içeriyorsa, kullanıcı hizmetlerden birinde kimlik doğrulamasından geçebilir ve kimlik bilgilerini birkaç kez girmeden diğer tüm hizmetlere otomatik olarak erişebilir.
SSO her zaman iki uygulamanın birlikte çalışmasıyla sağlanır: Kimlik Sağlayıcı (Identity Provider) ve Hizmet Sağlayıcı (Service Provider) (bundan sonra "IdP" ve "SP" olarak anılacaktır). ONLYOFFICE SSO yalnızca SP işlevini uygular. Birçok farklı sağlayıcı IdP olarak görev yapabilir, ancak bu makalede Active Directory Federation Services (AD FS) uygulaması ele alınmaktadır.
ONLYOFFICE Desktop Editors uygulamasını ONLYOFFICE Workspace'inize bağlarken SSO kullanmak istiyorsanız, Kontrol Paneli'nde Private Rooms özelliğini devre dışı bırakın.
Sistem gereksinimleri
Sistem gereksinimleri, ONLYOFFICE SSO ile test edilmiş ve doğru çalıştığı kanıtlanmış aşağıdaki yazılımları içerir:
- Windows Server 2008 R2, Windows Server 2016;
- AD FS 3.0 veya üzeri sürüm.
ONLYOFFICE Workspace'i SSO kurulumuna hazırlama
- ONLYOFFICE Workspace'i Docker için veya SSO desteği olan herhangi bir sonraki sürümle kurun (AD FS, Community Server v9.5 sürümünden itibaren desteklenir).
- Bir alan adı ekleyin, örneğin
myportal-address.com. - Portalınızda Kontrol Paneli > HTTPS bölümüne gidin, trafik şifrelemesi için letsencrypt sertifikası oluşturup uygulayın (portalınızda HTTPS'yi etkinleştirmek için).
AD FS'yi SSO kurulumuna hazırlama
-
Tüm resmi güncelleştirmeler ve yamalarla birlikte AD DS'nin (Active Directory Domain Service) en son sürümünü kurun.
-
Tüm resmi güncelleştirmeler ve yamalarla birlikte AD FS'nin en son sürümünü kurun.
AD FS'yi sıfırdan dağıtmak için aşağıdaki yönergeleri kullanabilirsiniz.
-
AD FS meta veri bağlantısının herkese açık olarak erişilebilir olduğunu doğrulayın. Bunun için
-
Server Manager içinde Tools > AD FS Management seçeneğini açın,
-
AD FS \ Service \ Endpoints bölümüne gidin,
-
Tabloda Federation Metadata türündeki satırı bulun. IdP meta veri bağlantısı aşağıdaki şemaya göre oluşturulur:
https://{ad-fs-domain}/{path-to-FederationMetadata.xml}
Alternatif olarak aşağıdaki PowerShell komutunu kullanabilirsiniz:
PS C:\Users\Administrator> (Get-ADFSEndpoint | Where {$_.Protocol -eq "FederationMetadata" -or $_.Protocol -eq "Federation Metadata"}).FullUrl.ToString()Sonuç aşağıdaki biçimde bir bağlantı olmalıdır:
https://onlyofficevm.northeurope.cloudapp.azure.com/FederationMetadata/2007-06/FederationMetadata.xml -
AD FS'nin doğru çalıştığını doğrulamak için bağlantıyı bir web tarayıcısında açın. XML dosyası görüntülenmeli veya indirilmelidir. Meta veri XML dosyasının bağlantısını kopyalayın: sonraki adımda gerekecektir.
-
ONLYOFFICE SP'yi yapılandırma
-
ONLYOFFICE Kontrol Paneli'nde Yönetici olarak oturum açtığınızdan emin olun ve sol kenar çubuğundaki PORTAL SETTINGS bölümünde SSO sekmesine tıklayın.
notONLYOFFICE portalında kuruluşunuz için yalnızca bir kurumsal Kimlik Sağlayıcı kaydedebilirsiniz.

-
Enable Single Sign-on Authentication anahtarına tıklayarak SSO'yu etkinleştirin ve AD FS'den kopyaladığınız bağlantıyı URL to Idp Metadata XML alanına yapıştırın.

IdP meta verilerini yüklemek için yükle düğmesine tıklayın. AD FS IdP, ONLYOFFICE SP Settings formu alanlarını otomatik olarak dolduracaktır.
-
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 Tek oturum açma hizmetiyle portalda oturum açmak için kullanılan düğmede görüntülenir.
-
NameID Format seçicisinde aşağıdaki değeri seçin: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress.
-
IdP Public Certificates \ Advanced settings bölümünde, AD FS varsayılan olarak bunu gerektirmediğinden Verify Logout Response Signature seçeneğinin işaretini kaldırın.

-
SP Certificates bölümüne sertifikalar ekleyin. Kendinden imzalı sertifikalar oluşturabilir veya başka sertifikalar ekleyebilirsiniz.
notAD FS IdP dijital imzaları doğrulamak ve verileri şifrelemek üzere otomatik olarak yapılandırıldığından, New Certificate penceresinde Use for seçicisini signing and encrypt seçeneğine ayarlayın.

Sonuç aşağıdakine benzer olmalıdır:

-
SP Certificates \ Advanced settings bölümünde, AD FS varsayılan olarak bunu gerektirmediğinden Sign Logout Responses seçeneğinin işaretini kaldırın.
notAttribute Mapping formunu ayarlamanız gerekmez. Advanced Settings bölümünde, varsayılan kimlik doğrulama sayfasını gizleyip SSO hizmetine otomatik olarak 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ının 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çılır.

Download SP Metadata XML düğmesine tıklayarak ayarların herkese açık olarak erişilebilir olduğunu doğrulayın. XML dosyasının içeriği görüntülenmelidir.
-
ONLYOFFICE SP meta verilerinin bağlantısını SP Entity ID (link to metadata XML) alanından kopyalayın ve AD FS'nin kurulu olduğu makineye gidin.

AD FS IdP'yi yapılandırma
-
.NET uygulamaları için güçlü kimlik doğrulamayı etkinleştirin.
.NET Framework 3.5/4.0/4.5.x uygulamaları,
SchUseStrongCryptokayıt defteri anahtarını etkinleştirerek varsayılan protokolü TLS 1.2 olarak değiştirebilir. Bu kayıt defteri anahtarı, .NET uygulamalarını TLS 1.2 kullanmaya zorlar.notWindows Server 2016 ve Windows Server 2012 R2 üzerindeki AD FS için .NET Framework 4.0/4.5.x anahtarını kullanmanız gerekir: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319
.NET Framework 3.5 için aşağıdaki kayıt defteri anahtarını kullanın:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001.NET Framework 4.0/4.5.x için aşağıdaki kayıt defteri anahtarını kullanın:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 "SchUseStrongCrypto"=dword:00000001
Alternatif olarak aşağıdaki PowerShell komutunu kullanabilirsiniz:
New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-NullDaha fazla ayrıntı için bu makaleye bakın.
-
Server Manager içinde Tools > AD FS Management seçeneğini açın,

-
AD FS Management panelinde Trust Relationships > Relying Party Trusts seçeneğini belirleyin. Sağdaki Add Relying Party Trust... seçeneğine tıklayın. Add Relying Party Trust Wizard açılır,

-
Sihirbaz penceresinde Import data about the relying party published online or on a local network seçeneğini belirleyin, daha önce kopyaladığınız ONLYOFFICE SP meta veri bağlantısını Federation metadata address (host name or URL) alanına yapıştırın ve Next düğmesine tıklayın,

-
Display name alanına istediğiniz bir adı yazın ve Next düğmesine tıklayın,

-
I do not want to configure multi-factor authentication settings for this relying party trust at this time seçeneğini belirleyin ve Next düğmesine tıklayın,

-
Permit all users to access this relying party seçeneğini belirleyin ve Next düğmesine tıklayın,

-
Ortaya çıkan ayarları kontrol edin ve Next düğmesine tıklayın,

-
Varsayılan seçeneği değiştirmeden bırakın ve Close düğmesine tıklayın,

-
Yeni bir pencere açılır. Issuance Transform Rules sekmesinde Add Rule... düğmesine tıklayın,

-
Claim rule template listesinden Send LDAP Attributes as Claims seçeneğini belirleyin ve Next düğmesine tıklayın,

-
Claim rule name alanına istediğiniz bir adı girin. Attribute store listesinden Active Directory seçeneğini belirleyin ve Mapping of LDAP attributes to outgoing claim types formunu aşağıdaki tabloya göre doldurun. Tamamladığınızda Finish düğmesine tıklayın.
LDAP Attribute (Select or type to add more) Outgoing Claim Type (Select or type to add more) Given-Name givenName Surname sn E-Mail-Addresses mail Telephone-Number mobile Title title physicalDeliveryOfficeName l 
-
Edit Claim Rules penceresinde Add Rule... düğmesine bir kez daha tıklayın, Claim rule template listesinden Transform an Incoming Claim seçeneğini belirleyin ve Next düğmesine tıklayın,

-
Claim rule name alanına istediğiniz bir adı yazın ve listelerden aşağıdaki seçenekleri belirleyin:
- Incoming claim type: mail,
- Outgoing claim type: Name ID,
- Outgoing name ID format: Email

Hazır olduğunuzda Finish düğmesine tıklayın.
Neredeyse aynı sonucu almanız gerekir:

AD FS'den oturum kapatma çalışmıyorsa,
{portal-domain}yerine SP alan adınızı ve{ad-fs-domain}yerine IdP alan adınızı yazarak bir Özel Talep Kuralı (Custom Claim Rule) eklemeniz önerilir:c:[Type == "mail"]=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://{ad-fs-domain}/adfs/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "https://{portal-domain}/sso/metadata");
-
OK düğmesine tıklayın.
-
İntranetten SSO'ya izin vermek için Edit Global Authentication Policy içinde (AD FS / Authentication Policies bağlam menüsü) Forms Authentication seçeneğini etkinleştirin,

-
Oluşturulan relying party trust öğesinin özelliklerini açın ve Advanced sekmesine geçin,

Secure hash algorithm listesinde SHA-1 seçeneğini belirleyin.

ONLYOFFICE SP yapılandırmasını AD FS IdP ile doğrulama
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 (ONLYOFFICE SP'yi yapılandırırken kendi metninizi belirttiyseniz düğmenin başlığı farklı olabilir). Düğme yoksa SSO etkin değil demektir.

-
Tüm SP ve IdP parametreleri doğru yapılandırılmışsa AD FS IdP oturum açma formuna yönlendirilirsiniz:

-
AD FS IdP hesabının kullanıcı adını ve parolasını girin ve Sign in düğmesine tıklayın.
-
Kimlik bilgileri doğruysa portal ana sayfasına yönlendirilirsiniz. Kullanıcı hesabı henüz yoksa otomatik olarak oluşturulur, 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ı profillerinin düzenlenmesi kısıtlanmıştı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 şekilde bir SSO kullanıcısı için Eylemler menüsü gösterilmektedir:

Aşağıdaki şekilde düzenleme için açılmış bir SSO kullanıcı profili gösterilmektedir:

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