把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

有因於Synology利用 Directory Server 把帳號同步到 Google Apps 的中文參考資料甚少所以我決定寫一篇屬於中文語系的參考文章
並由於在建置的過程中遇到一些問題,因此希望各位版上的前輩如果發現設定有問題時請不吝嗇的指教

Google Apps 的好用不解釋 ((懶人MIS的解決方案/SOHO族神器/高級的玩具

廢話不多說先來看如果想要用Directory Server 帳號同步到 Google Apps 的先決條件
1.在 DiskStation 上安裝 Directory Server,並啟動啟動 LDAP 服務及建立 LDAP 使用者/群組

2.你需要一組 Google Apps 帳號((並滿足以下2個條件

a)根據Google所提供的資料中顯示Google Apps 分成三種版本(( 免費版(2012年已停止申請)、 Google Apps for Business 及 Google Apps for Education

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

其中只有後面兩個版本可以"透過 LDAP 系統自動進行帳戶管理",但做SSO時則不用

b)該帳號要有管理權限


3.先安裝 Google Apps Directory Sync((好像只有英文版
PDF使用說明 /影片版((說明文件頗多 看完天都要黑了 有興趣的人在鑽研

===在此我用Google Apps for Education 作為我本次示範的例子==
(我用了"網域別名"所以在示範的時候網域名稱可以不用.edu,但要申請 Google Apps for Education 還是需要.edu網域)

0.首先你要先把Google Apps 的 API 存取 要設為打勾的狀態,完成後打開Google Apps Directory Sync

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

==1.Settings (一般設定)中==
[本設定用來控制要同步 LDAP Server 上的資訊選項]

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
依照官方的教學說明"由於 Directory Server 僅支援使用者與群組的管理,因此可同步的選項包含使用者帳號及群組。"
所以只挑選 "User Accounts" 和 "Groups"打勾,其他不要勾

==2.在 Google Apps Configuration (Google Apps 設定) 中==
[本設定用來確認Google Apps的管理所有權]

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

Primary Domain Name <=輸入Google Apps的網域名稱

Replace domain names in LDAP email addresses 以這個網域名稱取代使用者和群組的 LDAP 電子郵件地址的網域名稱 <= 打勾

Admin Email Address/Admin Password <= 輸入Google Apps 管理者帳號/密碼

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

完成後請按Test Connection 測試連線,上圖為成功時的範例


==3.在 LDAP Configuration (LDAP 設定) 中==
[本設定用來設定與LDAP 伺服器連線的設定]

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

Server Type 伺服器類型<=在此欄位中選擇 OpenLDAP

Connection Type 連線類型<=選擇 Standard LDAP

Host Name 主機名稱<=輸入您 DiskStation 的 IP 位址。
注:若要查詢 IP 位址,請登入 DSM 前往主選單 > 系統資訊 > 網路中的區域網路 > IP 位址查看。

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
完成後請按Test Connection 測試連線,上圖為成功時的範例

==4.在User Accounts (使用者帳號)中==

請注意:
根據字元使用規範,Google Apps 的命名規則與 Directory Server 不同。
在新增使用者名稱、群組、密碼及姓名時請特別留意。
使用者名稱:使用者名稱可包含英文字母 (a-z)、數字 (0-9)、連字號 (-)、底線 (_)、單引號 (') 和小數點 (.),而不得包含等號 (=) 或角括號 (<、>)。每列最多只能包含 1 個小數點。請確定您有遵照命名規則,否則同步將會失敗。
群組名稱:群組名稱最多可輸入 64 個可顯示的 Unicode 或 UTF-8 字元。
密碼:密碼可由任何 ASCII 字元組合而成,但至少必須有 8 個字元。
姓氏/名字:最多皆可輸入 60 個可顯示的 Unicode 或 UTF-8 字元。


4.1 User Attributes 使用者屬性分頁

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

Email Address Attribute 電子郵件屬性 <=輸入 uid (( Synology 官方的說明文件是寫mail 但我今天是想利用LDAP的帳號來建立我的Google Apps 帳號,而不是用USER所提共的MAIL帳號來建立

Unique identifier Attribute 專屬識別碼屬性 <=輸入 uidNumber

Google Apps User Deletion / Suspension Policy Google Apps 使用者刪除 / 停權政策:此選項讓您可以於同步處理期間,將僅出現於 Google Apps 而不存在於 Synology Directory Server 上的使用者刪除或停權

4.2 Additional User Attributes 額外使用者屬性

[可以指定選擇性的 LDAP 屬性來匯入更多資訊至 Google Apps 使用者帳號。((使用者的姓氏、名稱]
把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
Given Name Attribute(s) / Family Name Attribute(s) <= 名字屬性/姓氏屬性 這一欄可留空
但如果留空會則使用者名稱會顯示"Unknown Unknown"
官方的教學文件建議填入 uid / uid ,但假設有一使用者名稱叫做jeff後果就會顯示成 "jeff jeff"
我個人建議的設定為 uid / gecos

補充:Google Apps 控制台的使用者名稱顯示順序為:[姓氏]_[名字]

Force new user to change password(強制新使用者變更密碼) <=建議打勾

Default password for new users (新使用者的預設密碼) <=看個人設定

4.3 Search Rules 搜尋規則
把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

於規則Rule欄位中輸入 objectClass=inetOrgPerson 來從 Directory Server 取得所有 LDAP 使用者,然後按一下確定。

4.4 Exclusion Rules 排除規則

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

do not synchronize if the suspensions would exceed <=設高至90~100

==5.在Groups (群組) 中==

5.1 Search Rules 選取規則
點add Search Rules 後
把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

Scope 範圍<=套用郵寄清單規則的範圍。您可以選擇 Sub-tree 或 one-level

Rule 規則<=輸入 objectClass=posixGroup 來從 Directory Server 取得所有 LDAP 使用者。
((官方的說明 讓 Group Sync 搜尋符合 LDAP 查詢的條件

Base DN 基本 DN <=留空
((官方的說明 包含群組電子郵件位址的 LDAP 屬性。這將成為 Google Apps 中的群組電子郵件位址

Group Email Address Attribute 群組電子郵件屬性 <=輸入 cn
((官方的說明 包含群組電子郵件位址的 LDAP 屬性。這將成為 Google Apps 中的群組電子郵件位址。

Group Display Name Attribute 群組顯示名稱屬性 <=輸入 displayName
((官方的說明 包含群組顯示名稱的 LDAP 屬性。這將用來說明群組,不需為有效的電子郵件位址。

Group Description Attribute 群組說明屬性 <=留空
((官方的說明 包含群組說明的 LDAP 屬性。這將成為 Google Apps 中的群組說明。

User Email Address Attribute 使用者電子郵件屬性 <=輸入uid
((官方的說明 包含使用者電子郵件位址的 LDAP 屬性。這是用來取得群組成員的電子郵件位址。

Member Literal Attribute 成員常值屬性 <=輸入 memberUid *

Dynamic group Base DN attribute 動態群組基本 DN 屬性 <=留空 *

Owners 擁有者 <= 留空 *

*請參閱 Google Apps Directory Apps 管理指南來取得更多資訊。


==6.在Notifications (通知)中==

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

SMTP Relay Host SMTP Relay 主機 <=依你的SMTP主機而異 ,如果你填的是Google Apps 的帳號那就入 aspmx.l.google.com

From address 寄件者位址 <=輸入於此的位址將被視為寄送通知郵件的寄件者

To addresses 收件者位址 <= 看你要寄給誰....


把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
如果測試連線成功的時候就會出現上圖的狀態

==7.Sync (同步)中==

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

如果以上1~6功能都設定正常那應該如上圖所示都是打勾的狀態
可以先按Simulate Sync (模擬同步)後發現沒問題之後再按 Sync & apply changes
((建議把Clear cache 打勾避免不必要的問題

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
圖果沒有意外的話就是圖上圖所示

登入Google Apps後就可以發現使用者已經建置成功了
把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

=====以上帳號同步完成=====

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
接著要來利用Directory Server 來同步Goole Apps上的密碼,達到SSO的目的


把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益
完成後你就可以發現你的Goole Apps上SSO也同時設定完成了


但!!! 這裡就產生一個問題了!!! 當我準備用剛剛同步的帳號登入進去後突然從登入頁面轉跳到一個全白的網頁 之後就完全沒有動靜了

把Synology的 Directory Server 同步到Google Apps + SSO 設定教學/請益

請問版上是否有前輩可以幫忙指教一下是哪一方面出了問題了呢? 感謝 感謝
2014-01-24 3:44 發佈

jeff00716 wrote:
有因於Synolog...(恕刪)


目前已寫信給Synology官方詢問這方面問題 不知道其他板上的前輩是否有同樣的問題?
最近我也遇到同樣的問題,我也是一樣在google apps redirect到http://xxxxxx/simplesaml/saml2/idp/SSOService.cgi的SSO page時,出現synology not found的page,似乎是SAML SSO的Service在Synology沒有正確的執行起來? (或是路徑是錯誤的?)

不知版大後來有解決這個問題嗎? 謝謝!

Joe623 wrote:
最近我也遇到同樣的...(恕刪)


我之前是發現好像如果是 網域如果是用別名來設定會有問題
但如果不是的話會正常
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?