メインコンテンツへスキップ
SaaS権限棚卸しの進め方 ─ 退職者・OAuth・外部共有を見落とさない実務手順
チュートリアル 中級

SaaS権限棚卸しの進め方 ─ 退職者・OAuth・外部共有を見落とさない実務手順

チュートリアル 中級

SaaS権限棚卸しを、管理者ロール、退職者アカウント、OAuth同意、外部共有、APIトークンの観点で整理。初回30日の進め方と優先順位を解説する。

SaaS権限棚卸しは「ユーザー一覧の確認」だけでは足りない

SaaS権限棚卸しというと、Microsoft 365、Google Workspace、Slack、GitHub、Notion、Salesforce などの管理画面からユーザー一覧を出し、退職者が残っていないか確認する作業を想像しやすい。もちろん、それは必要だ。しかし実務で事故につながるのは、ユーザー一覧にきれいに載っている権限だけではない。

見落としやすいのは、外部ゲスト、共有リンク、管理者ロール、OAuth同意済みアプリ、APIトークン、Webhook、Bot、SSO対象外の部門契約SaaSだ。これらは正規の認可経路で動くため、攻撃者が「不正アクセスらしい通信」をしなくても、データへ触れ続けられる場合がある。

この記事では、SaaS権限棚卸しを初めて設計する情シス、CSIRT、開発組織の管理者向けに、確認順序、優先順位、初回30日の進め方を整理する。実際の作業表として使う場合は、SaaS権限棚卸しチェックリスト と併用してほしい。

この記事の前提

この記事は、防御・教育・運用改善を目的にしたSaaS権限棚卸しの進め方を扱う。特定サービスの管理画面手順は変更されるため、画面操作の細部ではなく、どの権限をどの順番で確認するかに焦点を置く。


まず棚卸し対象を「人・アプリ・共有・鍵」に分ける

棚卸しを始める前に、対象を4つに分ける。人だけを見ると、外部アプリや共有リンクが抜ける。アプリだけを見ると、退職者や委託先の残存権限が抜ける。最初から分けておくと、担当者が変わっても確認漏れを減らしやすい。

対象代表例見落とすと起きること
社員、退職者、異動者、委託先、外部ゲスト退職後の閲覧、不要な管理権限、外部コラボレーター経由のアクセス
アプリOAuth連携、Marketplaceアプリ、Bot、Webhook正規の同意済み権限でメールやファイルへアクセスされる
共有外部共有リンク、共有ドライブ、チャンネル、公開ページ「リンクを知っている全員」への意図しない公開
APIトークン、Deploy Key、アプリパスワード、長期シークレット利用者を無効化しても自動化経路が残る

ここで重要なのは、SaaSごとに同じ名前の権限が存在しない点だ。あるサービスでは「オーナー」、別のサービスでは「管理者」「共同管理者」「請求管理者」「ワークスペース管理者」と呼ばれる。名称をそろえようとするより、何ができる権限かで分類する方が実務に合う。


高リスクから見る:管理者、外部公開、継続アクセス

すべてのSaaSを同じ深さで確認しようとすると、初回の棚卸しは止まる。最初はリスクの大きい順に見る。優先度を決める軸は、管理者権限、機密データ、外部公開、継続アクセス、未利用状態の5つだ。

優先軸優先して見る条件理由
管理者権限全社設定、ユーザー追加、監査ログ閲覧、請求設定ができる1アカウントの侵害が全体設定変更へ広がる
機密データ顧客情報、契約、ソースコード、財務、人事情報を扱う漏えい時の影響説明と通知判断が重くなる
外部公開外部ゲスト、公開リンク、共有ワークスペースが多い正規機能のままデータ出口になりやすい
継続アクセスOAuthアプリ、APIトークン、Webhook、Botがあるパスワード変更だけでは止まらない場合がある
未利用状態長期未ログイン、所有者不明、退職者・異動者の残存誰も見ていない権限が攻撃者の足場になる

たとえば、全社員が使うチャットSaaSより、利用者が少なくても管理者APIと顧客データに触れる営業支援SaaSの方が先に見るべき場合がある。利用者数だけで優先順位を決めないことが大切だ。

SSO連携だけで安心しない

IdPでアカウントを無効化しても、SSO対象外の個別ID、外部ゲスト、OAuth同意、APIトークン、共有リンクは別管理になっていることがある。SaaS棚卸しでは「ログインできるか」だけでなく「データへ触れる経路が残っていないか」を見る。


OAuth同意と外部アプリは別枠で確認する

SaaS権限棚卸しで特に抜けやすいのが、OAuth同意済みアプリだ。ユーザーが正規の同意画面で許可したアプリは、パスワードを盗まなくても、メール、ファイル、カレンダー、連絡先、管理APIへアクセスできる場合がある。これは OAuth同意フィッシング で整理した通り、MFAだけでは閉じにくい領域だ。

外部アプリを見るときは、アプリ名ではなく、要求権限と利用実態を見る。便利そうなアプリ名でも、必要以上のスコープを要求していればリスクは高い。

確認項目見るポイント
発行者検証済み発行者か、社内開発アプリか、所有部門が説明できるか
権限範囲メール読取、ファイル読取、管理API、オフラインアクセスが含まれるか
利用者数少数利用なのに広い権限を持っていないか
最終利用長期間使われていないのに権限だけ残っていないか
承認経路管理者同意、申請、期限、棚卸し履歴が残っているか

