はじめに
Graph API をアプリケーション許可権限で実行すると、管理者がテナント全体に渡る情報を取得したり、変更することができます。
この記事では、アプリケーション許可権限で Graph API を実行するために必要な事前準備についてまとめました。
1. 事前準備
アプリケーション許可権限 で Graph API を実行するには、以下の事前準備が必要です。
- Entra ID へのアプリケーションの登録
- Graph API を実行するプログラムの準備
1.1 Entra ID へのアプリケーションの登録
Entra ID へのアプリケーションの登録は、管理者ロールが割り当てられていない一般ユーザーでも行うことができます。
Graph API を実行する際には Entra ID アプリケーションにアクセス許可を追加する必要があります。アクセス許可の追加は管理者で行う必要があります。
- Entra ID 管理センターから [アプリケーション] - [アプリの登録] - [+新規登録] をクリックします
-
[名前] に任意の名前を入力して [保存] をクリックします
- 作成したアプリケーションの [証明書とシークレット] - [+新しいクライアント シークレット] をクリックします
-
[追加] ボタンをクリックします
- 追加されたシークレットの [値] 列をコピーボタンからコピーし、控えておきます
-
[概要] タブから [アプリケーション(クライアント) ID] と [ディレクトリ(テナント) ID] をコピーし、控えておきます
次の手順で以下の情報を使用します。
- アプリケーション(クライアント) ID
- ディレクトリ(テナント) ID
- クライアント シークレット
追加したクライアントシークレットは、ブラウザのページを更新すると、以降 Entra ID 管理センターから確認することができなくなります。
値が分からなくなった場合には、古いクライアントシークレットを削除して、再度作成します。
1.2 Graph API を実行するプログラムの準備
Graph API を実行するプログラムは、公開されている既存のプログラムや、自身で作成したプログラムなど何でも構いません。
公開されているプログラムを利用する場合には Postman が良く使われます。公開情報にある Microsoft Graph Postman コレクションを利用すると Graph API を簡単に実行することができます。
(参考:Microsoft Graph API で Postman を使用する)
https://learn.microsoft.com/ja-jp/graph/use-postman
しかし、Postman は SaaS アプリケーションのため、利用するためにはアカウントの作成が必須となります。組織によっては、Postman のような Saas アプリケーションの利用が制限されている場合もあると思いますので、ここでは Hoppscotch を利用して Graph API を実行してみます。
Hoppscotch は Postman とよく似ていますが、アカウントを作成することなくローカルの環境だけで利用することができます。Microsoft Graph Postman コレクションも利用できます。
1.2.1 Hoppscotch のインストール
-
ダウンロードページ からインストーラをダウンロードしてインストールします
- インストールが完了すると Hoppscotch が開きます
- 更新を促すダイアログが表示されたら [Later] をクリックします
- 初期画面が表示されます
1.2.2 Microsoft Graph Postman コレクションのインポート
- 以下の 2 つのファイルを右クリックして [名前を付けて保存] します
Microsoft Graph.postman_collection.json
M365 Environment.postman_environment.json
※ Microsoft Graph Postman コレクションの JSON ファイルです。 - Hoppscotch の右上のフォルダのアイコンから [インポート] をクリックします
- [Postmanからインポート] をクリックします
- [ファイルの選択] から Microsoft Graph.postman_collection.json を選択しインポートします
-
Microsoft Graph などのフォルダが追加されたことを確認します
- フォルダの 1 つ下のアイコンをクリックします
- [Postmanからインポート] をクリックします
- [ファイルの選択] から M365 Environment.postman_environment.json を選択しインポートします
-
M365 Environment が追加されたことを確認します
1.2.3 Entra ID アプリケーションの情報を設定
-
[M365 Environment] の [編集] をクリックします
-
[ClientID] と [TenantID] の値をすべて削除して Entra ID に登録したアプリケーションの値に置き換えます
-
[Secrets] タブをクリックして、[ClientSecret] の値をすべて削除して Entra ID に登録したアプリケーションの値に置き換えます
- 中央の [環境変数を選択] プルダウンから [M365 Environment] を選択します
1.2.4 アクセストークンの取得
- フォルダのアイコンから [Application] フォルダを右クリックし [Properties] をクリックします
-
[Grant Type] を "Client Credentials" に変更します
-
https://login.microsoftonline.com/~ で始まる URL の末尾を "token" に変更し、[Client Secret] の行に "<<ClientSecret>>" と入力します
[トークンを生成] をクリックします
-
[Token fetched successfully] と表示されることを確認して、[保存] をクリックします
※ 上部に表示される ey... のような文字列がアクセストークンです。
-
[Collection Properties Updated] と表示されることを確認します
アクセストークンは、プログラムが組織の Entra ID に登録されたアプリケーションであることを示す許可証のようなものです。プログラムはアクセストークンによって Graph API へアクセスできるようになります。
アクセストークンには有効期限があり、既定では 1 時間です。有効期限が切れた場合には、手順 3 の [トークン生成] からアクセストークンを再度取得して [保存] します。
(参考:手順 3: アクセス トークンを要求する)
https://learn.microsoft.com/ja-jp/graph/auth-v2-service?tabs=http#step-3-request-an-access-token
次の記事
ここまでの手順でアクセストークンが取得できれば、Graph API が実行できるようになります。以下の記事に続きます。