この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。Microsoft Graphのapp-only認証公式資料を確認し、旧記事の内部メタ情報、未計測のトークン取得時間、資格情報の扱いに関する説明を整理しました。検証ステータス:✅ Microsoft公式認証仕様確認済み
バックグラウンド処理や定期バッチからMicrosoft Graphを呼ぶ場合、ユーザーのサインインを必要としないClient Credentials Flowを使えます。Microsoft Graphではapp-only accessとして説明されています。
必要な構成
- Microsoft Entra IDのアプリ登録
- アプリケーションIDとテナントID
- 必要なMicrosoft Graph Application permission
- 管理者同意
- 安全に保管されたアプリ資格情報
.defaultの意味
Microsoft Graphのapp-only認証では、トークン要求時のscopeにhttps://graph.microsoft.com/.defaultを指定します。これは、アプリに事前設定され、管理者同意されたアプリケーション権限を使う指定です。
権限は最小限にする
Client Credentials Flowでは、サインイン中のユーザー権限ではなく、アプリへ付与されたApplication permissionで動作します。読み取りだけでよい処理へ書き込み権限を付けないなど、APIごとに必要最小限へ絞ります。
資格情報をスクリプトへ埋め込まない
資格情報をコードやGitリポジトリへ直接保存しないことが重要です。Azure上で実行するならManaged Identity、その他の環境では証明書や組織の秘密情報管理基盤などを比較します。
運用で確認すること
- アプリへ付与した権限一覧を定期確認する。
- 不要になった資格情報を失効する。
- トークン取得失敗とAPI呼び出し失敗を別ログにする。
- 長時間処理ではアクセストークンの期限切れを前提に再取得する。
公式情報
この記事の更新履歴
- 2026-09-14 追加:.default、Application permission、管理者同意の関係を追加。
- 2026-09-14 変更:資格情報の文字列処理中心から、権限設計と安全な保管中心へ再構成。
- 2026-09-14 削除:内部メタ情報、本文H1、200〜500msという未計測性能値を削除。

