はじめに
この記事ではGraph APIをPowershellで実行するための事前準備「アプリの作成」について説明します。
手順の中で作成するアプリは、PIM(Privileged Identity Management)の処理を実行するために作成しています。
権限の設定を変更すれば別の処理にも応用できます。
本記事の読者層は下記を想定しています。
- Azure ADを管理している人
- Graph APIで一括処理を実行したい人
- Graph APIをPowerShellで実行したい人
アプリの登録
Ⅰ.アプリの新規登録
Azure Portal (https://portal.azure.com) にアクセスし、Azure Active Directoryの「アプリの登録」から「新規登録」を選択します。

アプリケーションの登録画面に遷移します。
任意の名前を指定して登録します。名前以外はデフォルト値で良いです。
入力が完了したら登録ボタンを押下します。

Ⅱ.アプリの認証設定
Ⅰで実施したアプリケーションの登録が完了すると、アプリケーションの「概要」画面が表示されます。
もしアプリケーションの概要画面にアクセスできなかった場合は、Azure Portalにアクセスしなおして、Azure Active Directoryの「アプリの登録」に遷移します。
アプリの登録画面にⅠで登録したアプリケーション名が表示されますので、アプリ名をクリックしてください。
サイドメニューから「認証」画面に移動し、プラットフォーム構成にある
「+プラットフォームの追加」をクリックします。

画面右側にプラットフォーム構成の選択画面が表示されます。
「モバイルアプリケーションとデスクトップアプリケーション」をクリックします。

デスクトップとデバイスの構成画面が表示されます。
msalから始まるリダイレクトURIにチェックを入れ、「構成」ボタンを押下したら認証設定は完了です。
ここで表示されているリダイレクトURIはアプリ利用時に必要な情報となるため、メモ等にコピーしておいてください。

Ⅲ.アプリのアクセス許可設定
アプリケーションのサイドメニュー「API のアクセス許可」の「+アクセス許可の追加」をクリックします。

APIの一覧が画面右側に表示されるため、その中から「Microsoft Graph」を探してクリックします。

「委任されたアクセスの許可」をクリックして、「アクセス許可を選択する」の下にある検索枠を利用して、
「PrivilegedAccess.ReadWrite.AzureAD」
「Directory.AccessAsUser.All」
上記2つを検索してそれぞれにチェックを入れます。
2つのチェックが完了したら「アクセスの許可を追加」をクリックします。

※ここで別の権限を設定すると別目的のアプリケーションが作成できます。
基本的には1アプリケーションに大量の権限は付与せず、1つの目的のためだけの権限だけ付与することをお勧めします。
※下記参考ページから機能ごとに必要な権限を確認できます。
https://docs.microsoft.com/ja-jp/graph/api/overview?view=graph-rest-1.0
https://docs.microsoft.com/ja-jp/graph/api/overview?view=graph-rest-beta
権限設定が完了したらAPIのアクセス許可画面に戻ります。
次に「<会社名>に管理者の同意を与えます」をクリックし、同意を実施します。

Ⅳ.アプリを利用するために必要な情報取得
同意が完了したら、サイドメニューの「概要」をクリックし
「アプリケーション (クライアント) ID」
「ディレクトリ (テナント) ID」
をメモ等にコピーします。(アプリ利用時に必要な情報です)

まとめ
ここまでの手順で特定の権限を持ったアプリケーションが作成が完了しました。
また、アプリケーションを利用するために必要な情報の
- リダイレクトURI
- アプリケーション (クライアント) ID
- ディレクトリ (テナント) ID
が手元にある状態になっています。
もし足りない情報がありましたら上記名称で本記事を検索して、情報を取得してください。
以上で準備編はおしまいです。
準備した情報は実践編にて利用します。