【Salesforce】SAML SSOエラー4選と原因・対処まとめ(IAM試験対策)
はじめに
SalesforceでSAML SSOを設定していると、テスト時や本番運用で以下のエラーに遭遇することがあります。
Replay Detected(リプレイ検知)Assertion Invalid(アサーション不正)Signature Invalid(署名不正)Subject Confirmation Error(ユーザー確認エラー)
本記事では、エラー → 原因 → 対処をセットで整理します。
✅ まずは結論(ここだけ覚える)
| エラー | 日本語訳 | 原因 | 対処 |
|---|---|---|---|
| Replay Detected | リプレイ検知 | Assertion ID再利用 | IDをユニークにする |
| Assertion Invalid | アサーション不正 | SAML構造不正 | Subject等を含める |
| Signature Invalid | 署名不正 | 証明書不一致 | 正しい証明書設定 |
| Subject Confirmation Error | ユーザー確認エラー | ユーザー不一致 | NameIDを一致させる |
🔴 Replay Detected(リプレイ検知)
■ 意味
同じアサーションが再利用された(リプレイ攻撃としてブロック)
■ 原因
- Assertion ID が重複している
- 同じSAMLレスポンスを再送している
■ 対処
- IdP側で毎回ユニークな Assertion ID を生成する
- テスト時にレスポンスを使い回さない
💡 実務ポイント
テスト時に最も発生しやすいエラー
🔴 Assertion Invalid(アサーション不正)
■ 意味
SAMLアサーションの構造が不正
■ 原因
-
<Subject>要素が存在しない - NameIDなど必須要素が不足
■ 対処
- Subject を必ず含める
- SAML仕様に準拠したアサーションを生成する
💡 試験ポイント
「構造不正」= Assertion Invalid
🔴 Signature Invalid(署名不正)
■ 意味
署名の検証に失敗
■ 原因
- 証明書が一致していない
- IdPとSalesforceの証明書設定が不一致
- 証明書の有効期限切れ
■ 対処
- 正しい証明書をSalesforceにアップロード
- IdP側の署名設定を確認
- 証明書の有効期限を確認
💡 実務ポイント
証明書更新タイミングで発生しやすい
🔴 Subject Confirmation Error(ユーザー確認エラー)
■ 意味
ユーザーの特定に失敗
■ 原因
- NameID がSalesforceユーザーと一致しない
- NameID Format が不正
■ 対処
- NameID を
UsernameまたはFederation IDに一致させる - NameID Format を正しく設定
💡 設計ポイント
ユーザー識別ロジックの設計ミスが原因
🧠 暗記用(IAM試験対策)
- Replay = ID再利用
- Assertion = 構造不正
- Signature = 証明書
- Subject = ユーザー不一致
🔍 よくある間違い
| 間違い | 正しくは |
|---|---|
| Subject不一致 → Assertion Invalid | ❌ |
| → Subject Confirmation Error | ✅ |
💡 実務での優先切り分け順
- Replay Detected → ID使い回し確認
- Signature Invalid → 証明書確認
- Assertion Invalid → XML構造確認
- Subject → ユーザー紐付け確認
参考(公式)