roleDefinitions を作成する

名前空間: microsoft.graph

重要

Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。

RBAC プロバイダーの新しい unifiedRoleDefinition オブジェクトを作成します。

現在、次の RBAC プロバイダーがサポートされています。

  • クラウド PC
  • デバイス管理 (Intune)
  • ディレクトリ (Azure AD)

アクセス許可

RBAC プロバイダーと必要なアクセス許可の種類 (委任またはアプリケーション) に応じて、この API を呼び出すために必要な最小限の特権アクセス許可を次の表から選択します。 より多くの特権アクセス許可を選択する前に注意を払 など、詳細については、「 アクセス許可」を参照してください。

クラウド PC プロバイダーの場合

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) RoleManagement.ReadWrite.CloudPC, CloudPC.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション RoleManagement.ReadWrite.CloudPC, CloudPC.ReadWrite.All

デバイス管理 (Intune) プロバイダーの場合

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) DeviceManagementRBAC.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション DeviceManagementRBAC.ReadWrite.All

ディレクトリ (Azure AD) プロバイダーの場合

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) RoleManagement.ReadWrite.Directory, Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション RoleManagement.ReadWrite.Directory, Directory.ReadWrite.All

HTTP 要求

デバイス管理プロバイダーのロール定義を作成するには、

POST /roleManagement/deviceManagement/roleDefinitions

ディレクトリ プロバイダーのロール定義を作成するには:

POST /roleManagement/directory/roleDefinitions

Cloud PC プロバイダーのロール定義を作成するには:

POST /roleManagement/cloudPc/roleDefinitions

要求ヘッダー

名前 説明
Authorization ベアラー {トークン}

要求本文

要求本文で、 unifiedRoleDefinition オブジェクトの JSON 表現を指定します。

次の表は、roleDefinition を作成するときに必要なプロパティを示しています。

パラメーター 種類 説明
displayName string ロール定義の表示名。
isEnabled ブール値 ロールが割り当てに対して有効になっているかどうかを示すフラグ。 false の場合、ロールは割り当てに使用できません。
rolePermissions unifiedRolePermission コレクション ロールに含まれるアクセス許可の一覧。

応答

成功した場合、このメソッドは 201 Created 応答コードと応答本文に新しい unifiedRoleDefinition オブジェクトを返します。

例 1:ディレクトリ プロバイダーのカスタム ロールを作成する

要求

POST https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions
Content-type: application/json

{
  "description": "Update basic properties of application registrations",
  "displayName": "Application Registration Support Administrator",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "microsoft.directory/applications/basic/read"
            ]
        }
    ],
    "isEnabled" : "true"
}

応答

応答の例を次に示します。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleDefinitions/$entity",
    "id": "d5eec5e0-6992-4c6b-b430-0f833f1a815a",
    "description": "Update basic properties of application registrations",
    "displayName": "Application Registration Support Administrator",
    "isBuiltIn": false,
    "isEnabled": true,
    "templateId": "d5eec5e0-6992-4c6b-b430-0f833f1a815a",
    "version": null,
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "microsoft.directory/applications/standard/read",
                "microsoft.directory/applications/basic/update"
            ],
            "condition": null
        }
    ],
    "inheritsPermissionsFrom": []
}

例 2: クラウド PC プロバイダーのカスタム ロールを作成する

要求

POST https://graph.microsoft.com/beta/roleManagement/cloudPc/roleDefinitions
Content-type: application/json

{
  "description": "An example custom role",
  "displayName": "ExampleCustomRole",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "Microsoft.CloudPC/CloudPCs/Read"
            ]
        }
    ],
    "condition" : "null"
}

応答

応答の例を次に示します。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/cloudPc/roleDefinitions/$entity",
    "id": "b7f5ddc1-b7dc-4d37-abce-b9d6fc15ffff",
    "description": "An example custom role",
    "displayName": "ExampleCustomRole",
    "isBuiltIn": false,
    "isEnabled": true,
    "templateId": "b7f5ddc1-b7dc-4d37-abce-b9d6fc15ffff",
    "version": null,
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "Microsoft.CloudPC/CloudPCs/Read"
            ],
            "condition": null
        }
    ],
    "resourceScopes":["/"]
}