トラブルシューティングのためにブラウザで SAML レスポンスを表示する方法 - AWS Identity and Access Management

トラブルシューティングのためにブラウザで SAML レスポンスを表示する方法

次の手順では、SAML 2.0 に関連する問題のトラブルシューティング時に、ブラウザからサービスプロバイダーからの SAML 応答を表示する方法について説明します。

すべてのブラウザに共通して、問題を再現できるページに移動します。次に、ブラウザごとの適切なステップに従います。

Google Chrome

Chrome で SAML レスポンスを表示するには

これらのステップは、Google Chrome のバージョン 106.0.5249.103 (公式ビルド) (arm64) を使用してテストされました。別のバージョンを使用している場合、それに応じてステップの調整が必要になることがあります。

  1. F12 キーを押して、[Developer Tools] (デベロッパーツール) コンソールを開始します。

  2. [Network] (ネットワーク) タブを選択し、[Developer Tools] (デベロッパーツール) ウィンドウの左上にある [Preserve log] (ログを保存) を選択します。

  3. 問題を再現します。

  4. (オプション) [Developer Tools] (デベロッパーツール) の [Network] (ネットワーク) ログペインに [Method] (メソッド) 列が表示されない場合は、任意の列ラベルを右クリックし、[Method] (メソッド) を選択して列を追加します。

  5. [Developer Tools] (デベロッパーツール) の [Network] (ネットワーク) ログペインで [SAML Post] (SAML 投稿) を探します。その行を選択し、上部にある [Payload] (ペイロード) タブを表示します。エンコードされたリクエストを含む [SAMLResponse] 要素を探します。関連する値は、Base64 でエンコードされたレスポンスです。

Mozilla Firefox

Firefox で SAML レスポンスを表示するには

この手順は、Mozilla Firefox のバージョン 105.0.3 (64 ビット) でテストされています。別のバージョンを使用している場合、それに応じてステップの調整が必要になることがあります。

  1. F12 を押して、[Web Developer Tools] (ウェブデベロッパーツール) コンソールを起動します。

  2. [Network (ネットワーク)] タブを選択します。

  3. [Web Developer Tools] (ウェブデベロッパーツール) ウィンドウの右上で、オプション (小さな歯車のアイコン) を選択します。[Persist logs] (永続ログ) を選択します。

  4. 問題を再現します。

  5. (オプション) [Web Developer Tools] (ウェブデベロッパーツール) の [Network] (ネットワーク) ログペインに [Method] (メソッド) 列が表示されない場合は、任意の列ラベルを右クリックし、[Method] (メソッド) を選択して列を追加します。

  6. テーブルで [POST SAML] を見つけます。その行を選択し、[Request] (リクエスト) タブを表示して SAMLResponse 要素を見つけます。関連する値は、Base64 でエンコードされたレスポンスです。

Apple Safari

Safari で SAML レスポンスを表示するには

これらのステップは、Apple Safari のバージョン 16.0 (17614.1.25.9.10, 17614) を使用してテストされました。別のバージョンを使用している場合、それに応じてステップの調整が必要になることがあります。

  1. Safari で Web Inspector を有効にします。[設定] ウィンドウを開き、[Advanced (詳細)] タブを選択して、[Show Develop menu in the menu bar (メニューバーに開発メニューを表示)] を選択します。

  2. ここで Web Inspector を開くことができます。メニューバーで [Develop] (開発) を選択し、[Show Web Inspector] (Web インスペクターを表示) を選択します。

  3. [Network (ネットワーク)] タブを選択します。

  4. [Web Inspector] (Web インスペクター) ウィンドウの左上で、オプション (3 本の水平線を含む小さな円のアイコン) を選択します。[Preserve Log] (ログを保存) を選択します。

  5. (オプション) [Web Inspector] (Web インスペクター) の [Network] (ネットワーク) ログペインに [Method] (メソッド) 列が表示されない場合は、任意の列ラベルを右クリックし、[Method] (メソッド) を選択して列を追加します。

  6. 問題を再現します。

  7. テーブルで [POST SAML] を見つけます。その行を選択し、[Headers] (ヘッダー) タブを表示します。

  8. エンコードされたリクエストを含む [SAMLResponse] 要素を探します。下にスクロールして、Request Data という名前の SAMLResponse を探します。関連する値は、Base64 でエンコードされたレスポンスです。

Base64 エンコードされた SAML レスポンスの処理

ブラウザで Base64 エンコードされた SAML レスポンスエレメントが見つかったら、それをコピーし、任意の Base64 デコードツールを使用して、XML タグの付いたレスポンスを抽出します。

セキュリティのヒント

表示している SAML レスポンスデータには重要なデータが含まれる場合があるため、オンラインの base64 デコーダを使用しないことをお勧めします。代わりに、ローカルコンピュータにインストールされた、ネットワーク経由で SAML データを送信しないツールを使用します。

Windows システムの組み込みオプション (PowerShell):

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

MacOS および Linux システムの組み込みオプション:

$ echo "base64encodedtext" | base64 --decode