其實,這篇文算是前一篇「用Microsoft Entra ID整合Synology NAS登入」設定過程的血淚整理 aka 除錯教學,本來是要放在前一篇文末做為參考,但考量設定教學的內容可能已經過長,決定整理成獨立一篇 (再騙流量!?)。

設定碎碎唸

  1. Microsoft Entra ID 目前即使是免費的版本,均支援無數量限制設定 SSO。

    但免費版本無法用群組方式指派權限。
    Microsoft Entra Plans & Pricing
  2. 如果 Synology NAS 有對外服務使用,為確保內外使用能成功透過 SSO 方是登入,請確認連接 Synology NAS 的內外網址及埠號必須一致,否則可能造成 ME-ID/AAD 完成驗證後的網站導向失敗。
  3. 為了能對應設定於 NAS 端的帳號名稱,請務必檢查 SAML 設定的 Name ID,不能為 User Principal Name (UPN) 格式,也就是取得輸出的資料,不能是類似郵件地址的格式。
    (希望哪天 Synology 能支援對應本地帳號的郵件地址欄位做判斷登入)
  4. 請務必檢查 ME-ID 端,[SAML 簽署憑證] 的 [簽署選項],正確選擇 [簽署 SAML 回應]

    若先前設定錯誤,在調整後,請務必完全關閉瀏覽器,或開啟全新乾淨的 InPrivate視窗,重新走過驗證流程以取得身分認證。

    其實我在這段卡了好幾天,手邊有兩台 Synology NAS及兩組 ME-ID 做這次的佈署測試,一台在調整後可成功登入,另一台卻一直失敗。

    省思後,認為我在這犯了兩個錯:
    • 從 Synology 官方文件的說明,我以為 Sign SAML Response 的設定是選擇參考,最後在提交技術支援給 Synology 後才確認是必要,也感謝 Synology 的技術支援。
    • 我反覆測試設定的過程,並未完全關閉瀏覽器。
  5. 若跟我一樣,純粹想要用 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."
  6. 假使突然無法以 SSO 方式無法驗證或登入,仍可改用本機帳號方式登入。

    前提是使用者必須知道自己的本機密碼,或者由系統管理員協助對該本地帳號進行密碼重設,並將重設的密碼提供給使用者。

除錯碎碎唸

  1. 推薦用 Edge 或 Chrome 安裝 SAML Tracer 等類似外掛,瞭解登入過程及除錯。
  2. 如果出現如下圖錯誤,請檢查 ME-ID 的企業應用程式是否有允許該帳號使用此 SSO 登入 NAS。

    請檢查企業應用程式的 [使用者和群組],是否該帳號於清單或允許的群組內。
  3. 若有成功完成驗證,導回 NAS 登入頁面,卻出現如下訊息。
    「所輸入之帳號或密碼錯誤,請再輸入一次。」
    (The account or password is invalid. Please try again.)

    建議依序檢查三大重點:
    Name ID 的資料格式是否正確?
    登入的使用者是否於 Synology NAS 有對應的本地帳號?
    SAML 憑證的簽署選項是否正確設定為 [簽署 SAML 回應]?

    只要有任一項有錯誤,Synolog DSM 日誌中心的連線記錄,可以看到使用者欄位的資料為空。
  4. 若想登入 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