Microsoft Graph APIを用いてカスタムロールを作成する方法

グローバル管理者アカウントでMicrosoft Entra管理センターにアクセスし、カスタムロールの作成を試みたところ、「アクセス許可」の設定画面において、追加したい特定の権限が表示されない事象が発生しました。

これは、該当の権限がMicrosoft Graphの仕組みに基づいて提供されており、2025年6月現在の画面構成および機能上にはまだ反映されていないことが原因だと考えられます。

本記事では、そのような場合にMicrosoft Graph APIを用いてカスタムロールを明示的に作成する方法をご紹介します。

Microsoft Graph APIとは

Microsoft Graph APIとは、Microsoft 365の様々なサービス(Outlook、OneDrive、Teamsなど)のデータに一括でアクセスできる統合APIです。

Graph Explorerというツールを使用することで、Microsoft Graph APIをブラウザ上で試すことができます。

カスタムロール作成の準備

必要な管理者ロール

以下のいずれかが必要です。

  • グローバル管理者
  • 特権ロール管理者

事前準備

1.ブラウザで以下のURLにアクセスして、Graph Explorerにアクセスします

https://developer.microsoft.com/en-us/graph/graph-explorer

2.組織アカウント(Entra ID)でサインインします。

3.アイコンボタンをクリックし、「Consent to permissions」をクリックします。

4.Permissionsの画面で「RoleManagement」を選択し、RoleManagement.ReadWrite.Directory横にある「Consent」をクリックします。

※Entra IDのロール管理に関する「読み取り+書き込み」が可能になります。

カスタムロールを作成する

1.「HTTP requesr method」を選択して、「POST」をクリックします。

2.URLの部分に以下を入力します。

https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions

3.「Request Headers」セクションを開きます。

4.「key」に「Content-Type」を入力、「Value」に「application/json」を入力して「Add」をクリックします。

5.「Request Body」セクションに以下のJSONを記述します。

本記事では、MFAトークンの追加、更新、削除を許可するカスタムロールを作成します。

{
"displayName":"ロールの名前を入力します",
"description":"ロールの説明を入力します",
"isEnabled":true,
"rolePermissions":[
{
"allowedResourceActions":[
"microsoft.directory/users/authenticationMethods/basic/update",
"microsoft.directory/users/authenticationMethods/create",
"microsoft.directory/users/authenticationMethods/delete", 
"microsoft.directory/users/authenticationMethods/standard/restrictedRead" 
]
}
],
"assignableScopes": ["/"]
}

6.「Run query」ボタンをクリックします。

7.実行後、「Response preview」をクリックし、「roleDefinitions」の「id」の値をメモしておきます。

作成したロールをユーザーに割り当てる

1.「HTTP requesr method」を選択して、「POST」をクリックします。

2.URLの部分に以下を入力します。

https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments

3.「Request Headers」セクションを開きます。

4.「key」に「Content-Type」を入力、「Value」に「application/json」を入力して「Add」をクリックします。

5.「Request Body」セクションに以下のJSONを記述します。

※ 「ユーザーのobjectId」は、Entra管理センターにアクセスし、「ユーザー」>「すべてのユーザー」>「該当ユーザー」をクリックする事で確認できます。

{ 
"principalId": "作成したロールを割り当てるユーザーのobjectIdを入力します", 
"roleDefinitionId": "先ほどメモしたroleDefinitionsのIdを入力します", 
"directoryScopeId": "/" 
}

6.「Run query」ボタンをクリックします。

作成したロールを確認する

1.Entra管理センターにアクセスし、「役割と管理者」>「すべてのロール」をクリックします。

2.ロールの一覧からロール名を検索することで、作成したカスタムロールを確認することができます。

まとめ

本記事では、Microsoft Graph APIを用いてカスタムロールを明示的に作成する方法についてご紹介しました。

参考にしていただければ幸いです。

執筆担当者プロフィール
芦澤 茉莉

芦澤 茉莉(日本ビジネスシステムズ株式会社)

金融・保険事業本部所属。主にMicrosoft 365に関する業務に携わっています。

担当記事一覧