Microsoft 365でサードパーティ製アプリや自社開発アプリを利用しようとした際、本来表示されるべきGraph APIの同意画面が突然出なくなった、というトラブルは少なくありません。この現象は、ユーザーが権限付与を求められないままアプリが動作しない、あるいはエラーが発生する原因となります。多くの場合、原因はテナント全体の管理者設定、個別のユーザー設定、またはアプリケーションの登録状態のいずれかにあります。本記事では、Graph APIアプリの同意画面が出ない原因を特定し、管理者承認の確認手順を具体的に解説します。会社のパソコンで勝手に変更すべきでない設定や、管理者に相談すべきポイントも併せて紹介するため、トラブルシューティングの初動に役立ててください。
【要点】この記事で確認すること
- 最初に見る場所: Microsoft Entra管理センターの「エンタープライズアプリケーション」→「ユーザー設定」で、ユーザーによるアプリ同意が許可されているか確認する。
- 切り分けの軸: 端末側の問題か、アカウントの権限不足か、管理者設定によるブロックか、アプリの登録ミスかを順に切り分ける。
- 注意点: 会社PCでは管理者がテナント全体の同意設定を制御している場合がほとんど。ユーザー側で同意設定を変更しようとしても権限がないか、変更後に予期せぬセキュリティリスクが生じるため、まずは管理者に確認を依頼する。
ADVERTISEMENT
目次
同意画面が出ない原因を切り分ける3つの軸
同意画面が表示されない原因は大きく分けて、管理者設定、ユーザー権限、アプリケーション登録の3つに分類できます。それぞれの特徴を把握することで、どの方向に調査を進めるべきか明確になります。
1. テナント全体の同意設定によるブロック
Microsoft 365の管理者は、テナント全体のユーザー同意設定を制御できます。具体的には、ユーザーがアプリに同意できるかどうか、またどの権限まで許可するかをポリシーで設定しています。この設定が「ユーザー同意を許可しない」になっている場合、ユーザーは同意画面自体を表示できません。管理者が「管理者のみ同意可能」と設定しているケースも多く、その場合はエンドユーザーがいくら操作しても同意画面は出ません。
2. 個別ユーザーの権限不足
テナント全体の設定でユーザー同意が許可されていても、特定のユーザーアカウントに「アプリへの同意」を許可するロールが割り当てられていない場合があります。通常、グローバル管理者やアプリケーション管理者などのロールがなければ、管理者同意が必要な高い権限(例:Mail.ReadWrite.All)を承認できません。また、ユーザー自身が「自分の代わりに同意を行う」権限を持っていないと、同意画面がスキップされたりエラーになったりすることがあります。
3. アプリケーションの登録不備
アプリケーション自体のAzure AD登録に問題がある場合も、同意画面が正常に表示されません。例えば、リダイレクトURI(返却URL)の設定ミス、必要なAPIアクセス許可が正しく構成されていない、アプリケーションがマルチテナント対応でないなどが原因です。特に、シングルテナントアプリを別のテナントで使用しようとすると、同意画面が表示されずにアクセス拒否されます。このケースは開発者側の設定ミスが多いため、管理者もしくは開発者と連携して確認する必要があります。
管理者承認の確認手順(管理者向け)
ここでは、管理者がテナント全体または特定のアプリに対して同意設定を確認・変更する手順を説明します。エンドユーザーの方は、このセクションを管理者に共有する形でご利用ください。
- Microsoft Entra管理センターにサインイン – グローバル管理者、またはアプリケーション管理者の権限を持つアカウントで https://entra.microsoft.com にアクセスします。
- 「エンタープライズアプリケーション」を開く – 左メニューから「エンタープライズアプリケーション」を選択し、次に「ユーザー設定」をクリックします。
- 「エンドユーザーによるアプリの同意」を確認 – 「ユーザーはアプリが組織のデータにアクセスすることに同意できますか?」という項目が「いいえ」になっていないかを確認します。「いいえ」の場合はユーザー同意が無効になっているため、同意画面は出ません。必要に応じて「はい」に変更しますが、セキュリティポリシーから変更できない場合は別途管理者同意を付与する方法を検討します。
- 「管理者の同意リクエスト」設定を確認 – 同じ画面の「管理者の同意リクエスト」セクションで、「ユーザーが管理者の同意を要求できるようにする」が有効になっているか確認します。これが無効だと、ユーザーが同意を要求することもできません。
- 特定アプリの管理者同意を付与する – 問題のアプリに対して管理者が直接同意を与えるには、「エンタープライズアプリケーション」から該当アプリを選択し、「アクセス許可」→「管理者の同意を付与」を実行します。テナント全体に影響するため、事前に権限の内容を確認してから行います。
ユーザー側でできる一時的な確認
エンドユーザーが管理者に問い合わせる前に、自身のアカウント設定を確認する方法もあります。ただし、会社PCでは変更を加えられない項目もあるため、あくまで情報収集の範囲に留めてください。
- ブラウザのシークレットモードで試す – ブラウザのキャッシュや拡張機能が原因で同意画面がブロックされている可能性があります。シークレットウインドウ(プライベートブラウズ)で再度アプリにアクセスし、同意画面が表示されるか確認します。
- 別のブラウザまたは端末で試す – EdgeとChromeで動作が異なることがあります。また、スマートフォンなど別の端末から同じアプリにアクセスして同意画面が出るか確認します。
- アプリのURLが正しいか確認 – フィッシングサイトなどではなく、正しいアプリのURLにアクセスしているか確認します。URLが間違っていると同意画面が表示されないことがあります。
- エラーメッセージを記録する – もしエラーコードやメッセージが表示される場合はスクリーンショットを撮り、管理者に伝える材料とします。
状況別:同意画面が出ないときの判断基準
下記の表に、よくあるシナリオとその対処方法をまとめました。自身の状況に該当するものを確認し、次のアクションを判断してください。
| 状況 | 考えられる原因 | ユーザーが取るべき行動 | 管理者が取るべき行動 |
|---|---|---|---|
| アプリ画面が真っ白またはエラー(AADSTS65001など) | ユーザー同意が無効、または管理者同意が必要な権限が未承認 | 管理者に連絡し、エラーコードを伝える | ユーザー同意設定を確認し、必要に応じて管理者同意を付与 |
| 同意画面が一瞬表示されるがすぐに閉じる | ブラウザのポップアップブロック、または拡張機能の干渉 | ポップアップブロックを一時的に無効にして再試行 | 組織のブラウザポリシーを確認し、一時的な例外を許可 |
| 「アクセスが拒否されました」と表示される | アプリがシングルテナントで、別のテナントからアクセスしている | アプリの提供元にテナントIDを伝えてマルチテナント対応を依頼 | アプリの登録設定を確認し、必要ならテナント間の信頼を構成 |
| 特定のユーザーのみ同意画面が出ない | ユーザーのライセンス不足か、条件付きアクセスポリシーによる制限 | 自分のライセンスを確認(例:Exchange Onlineのライセンスがないなど) | 条件付きアクセスポリシーとユーザーの所属グループを確認 |
失敗パターンとその回避方法
実際に現場でよく遭遇する失敗パターンを3つ紹介します。これらを事前に知っておけば、無駄な作業を減らせます。
パターン1:管理者が「すべてのユーザーの同意をオフ」にしているのに気づかず問い合わせる
エンドユーザーが自分で何とかしようと設定画面を探しても、変更できる項目は限られています。結局時間をロスして管理者に連絡する羽目になります。最初から管理者に「ユーザー同意は有効ですか?」と聞くほうが早いでしょう。
パターン2:ブラウザのキャッシュやプロファイルが原因で、同意画面が繰り返し表示される
この逆パターンもありますが、同意画面が出ない原因としても、ブラウザの古いキャッシュが干渉することがあります。シークレットモードで解決するケースが多いので、まずは試してみてください。
パターン3:管理者が同意を付与したつもりが、正しいアプリケーションオブジェクトに付与していない
Azure ADには「アプリの登録」と「エンタープライズアプリケーション(サービスプリンシパル)」の2つの概念があります。管理者同意はサービスプリンシパルに対して行う必要があります。間違ってアプリの登録側で同意操作をしても効果がありません。管理者は、操作対象がどちらなのかを確認してから同意付与を実行してください。
管理者へ確認すべき情報と伝え方
ユーザーが管理者に問い合わせる際、以下の情報を整理して伝えるとスムーズです。また、管理者側でも確認が必要なポイントをまとめました。
ユーザーから管理者へ伝える情報
- 使用しているアプリの名前とURL(正確なURL)
- 事象発生時刻と再現手順
- 表示されるエラーメッセージやエラーコード(例:AADSTS65001、AADSTS9000411など)
- 自分のユーザーID(UPN)とテナント名(例:contoso.onmicrosoft.com)
- シークレットモードや別ブラウザで試した結果
管理者が確認すべき設定箇所
- エンタープライズアプリケーション > ユーザー設定 > 「ユーザーはアプリが組織のデータにアクセスすることに同意できますか?」
- エンタープライズアプリケーション > 該当アプリ > アクセス許可 > 管理者の同意の状態
- Azure AD > アプリの登録 > 該当アプリ > APIのアクセス許可(委任されたアクセス許可とアプリケーションのアクセス許可の両方を確認)
- 条件付きアクセスポリシー(該当アプリやユーザーに適用されているか)
よくある質問(FAQ)
Graph API関連の同意画面トラブルでよく寄せられる質問とその回答をまとめました。
Q1. 同意画面が表示されないけど、管理者に連絡する前に自分で何かできることは?
A. ブラウザのシークレットモードで試す、別のブラウザを試す、ポップアップブロックを解除する、という3点はすぐに試せます。それでもダメなら管理者に連絡しましょう。自分でAzure ADの設定を変更しようとすると権限エラーになるか、設定変更ができても会社のセキュリティポリシーに違反する恐れがあります。
Q2. 管理者同意をしてもらったのに、同じエラーが出続けます。なぜですか?
A. 問題のアプリにアクセスする際に使用しているユーザーアカウントに、必要なライセンスが割り当てられていない可能性があります。例えば、Graph APIでメールを読む権限を付与しても、そのアカウントにExchange Onlineのライセンスがなければ動作しません。また、同意が反映されるまでに数分かかることもあります。しばらく待ってから再度アクセスしてみてください。
Q3. テナント全体のユーザー同意を有効にすると、セキュリティリスクはありますか?
A. はい、リスクがあります。ユーザーが許可するアプリの中には、悪意のあるアプリが含まれる可能性があります。そのため、多くの組織ではユーザー同意を無効にし、管理者だけが同意を行う「管理者同意思決定プロセス」を採用しています。もし業務上都合で有効にする必要がある場合は、Microsoft Entra IDの「アプリ同意ポリシー」を使って、低リスクの権限のみユーザーが同意できるように制限することをおすすめします。
まとめ
Graph APIアプリの同意画面が出ない原因は、テナント全体の同意設定、ユーザーの権限、アプリの登録状態のいずれかにあります。最初にブラウザや端末の基本的な切り分けを行い、それでも解決しない場合は管理者にエラー情報を伝えて設定を確認してもらいましょう。管理者側では、ユーザー同意設定と該当アプリの管理者同意状態をチェックすることがトラブル解決の近道です。同意設定を変更する際はセキュリティへの影響を考慮し、必要に応じてアプリ同意ポリシーを活用してリスクを最小化することをおすすめします。
ADVERTISEMENT
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