ここで雑に「不明アプリは全部削除」とすると、業務自動化や部門の重要ツールを壊すことがある。実務では、所有者不明、高権限、長期未利用の3条件が重なるものから無効化候補にする。継続利用が必要な場合も、所有者、目的、期限、要求権限の妥当性を記録する。


退職者・異動者は「アカウント停止後」まで見る

退職者対応は、人事イベントとしては終わっていても、SaaS上では終わっていないことがある。IdPのユーザーが無効化されても、外部コラボレーター、個別契約SaaS、共有アカウント、メール転送、Webhook、APIトークン、GitHub Deploy Key が残る場合がある。

確認対象は、本人アカウントだけではない。退職者が所有していたワークスペース、共有フォルダ、Bot、Webhook、リポジトリ、定期実行ジョブ、請求管理、ドメイン管理も見る。特に開発組織では、個人が作った自動化が本番運用に組み込まれていることがある。

対象確認すること
SaaSアカウント退職者、異動者、長期休職者、委託終了者が残っていないか
所有物共有ドライブ、リポジトリ、Bot、Webhook、ダッシュボードの所有者
転送・代理メール転送、代理送信、共有メールボックス、カレンダー委任
鍵・トークン個人発行のAPIトークン、SSH鍵、Deploy Key、アプリパスワード
外部権限取引先SaaS、外部ワークスペース、ゲスト招待

退職処理の実務チェックには 退職者アカウント確認チェックリスト を使うとよい。棚卸しで見つかった残存権限は「削除済み」「移管済み」「期限付き維持」「要確認」に分け、判断理由を残す。あとから説明できない削除や放置を作らないためだ。


初回30日は「完璧な台帳」より「危険な残存権限の除去」を優先する

初回のSaaS権限棚卸しでありがちな失敗は、台帳を完璧に作ろうとして、実際の権限削除が後回しになることだ。最初の目的は、きれいな管理表ではなく、説明できない高リスク権限を減らすことに置く。

期間やること完了条件
1週目主要SaaSを10〜20件に絞り、管理者・所有者・データ種別を洗い出す誰が管理しているか分からないSaaSを可視化する
2週目管理者ロール、外部ゲスト、OAuthアプリ、共有リンクを抽出する高リスク権限の候補リストを作る
3週目所有部門へ確認し、削除・維持・期限付き保留を判断する不明な高権限アプリと退職者権限を減らす
4週目申請、承認、棚卸し周期、例外期限を決める次回も同じ観点で確認できる状態にする

この30日計画では、全SaaSを網羅できなくてもよい。むしろ、顧客データ、ソースコード、メール、ファイル共有、管理者APIへ触れるSaaSに集中する方が成果が出やすい。ゼロトラストの考え方と同じで、最初から全員を信頼するのではなく、重要なアクセスほど継続的に検証する。

関連する設計思想は ゼロトラストアーキテクチャ でも扱っている。SaaS棚卸しは、抽象的なゼロトラストを「誰が、何に、どの権限で、いつまでアクセスできるか」という運用に落とす作業だ。


よくある失敗:CSVを出して終わる、削除だけ急ぐ、例外を放置する

SaaS権限棚卸しは、手順そのものより運用の継続が難しい。よくある失敗は3つある。

1つ目は、CSVを出して満足することだ。ユーザー一覧を出力しても、外部アプリ、共有リンク、APIトークン、Webhook、監査ログを見なければ、実際のアクセス経路は残る。CSVは材料であって、棚卸しの完了条件ではない。

2つ目は、削除だけを急ぐことだ。所有者確認なしに外部アプリやBotを止めると、請求、通知、監査、営業活動、デプロイが止まる場合がある。危険度が高いものは止めるべきだが、業務影響を判断できる情報も同時に集める。

3つ目は、例外を期限なしで残すことだ。「このSaaSだけはSSO非対応」「この委託先だけは共有アカウント」「このBotだけは管理者権限」という例外は、発生自体よりも期限がないことが問題になる。例外には所有者、理由、期限、次回レビュー日を必ず付ける。

棚卸し結果はチケット化する

スプレッドシートだけで管理すると、誰がいつ判断したかが曖昧になりやすい。削除、維持、期限付き保留、追加調査をチケット化し、証跡を残すと次回レビューが楽になる。


まとめ:SaaS権限は「便利な連携」ではなくデータ出口として見る

SaaS権限棚卸しは、ユーザー一覧を眺める作業ではない。退職者、外部ゲスト、OAuth同意、共有リンク、APIトークン、管理者ロールを分けて確認し、説明できない高リスク権限から減らしていく運用だ。

最初から完璧な台帳を作る必要はない。まずは主要SaaSを絞り、管理者権限、外部公開、継続アクセス、長期未利用を優先して見る。30日で危険な残存権限を減らし、その後に申請・承認・期限付き例外・四半期レビューへつなげる。

次に実務へ落とすなら、SaaS権限棚卸しチェックリスト で確認項目を作業化し、OAuth同意フィッシング で外部アプリのリスクを理解する。基本概念を整理したい場合は、認証と認可の違い最小権限の原則 を合わせて確認すると、棚卸し時の判断がぶれにくくなる。

ESC