

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在瀏覽器中檢視 SAML 回應
<a name="troubleshoot_saml_view-saml-response"></a>

以下程序介紹在排除與 SAML 2.0 相關的故障問題時，如何從您的瀏覽器中查看服務供應商的 SAML 回應。

對於所有瀏覽器，請前往可以重現問題的頁面。然後，針對適用的瀏覽器執行以下步驟：

**Topics**
+ [Google Chrome](#chrome)
+ [Mozilla Firefox](#firefox)
+ [Apple Safari](#safari)
+ [如何處理 Base64 編碼的 SAML 回應](#whatnext)

## Google Chrome
<a name="chrome"></a>

**在 Chrome 中查看 SAML 回應**

這些步驟已使用 Google Chrome 版本 106.0.5249.103 (正式版本) (arm64) 進行了測試。如果您使用其他版本，則可能需要根據情況調整步驟。

1. 按下 **F12** 來啟動 **Developer Tools** (開發人員工具) 主控台。

1. 選取 **Network** (網路) 標籤，然後選取 **Developer Tools** (開發人員工具) 視窗左上角的 **Preserve log** (保留記錄)。

1. 重現問題。

1. (選擇性) 如果 **Developer Tools** (開發人員工具) 的 **Network** (網路) 記錄窗格中未顯示 **Method** (方法) 欄，請在任一欄標籤上按一下滑鼠右鍵，然後選擇 **Method** (方法) 以新增該欄。

1. 在 **Developer Tools** (開發人員工具) 的 **Network** (網路) 記錄窗格中尋找 **SAML Post** (SAML 文章)。選擇該列，然後檢視頂端的 **Payload** (承載) 標籤。尋找包含加密請求的 **SAMLResponse** 元素。關聯值為 Base64 編碼的回應。

## Mozilla Firefox
<a name="firefox"></a>

**在 Firefox 中查看 SAML 回應**

此程序已在 Mozilla Firefox 版本 105.0.3 (64 位元) 上進行了測試。如果您使用其他版本，則可能需要根據情況調整步驟。

1. 按下 **F12** 來啟動 **Web Developer Tools** (Web 開發人員工具) 主控台。

1. 選取 **Network (網路)** 標籤。

1. 在 **Web Developer Tools** (Web 開發人員工具) 視窗右上角選擇選項 (小齒輪圖示)。選取 **Persist logs** (持續記錄)。

1. 重現問題。

1. (選擇性) 如果 **Web Developer Tools** (Web 開發人員工具) 的 **Network** (網路) 記錄窗格中未顯示 **Method** (方法) 欄，請在任一欄標籤上按一下滑鼠右鍵，然後選擇 **Method** (方法) 以新增該欄。

1. 尋找表格中的 **POST** **SAML**。選取該列，然後檢視 **Request** 標籤並尋找 **SamlResponse** 元素。關聯值為 Base64 編碼的回應。

## Apple Safari
<a name="safari"></a>

**在 Safari 中查看 SAML 回應**

這些步驟已使用 Apple Safari 版本 16.0 (17614.1.25.9.10, 17614) 進行了測試。如果您使用其他版本，則可能需要根據情況調整步驟。

1. 在 Safari 中啟用 Web Inspector。開啟 **Preferences (偏好設定)** 視窗，選取 **Advanced (進階)** 標籤，然後選取 **Show Develop menu in the menu bar (在選單列顯示開發選單)**。

1. 現在您可以開啟 Web Inspector。在選單列中選擇 **Develop** (開發)，然後選取 **Show Web Inspector** (顯示 Web Inspector)。

1. 選取 **Network (網路)** 標籤。

1. 在 **Web Inspector** 視窗右上角選擇選項 (包含三條水平線的小圓形圖示)。選取 **Preserve logs** (保留記錄)。

1. (選擇性) 如果 **Web Inspector** 的 **Network** (網路) 記錄窗格中未顯示 **Method** (方法) 欄，請在任一欄標籤上按一下滑鼠右鍵，然後選擇 **Method** (方法) 以新增該欄。

1. 重現問題。

1. 尋找表格中的 **POST** **SAML**。選擇該列，然後檢視 Headers (標題) 標籤。

1. 尋找包含加密請求的 **SAMLResponse** 元素。向下捲動到找到含有名稱 `SAMLResponse` 的 `Request Data`。關聯值為 Base64 編碼的回應。

## 如何處理 Base64 編碼的 SAML 回應
<a name="whatnext"></a>

在瀏覽器中找到 Base64 編碼的 SAML 回應元素之後，複製這些元素並使用您偏好的 Base-64 解碼工具來擷取含有 XML 標籤的回應。

**安全提示**  
由於您查看的 SAML 回應資料可能包含敏感安全資料，我們建議您不要使用*線上* base64 解碼器。而是使用安裝在本機電腦上，不會透過網路傳送 SAML 資料的工具。

**適用於 Windows 系統的內建選項 (PowerShell)：**

```
PS C:\> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("base64encodedtext"))
```

**適用於 MacOS 與 Linux 系統的內建選項：**

```
$ echo "base64encodedtext" | base64 --decode
```

**檢閱解碼檔案中的值**  
檢閱已解碼 SAML 回應檔案中的值。
+ 確認 saml:NameID 屬性的值符合已驗證使用者的使用者名稱。
+ 檢閱 https://aws.amazon.com/SAML/Attributes/Role 的值。ARN 和 SAML 提供者區分大小寫，且 [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 必須符合您帳戶中的資源。
+ 檢閱 https://aws.amazon.com/SAML/Attributes/RoleSessionName 的值。該值必須符合[宣告規則](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html)中的值。
+ 如果設定電子郵件地址或帳戶名稱的屬性值，請確定這些值正確無誤。這些值必須對應至已驗證使用者的電子郵件地址或帳戶名稱。

**檢查錯誤並確認組態**  
檢查值是否包含錯誤，並確認下列組態正確無誤。
+ 宣告規則符合必要元素，且所有 ARN 皆正確。如需詳細資訊，請參閱[使用依賴方信任設定您的 SAML 2.0 IdP 並新增宣告](id_roles_providers_create_saml_relying-party.md)。
+ 您已將最新的中繼資料檔案從 IdP 上傳至 SAML 供應商 AWS 中的 。如需詳細資訊，請參閱[啟用 SAML 2.0 聯合主體來存取 AWS 管理主控台](id_roles_providers_enable-console-saml.md)。
+ 您已正確設定 IAM 角色的信任政策。如需詳細資訊，請參閱[擔任角色的方法](id_roles_manage-assume.md)。