註解:

本文不適用於使用 Google 聯盟或 Microsoft Azure Sync 的 SSO 設定。

如果貴組織透過這些連接器的任何一個設定 SSO,請參閱以下文章:

概觀

Adobe Admin Console 內成功設定 SSO 之後,請確定您已按下「下載 Adobe 中繼資料檔案」,並將 SAML XML 中繼資料檔案儲存到您的電腦上。 您的身分提供者需要這個檔案才能啟用單一登入。 您必須將 XML 設定詳細資料正確匯入到身分提供者 (IdP)。如此才能整合 SAML 與您的 IdP,而且此動作可確認資料設定正確。

以下是一些常見的設定問題:

  • 憑證採用 PEM 以外的格式。
  • 採用非 .cer.、.pem 和 .cert 副檔名的憑證無效。
  • 憑證已加密。
  • 憑證為單行格式。需要多行。
  • 「憑證撤銷驗證」已開啟 (目前尚未支援)。
  • SAML 中的 IdP 發行者與 Admin Console 中指定的發行者不同 (例如,拼字錯誤、遺漏字元、https 和 http 的錯誤)。

如果您對於如何使用 SAML XML 中繼資料檔案來設定 IdP 有疑問,請直接與您的 IdP 聯繫以獲得指示,這會因 IdP 而異。

特定 IdP 的一些範例 (這不是完整清單,任何符合 SAML 2 的 IdP 皆適用):

Okta:在 XML 檔案中手動取得所需的資訊,並將其輸入到適當的 UI 欄位中,以正確設定資料。

Ping Federate:上傳 XML 檔案或將資料輸入適當的 UI 欄位中。

Microsoft ADFS:您的憑證必須採用 PEM 格式,但 ADFS 的預設值為 DER 格式。您可以使用 openssl 命令來轉換憑證,此命令可在 OS X、Windows 或 Linux 上使用,如下所示:

openssl x509 -in certificate.cer -out certificate.pem -outform PEM

在上述步驟執行完畢後,將憑證重新命名為 .cer。

如果您有多個憑證,也請確定有使用正確的憑證;它必須是即將簽署要求的憑證。(例如,如果使用「權杖簽署」的憑證來簽署要求,則要使用該憑證。)「憑證撤銷驗證」必須關閉。

如果您已根據自己的知識設定了 IdP,請根據收到的錯誤嘗試以下一項或多項做法。

下載 Adobe 中繼資料檔案

基本疑難排解

單一登入問題通常是由容易忽略的非常基本的錯誤所造成的。特別要檢查以下項目:

  • 用戶已指派給具有權利的產品描述檔。
  • 在 SAML 中傳送的用戶名字、姓氏和電子郵件地址與出現在企業儀表板中的內容完全相同,而且會出現在 SAML 中並有正確標記。
  • 請檢查 Admin Console 和您的身分提供者中的所有項目,看看是否有拼字或語法錯誤。
  • Creative Cloud 桌面應用程式已更新至最新版本。
  • 用戶已登入正確的地方 (Creative Cloud 桌面應用程式、Creative Cloud 應用程式或 Adobe.com)

有標示「再試一次」按鈕的「發生錯誤」錯誤

此錯誤通常發生在用戶驗證成功且 Okta 已成功將驗證回應轉寄給 Adobe 之後。

Adobe Admin Console 中,驗證以下項目:

在「身分」索引標籤上︰

  • 確定關聯的網域已啟用。

在「產品」索引標籤上︰

  • 確定用戶與正確的產品暱稱相關聯,並且位在您宣告要設定為 Federated ID 的網域中。
  • 確定產品暱稱有指派正確的權利。

在「用戶」索引標籤上︰

  • 確定用戶的用戶名稱採用完整電子郵件地址的格式。

「拒絕存取」登入錯誤

此錯誤的可能原因:

  • 在 SAML 聲明中傳送的名字、姓氏或電子郵件地址與在 Admin Console 中輸入的資訊不符。
  • 用戶未與正確的產品建立關聯,或是產品未與正確的權利建立關聯。
  • 採用的 SAML 用戶名稱不是電子郵件地址。所有用戶都必須位在您在設定程序中所宣告的網域中。
  • 您的 SSO 用戶端在登入過程中使用了 JavaScript,而且您正在嘗試登入不支援 JavaScript 的用戶端 (例如 Creative Cloud Packager)。

解決方法:

  • 驗證用戶的儀表板設定:用戶資訊和產品描述檔。
  • 執行 SAML 追蹤並驗證傳送的資訊是否與儀表板相符,然後更正所有不一致之處。

「另一個用戶目前已登入」錯誤

「另一個用戶目前已登入」錯誤發生在 SAML 聲明中傳送的屬性不符合之前用來啟動登入程序的電子郵件地址時。

