Hello there, ('ω')ノ
シングルサインオン(SSO)とは?
- 一度ログインすれば、他の関連システムにも自動ログインできる仕組み
- たとえば: 勤怠システム → 経費精算システム → 社内ポータル すべて同じアカウント情報で使える状態
主にSAMLやOAuth、OpenID Connectといった方式で実装されています。
なぜ設定ミスが問題になるのか?
- 不正ログインがあった場合、他のシステムまで影響する
- ログアウトしてもログイン状態が残り続ける
- 本来許可されていないユーザーもアクセスできてしまう
実際のチェック手順① ログイン・ログアウト動作確認
- SSO対応システムにログイン
- 別の関連システムに自動ログインできるか確認
- 片方だけログアウト → もう片方もログアウトされたか確認
✅ 観察ポイント:
- 片方だけログアウトできてしまう場合 → セッション管理の問題
- ログアウト後もキャッシュなしでアクセスできる場合 → 設定ミス
実際のチェック手順② 不正なトークンやIDを試す
- 開発者ツール(F12)→ Applicationタブ
- Cookie や Local Storage 内のトークンを確認
例:id_token、access_token など
- これらを削除または改ざんし、システムに再アクセス
✅ 結果:
- そのままアクセスできてしまう → SSO設定ミスの可能性
- エラーやログイン画面に戻る → 正常
実際のチェック手順③ ユーザー権限の範囲確認
SSOでは認証と権限が分かれていることがあります。
- 一般社員IDで管理画面にアクセスできてしまわないか?
- 他部署向けシステムに誤って入れてしまわないか?
権限管理ミスもSSO設定確認の一環です。
チェックリストまとめ
- [ ] SSOログイン・ログアウト動作が一貫しているか?
- [ ] Cookieやトークンを削除・改ざんしてもログイン状態が維持されないか?
- [ ] 権限なしのユーザーでも本来使えないシステムにアクセスできてしまわないか?
- [ ] 本番環境で試す場合は必ず許可を取ったか?
注意事項
- SSOは認証だけでなく認可(権限)もセットで確認すること
- 本番環境でのテストは業務時間外やテスト用アカウントを活用
- IDやパスワードの取り扱いにも細心の注意が必要
まとめ
- SSOは便利な分、設定ミスが大きなリスクにつながる
- ログイン・ログアウト、トークン管理、権限管理をセットで確認
- 非エンジニアでも動作確認ベースで十分チェック可能
Best regards, (^^ゞ