SAMLトラブルシュート&チェックリスト
よくある失敗パターンを素早く切り分けるためのリストです。ログとメタデータを照合しながら、順に潰していきましょう。
⏱️ 時刻ずれ
時刻がずれていると有効期間(NotBefore/NotOnOrAfter)を満たせず、署名が正しくても無効扱いになります。
チェックポイント
- NTP同期が取れているか(IdP/SP両方)
- タイムゾーン設定が想定通りか
- NotBefore / NotOnOrAfter の値をログで確認
🎯 Audience / ACS ミスマッチ
レスポンスが別のSP向けとみなされ、正当な受信者ではないため拒否されます。
チェックポイント
- Audience がSP想定のEntityIDと一致しているか
- AssertionConsumerService のURLとBindingがメタデータと一致しているか
- 環境別URL(本番/検証)を取り違えていないか
🔗 Binding/圧縮設定のずれ
送信方法や圧縮有無が合わないと、メッセージ展開・署名検証に失敗します。
チェックポイント
- Redirect/POST/Artifact の組み合わせが両者で一致しているか
- Redirect時のDeflate圧縮有無が一致しているか
- 署名の要否がIdP/SPでずれていないか
🧯 HTTP 400 / 500 系エラー
メッセージの破損や署名エラー、誤ったエンドポイントなどでリクエストが処理できず、4xx/5xxが返されます。
チェックポイント
- Base64デコード/Deflate展開の失敗がログに出ていないか
- 証明書の期限切れや不一致エラーがないか
- 想定外のエンドポイントに送っていないか(URL typo)