はじめに
こんにちは!最近チゲ鍋にハマっている Identity チームのすかんくです。
今回はよくあるお問い合わせシリーズとして、Graph API に関する内容をお届けしたいと思います。
お問い合わせ内容
- Graph Exploler 等を用いて Graph API を実行した際、
"message": "Insufficient privileges to complete the operation."
や、"message": "Encountered an internal server error."
といったエラーメッセージが表示され、実行に失敗する。
ドキュメントに記載されているアクセス許可スコープは間違いなく付与しており、何故このようなメッセージが表示されるのか分からない。
- 例:Microsoft ID プラットフォームでの構成可能なトークンの有効期間 (プレビュー) をGraph API経由で
"isOrganitzationDefault" : True
に設定する場合
回答
- Graph API では一部の操作を実行する際、Entra ID 上のロール情報を参照するケースがございます。グローバル管理者を持ったユーザーで再度お試しください。
補足
① Microsoft Graph のアクセス許可のリファレンスを参照することで、API 操作に必要なアクセス許可スコープごとにサインインユーザーで必要なロールを確認いただくことが可能です。ただし、弊社の過去事例として記載漏れもあることを確認しておりますので参考程度にご活用いただくのが良いと考えます。
② "message": "Encountered an internal server error."
については異なる問題で出力されたエラーメッセージである場合がございます。グローバル管理者ロールの付与で事象が解決されない場合は、別途原因の切り分けを実施いただければと思います。
③ Entra ID のカスタムセキュリティ属性等、一部機能における操作に関してはグローバル管理者では権限が不足する場合がございますので、追加のロール付与が必要となるケースもございます。
終わりに
あくまで個人的な意見として API 体系として一貫性を持たないのはモヤっとする所ではありますが、アクセス許可の付与スコープを誤ってしまった際のストッパー機能として、この制約の存在価値を感じるので一長一短だなと思いました。
この記事がどなたかの役に立ちますと幸いです、ではまた!