其實,這篇文算是前一篇「用Microsoft Entra ID整合Synology NAS登入」設定過程的血淚整理 aka 除錯教學,本來是要放在前一篇文末做為參考,但考量設定教學的內容可能已經過長,決定整理成獨立一篇 (再騙流量!?)。
設定碎碎唸
- Microsoft Entra ID 目前即使是免費的版本,均支援無數量限制設定 SSO。
但免費版本無法用群組方式指派權限。
Microsoft Entra Plans & Pricing - 如果 Synology NAS 有對外服務使用,為確保內外使用能成功透過 SSO 方是登入,請確認連接 Synology NAS 的內外網址及埠號必須一致,否則可能造成 ME-ID/AAD 完成驗證後的網站導向失敗。
- 為了能對應設定於 NAS 端的帳號名稱,請務必檢查 SAML 設定的 Name ID,不能為 User Principal Name (UPN) 格式,也就是取得輸出的資料,不能是類似郵件地址的格式。
(希望哪天 Synology 能支援對應本地帳號的郵件地址欄位做判斷登入) - 請務必檢查 ME-ID 端,[SAML 簽署憑證] 的 [簽署選項],正確選擇 [簽署 SAML 回應]。
若先前設定錯誤,在調整後,請務必完全關閉瀏覽器,或開啟全新乾淨的 InPrivate視窗,重新走過驗證流程以取得身分認證。
其實我在這段卡了好幾天,手邊有兩台 Synology NAS及兩組 ME-ID 做這次的佈署測試,一台在調整後可成功登入,另一台卻一直失敗。
省思後,認為我在這犯了兩個錯:- 從 Synology 官方文件的說明,我以為 Sign SAML Response 的設定是選擇參考,最後在提交技術支援給 Synology 後才確認是必要,也感謝 Synology 的技術支援。
- 我反覆測試設定的過程,並未完全關閉瀏覽器。
- 若跟我一樣,純粹想要用 SAML 方式對接 ME-ID,請勿參考 Synology 這份文件 - Azure AD SSO Service,其中已經提到:
"Before you start, make sure your Synology NAS has joined an Azure AD domain via VPN or a domain in sync with an Azure AD domain." - 假使突然無法以 SSO 方式無法驗證或登入,仍可改用本機帳號方式登入。
前提是使用者必須知道自己的本機密碼,或者由系統管理員協助對該本地帳號進行密碼重設,並將重設的密碼提供給使用者。
除錯碎碎唸
- 推薦用 Edge 或 Chrome 安裝 SAML Tracer 等類似外掛,瞭解登入過程及除錯。
- 如果出現如下圖錯誤,請檢查 ME-ID 的企業應用程式是否有允許該帳號使用此 SSO 登入 NAS。
請檢查企業應用程式的 [使用者和群組],是否該帳號於清單或允許的群組內。 - 若有成功完成驗證,導回 NAS 登入頁面,卻出現如下訊息。
「所輸入之帳號或密碼錯誤,請再輸入一次。」
(The account or password is invalid. Please try again.)
建議依序檢查三大重點:
Name ID 的資料格式是否正確?
登入的使用者是否於 Synology NAS 有對應的本地帳號?
SAML 憑證的簽署選項是否正確設定為 [簽署 SAML 回應]?
只要有任一項有錯誤,Synolog DSM 日誌中心的連線記錄,可以看到使用者欄位的資料為空。 - 若想登入 DSM 的帳號,非單純來自地端的 AD,也就是有混合使用到建立在純雲端的 ME-ID/AAD 上的帳號。
因為純雲端帳號不會有 user.onpremisesamaccountname 的值
如下圖的編號 1
登入過程無值可送出。下圖右側即為使用 SAML-tracer 外掛,從 Post 給 Synology DSM 的資訊所觀察到的結果。
以這個混合使用的情境,可考慮改使用 Mail Nickname (user.mailnickname) 做登入的 Name ID 值,或依現況及需求調整。
參考資料
Microsoft Tech Community - Unlimited SSO and new Azure AD features to simplify secure access management
Microsoft Security - Microsoft Entra Plans & Pricing
Synology Knowledge Center - SSO Client
發佈留言