アプリ権限・資格情報の棚卸し

アプリの権限・資格情報の棚卸し ― 特権昇格と突然の失効を防ぐ

Microsoft Entra ID に登録された自動化アプリ・API 連携アプリには、強力な Microsoft Graph 権限と、期限付きのクライアントシークレットが紐づいています。放置された「権限を配れる権限」は特権昇格の踏み台に、失効したシークレットは業務停止の引き金になります。読み取り専用の権限だけで始められる棚卸しの進め方と、再発させない仕組みづくりを解説します。

なぜ「アプリの棚卸し」が必要か

リスク 1

特権昇格の踏み台

自動化アプリに付与された Graph 権限のうち、AppRoleAssignment.ReadWrite.All のような「権限を配れる権限」を持つアプリは、自身や他のアプリ・ユーザーに追加権限を付与でき、テナント全体への到達経路を作られてしまう恐れがあります。危険なのはデータの読み取りより「権限を配布できる能力」です。

リスク 2

突然のシークレット失効

クライアントシークレットの期限が切れた瞬間、そのアプリを使うバッチ・API 連携・自動化は認証エラー(AADSTS7000222)で一斉に停止します。標準の通知メールは Microsoft Entra Workload ID ライセンスが前提で、該当ロールの保持者がいなければ送信されず、失効が「事故」として繰り返されがちです。

共通する解決アプローチ: どちらも、読み取り専用スコープ Application.Read.All の Microsoft Graph PowerShell だけで現状を一覧化できます。特別な特権ロールがなくても「まず見える化」から始められるのがポイントです。

危険な Graph アプリ権限の4分類

棚卸しで優先的にチェックすべき権限は、次の4つのカテゴリに整理できます。

分類代表的な権限何ができてしまうか
① 権限を配れるAppRoleAssignment.ReadWrite.All
EntitlementManagement.ReadWrite.All
自身・他のアプリ・任意のユーザーに追加権限を付与でき、特権昇格の起点になり得る
② ロールを操作できるRoleManagement.ReadWrite.Directoryディレクトリロールの割り当てを操作できる
③ 資格情報・なりすましApplication.ReadWrite.All
(範囲を絞るなら Application.ReadWrite.OwnedBy
他アプリにシークレットを追加するなど、なりすましの経路になり得る
④ 広域ディレクトリDirectory.ReadWrite.All
Directory.Read.All
ディレクトリ全体の広範な読み書き・読み取り

棚卸しの進め方

権限とシークレット、どちらの棚卸しも Microsoft Graph PowerShell の読み取り専用スコープで実施できます。

1

現状の一覧化(読み取り専用)

Application.Read.All スコープで、Microsoft Graph のサービスプリンシパルへのアプリロール割り当てを走査して危険権限を持つアプリを抽出。あわせてテナント内全アプリのシークレット・証明書の有効期限を一覧化します。

2

優先度付け

権限は上記4分類に該当するものを重点的に確認し、資格情報は「期限の近さ」「業務影響」「期限の長さ」「シークレットの本数」の観点で整理して、対応の優先順位を付けます。

3

是正

不要権限の削除・広すぎる権限の縮小(例:Application.ReadWrite.AllApplication.ReadWrite.OwnedBy)、期限が近いシークレットの計画的な更新・整理を進めます。

人手レビューのライン: Microsoft Graph/Azure AD Graph のアプリケーション権限は、Application Administrator(や Cloud Application Administrator)では承認できず、Privileged Role Administrator など上位の管理者による承認が必要です。Entra ID のこの仕様上の関門を「必ず人がレビューするライン」として運用に組み込むのが有効です。

再発させない仕組みづくり

「既存分は棚卸しで是正、新規分はポリシーで作らせない」という役割分担で、事故と危険権限の再発を防ぎます。

シークレットレス

マネージド ID への移行

Azure 上で動く処理は、シークレット管理そのものが不要なマネージド ID へ移行することで、失効事故の根本原因を取り除けます。

シークレットレス

フェデレーション資格情報

Azure 外(GitHub Actions など)からのアクセスは、ワークロード ID フェデレーションを利用することで長期シークレットの保管を避けられます。

予防

アプリケーション管理ポリシー

新規のアプリ登録に対しては、アプリケーション管理ポリシーで長すぎる有効期限のシークレットを作らせないよう制限をかけられます。

統制

付与ルールの明文化

危険権限の申請時は上位管理者の承認を必須とする運用ルールを整備し、「見つけて、増やさない」状態を維持します。

継続的な統制はアクセスレビューと組み合わせて

棚卸しは一度やって終わりではなく、定期的に回すことで効果を発揮します。ユーザーやゲストのアクセス権については、Microsoft Entra ID Governance のアクセスレビューを使うことで、定期棚卸しの通知・実施・結果適用までを仕組み化できます。アプリ権限・資格情報の棚卸しと組み合わせることで、テナント全体の「置き去りにされた権限」を継続的に統制できます。

参考記事(QES ブログ)

本ページは当社エンジニアによる以下の解説記事をまとめたものです。棚卸しの具体的な手順・コマンドは各記事をご覧ください。

関連トピック

← Entra ID Governance トップへ戻る

ID ガバナンス・棚卸しのご相談は QUICK E-Solutions へ

Microsoft Entra ID を中心とした権限管理・ID 統制の設計から運用定着まで、経験豊富なエンジニアがご支援します。

相談する →