檢查並確定要登入的用戶的電子郵件地址與以下內容相符:

  • 列在 Admin Console 中的用戶電子郵件地址
  • 在 SAML 聲明的 NameID 欄位中傳回的用戶名稱

「無法當做系統主體進行呼叫」或「建立用戶失敗」錯誤

「無法當做系統主體進行呼叫」(後接隨機代碼) 或「建立用戶失敗」錯誤表示 SAML 屬性有問題:FIrstNameLastNameEmail。請確定屬性名稱正確無誤 (區分大小寫、命名等)。例如,以 email 而不是 Email 當做屬性結尾可能會導致這些錯誤。

如果 SAML 聲明在 Subject > NameId 元素中未包含用戶的電子郵件,也可能發生這些錯誤 (使用 SAML Tracer 時,它應該有 emailAddress 格式及實際的電子郵件做為文字值)。 

如果您需要 Adobe 支援提供協助,請附上 SAML 追蹤。

 

「SAML 回應中的發行者不符合為身分提供者設定的發行者」錯誤

SAML 聲明中的 IDP 發行者不同於輸入 SAML 中的設定。尋找拼字錯誤 (例如 http 和 https)。在使用客戶 SAML 系統檢查 IDP 發行者字串時,您要尋找的是與他們提供的字串完全相符的字串。有時出現此問題是因為結尾遺漏斜線。

如果您需要此錯誤的協助,請提供您在 Adobe 儀表板中輸入的 SAML 追蹤和值。

「SAML 回應中的數位簽名並未使用身分提供者的憑證進行驗證」錯誤

此問題發生在您目錄的憑證已過期時。若要更新憑證,您需要從身分提供者下載憑證或中繼資料,然後在 Adobe Admin Console 中上傳。

例如,如果您的 IdP 是 Microsoft AD FS,請依照以下步驟進行:

  1. 在您的伺服器上開啟 AD FS 管理應用程式,並在「AD FS > 服務 > 端點」資料夾中選取「同盟中繼資料」。

    中繼資料位置
  2. 使用瀏覽器瀏覽至針對同盟中繼資料所提供的 URL,並下載檔案。例如,https://<您的 AD FS 主機名稱>/FederationMetadata/2007-06/FederationMetadata.xml。

    註解:

    如果有提示任何警告,請接受。

  3. 登入您的 Adobe Admin Console,並瀏覽至「設定 身分 > 目錄」。選取要更新的目錄,然後按一下「SAML 提供者」卡片上的「設定」。

    然後上傳 IdP 中繼資料檔案,並按一下「儲存」。

    身分提供者

注意:

自 2020 年 10 月 31 日起,Adobe 將停止支援在 Adobe Admin Console 內已不建議針對同盟目錄使用的 SHA-1 和 SHA-256 Pilot 憑證。任何帶有警告圖示的目錄都需要遷移。

若要移至新的 SHA-2 憑證目錄,只需選取目錄,並按一下「編輯」,然後按照遷移程序來進行遷移。

如果您仍想要更新已過期或不正確的憑證檔案,請依照提供的步驟來針對您搭配 Microsoft AD FS 目錄使用的 SSO 重新上傳更新的憑證:

  1. 在您的伺服器上開啟 Microsoft AD FS 管理應用程式,並在「AD FS -> 服務 -> 憑證」資料夾中選取「權杖簽署憑證」。

    註解:

    權杖簽署憑證會在給定的到期日到期。憑證到期後,請更新憑證、將其下載,然後再次上傳到 Adobe Admin Console。

  2. 若要開啟憑證屬性視窗,請按一下「檢視憑證」。

  3. 在「詳細資料」索引標籤中,按一下「複製到檔案」,然後使用精靈將憑證儲存成 Base-64 編碼的 X.509 (.CER)。這種格式相當於 PEM 格式憑證。

  4. 登入您的 Adobe Admin Console,然後瀏覽至「設定 > 身分 > 目錄」,並選取您要更新的目錄。

  5. 按一下/點選 SAML 提供者卡片上的「編輯」。在「編輯 SAML 設定」視窗中更新新的憑證詳細資料。

    編輯 SAML 設定

憑證檔案很可能不正確,需要重新上傳。此問題通常發生在進行了變更而且管理員參照錯誤的憑證檔案之後。  也要檢查格式類型 (針對 ADFS 需要採用 PEM 格式)。

「目前時間早於聲明條件中所指定的時間範圍」錯誤

Windows 型 IdP 伺服器

1. 確定系統時鐘與準確的時間伺服器同步

使用以下命令根據您的時間伺服器來檢查精準系統時鐘;「階段位移」值應為一秒鐘的一小部分:

w32tm /query /status /verbose

您可以使用以下命令立即重新同步系統時鐘與時間伺服器:

