ブラウザに SAML レスポンスを表示する
次の手順では、SAML 2.0 に関連する問題のトラブルシューティング時に、ブラウザからサービスプロバイダーからの SAML 応答を表示する方法について説明します。
すべてのブラウザに共通して、問題を再現できるページに移動します。次に、ブラウザごとの適切なステップに従います。
Google Chrome
Chrome で SAML レスポンスを表示するには
これらのステップは、Google Chrome のバージョン 106.0.5249.103 (公式ビルド) (arm64) を使用してテストされました。別のバージョンを使用している場合、それに応じてステップの調整が必要になることがあります。
-
F12 キーを押して、[Developer Tools] (デベロッパーツール) コンソールを開始します。
-
[Network] (ネットワーク) タブを選択し、[Developer Tools] (デベロッパーツール) ウィンドウの左上にある [Preserve log] (ログを保存) を選択します。
-
問題を再現します。
-
(オプション) [Developer Tools] (デベロッパーツール) の [Network] (ネットワーク) ログペインに [Method] (メソッド) 列が表示されない場合は、任意の列ラベルを右クリックし、[Method] (メソッド) を選択して列を追加します。
-
[Developer Tools] (デベロッパーツール) の [Network] (ネットワーク) ログペインで [SAML Post] (SAML 投稿) を探します。その行を選択し、上部にある [Payload] (ペイロード) タブを表示します。エンコードされたリクエストを含む [SAMLResponse] 要素を探します。関連する値は、Base64 でエンコードされたレスポンスです。
Mozilla Firefox
Firefox で SAML レスポンスを表示するには
この手順は、Mozilla Firefox のバージョン 105.0.3 (64 ビット) でテストされています。別のバージョンを使用している場合、それに応じてステップの調整が必要になることがあります。
-
F12 を押して、[Web Developer Tools] (ウェブデベロッパーツール) コンソールを起動します。
-
[Network (ネットワーク)] タブを選択します。
-
[Web Developer Tools] (ウェブデベロッパーツール) ウィンドウの右上で、オプション (小さな歯車のアイコン) を選択します。[Persist logs] (永続ログ) を選択します。
-
問題を再現します。
-
(オプション) [Web Developer Tools] (ウェブデベロッパーツール) の [Network] (ネットワーク) ログペインに [Method] (メソッド) 列が表示されない場合は、任意の列ラベルを右クリックし、[Method] (メソッド) を選択して列を追加します。
-
テーブルで [POST SAML] を見つけます。その行を選択し、[Request] (リクエスト) タブを表示して SAMLResponse 要素を見つけます。関連する値は、Base64 でエンコードされたレスポンスです。
Apple Safari
Safari で SAML レスポンスを表示するには
これらのステップは、Apple Safari のバージョン 16.0 (17614.1.25.9.10, 17614) を使用してテストされました。別のバージョンを使用している場合、それに応じてステップの調整が必要になることがあります。
-
Safari で Web Inspector を有効にします。[設定] ウィンドウを開き、[Advanced (詳細)] タブを選択して、[Show Develop menu in the menu bar (メニューバーに開発メニューを表示)] を選択します。
-
ここで Web Inspector を開くことができます。メニューバーで [Develop] (開発) を選択し、[Show Web Inspector] (Web インスペクターを表示) を選択します。
-
[Network (ネットワーク)] タブを選択します。
-
[Web Inspector] (Web インスペクター) ウィンドウの左上で、オプション (3 本の水平線を含む小さな円のアイコン) を選択します。[Preserve Log] (ログを保存) を選択します。
-
(オプション) [Web Inspector] (Web インスペクター) の [Network] (ネットワーク) ログペインに [Method] (メソッド) 列が表示されない場合は、任意の列ラベルを右クリックし、[Method] (メソッド) を選択して列を追加します。
-
問題を再現します。
-
テーブルで [POST SAML] を見つけます。その行を選択し、[Headers] (ヘッダー) タブを表示します。
-
エンコードされたリクエストを含む [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
デコードされたファイルの値を確認する
デコードされた SAML レスポンスファイルの値を確認します。
-
saml:NameID 属性の値が認証されたユーザーのユーザー名と一致することを確認します。
-
https://aws.amazon.com/SAML/Attributes/Role の値を確認します。ARN と SAML プロバイダーでは大文字と小文字が区別され、ARN はアカウントのリソースと一致する必要があります。
-
https://aws.amazon.com/SAML/Attributes/RoleSessionName の値を確認します。値は、クレームルールの値と一致する必要があります。
-
E メールアドレスまたはアカウント名に属性値を設定する場合は、値が正しいことを確認してください。値は、認証されたユーザーの E メールアドレスまたはアカウント名に対応する必要があります。
エラーをチェックして設定を確認する
値にエラーが含まれているかどうかを確認し、次の設定が正しいことを確認します。
-
クレームルールは必須要素を満たし、すべての ARN が正しい。詳細については、「証明書利用者の信頼およびクレームの追加によって SAML 2.0 IdP を設定する」を参照してください。
-
IdP から最新のメタデータファイルを SAML プロバイダーで AWS にアップロードしました。詳細については、「SAML 2.0 フェデレーティッドユーザーが AWS Management Consoleにアクセス可能にする」を参照してください。
-
IAM ロールの信頼ポリシーを正しく設定しました。詳細については、「ロールを引き受けるための各種方法」を参照してください。