w32tm /resync

如果系統時鐘設定正確,但仍然出現上述錯誤,您可能需要調整時間誤差設定,以增加伺服器與用戶端的時鐘之間差異的容許度。

2. 增加伺服器之間允許的系統時鐘差異

使用系統管理權限從 Powershell 視窗中,將允許的誤差值設定為 2 分鐘。查看您是否可以登入,然後根據結果增加或減少該值。

使用以下命令判斷相關信賴憑證者信任的目前時間誤差設定:

Get-ADFSRelyingPartyTrust | Format-List -property Identifier,Name,NotBeforeSkew

上一個命令輸出的「Identifier」欄位中針對該特定設定所顯示的 URL 會識別信賴憑證者信任。針對「識別碼」索引標籤上「信賴憑證者信任」欄位中的相關信賴憑證者信任,此 URL 也會顯示在屬性視窗中的 ADFS 管理公用程式內,如底下螢幕擷圖所示。

使用以下命令將時間誤差設定為 2 分鐘,並相應地替換識別碼位址:

Set-ADFSRelyingPartyTrust –TargetIdentifier 'https://www.okta.com/saml2/service-provider/xxxxxxxxxxxxxxxxxxxx' –NotBeforeSkew 2  

relying_party_identifier

UNIX 型 IdP 伺服器

確定系統時鐘已設定正確,這可以使用 ntpd 服務或是手動從 root shell 使用 ntpdate 命令或使用 sudo,如下所示 (請注意,如果時間偏移大於 0.5 秒,則變更不會立即發生,但會慢慢更正系統時鐘)。確定時區也設定正確。

# ntpdate -u pool.ntp.org

註解:

這適用於身分提供者,例如 Shibboleth。

SubjectConfirmation 中指定的收件者與我們的服務提供者實體 ID 不符

檢查屬性,因為它們需要完全符合以下項目的大小寫:FirstName、LastName、Email。此錯誤訊息可能意味著其中一個屬性的大小寫錯誤,例如,使用了「email」而不是「Email」。還要檢查收件者的值,它應該參照 ACS 字串。

ACS 字串

錯誤 401 認證未經授權

此錯誤發生在應用程式不支援 Federated ID 登入,而必須使用 Adobe ID 登入時。FrameMaker、RoboHelp 和 Captivate 是具有此要求的應用程式範例。

「輸入 SAML 登入失敗,並傳回此訊息:SAML 回應未包含任何聲明」錯誤

檢查登入工作流程。如果您可以在其他電腦或網路上存取登入頁面,但無法在內部存取,就表示問題可能發生在封鎖代理字串。此外,請執行 SAML 追蹤,然後確認 SAML 主旨中有以名字、姓氏和用戶名稱正確格式化的電子郵件地址。

錯誤 400 錯誤的要求/「SAML 要求的狀態不成功」錯誤/SAML 認證驗證失敗

確認已傳送正確的 SAML 聲明:

  • 確認身分提供者有在 SAML 聲明中傳遞以下屬性 (區分大小寫):FirstName、LastName、Email。如果未在 IdP 中設定這些屬性當做 SAML 2.0 連接器設定的一部分來傳送,驗證將無法運作。
  • 主旨中沒有 NameID 元素。確認 Subject 元素包含 NameId 元素。它必須等於 Email 屬性,該屬性應該是您要驗證的用戶的電子郵件地址。
  • 拼字錯誤,特別是 https 和 http 之類的錯誤容易被忽略。
  • 確認是否提供了正確的憑證。IDP 必須設定為使用未壓縮的 SAML 要求/回應。

類似 Firefox 適用的 SAML Tracer 等公用程式可協助將聲明解壓縮,並將其顯示以供檢查。如果您需要 Adobe 支援提供協助,您將必須提供此檔案。如需詳細資訊,請參閱「如何執行 SAML 追蹤」。

以下實用範例可能有助於正確格式化 SAML 聲明:

下載

搭配 Microsoft ADFS:

  1. 每個 Active Directory 帳戶都必須擁有列在 Active Directory 中的電子郵件地址,才能成功登入 (事件記錄:SAML 回應在聲明中沒有 NameId)。請先檢查此項目。
  2. 存取儀表板
  3. 按一下「身分」索引標籤和網域。
  4. 按一下「編輯設定」。
  5. 找出 IDP 繫結。切換到 HTTP-POST 然後儲存。 
  6. 重新測試登入體驗。
  7. 如果有效,但您希望使用先前的設定,只需切換回 HTTP-REDIRECT,然後將中繼資料重新上傳到 ADFS。

搭配其他 IdP:

  1. 遇到錯誤 400 表示您的 IdP 已拒絕成功登入。
  2. 請檢查您的 IdP 記錄,以找出錯誤來源。
  3. 更正問題,然後重試。