次の方法で共有


unifiedRoleAssignment を作成する

名前空間: microsoft.graph

重要

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

新しい unifiedRoleAssignment オブジェクトを 作成します。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

ディレクトリ (Microsoft Entra ID) プロバイダーの場合

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

重要

職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 特権ロール管理者 は、この操作でサポートされる最小限の特権ロールです。

エンタイトルメント管理プロバイダーの場合

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

Exchange Online プロバイダーの場合

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

HTTP 要求

ディレクトリ プロバイダーのロールの割り当てを作成します。

POST /roleManagement/directory/roleAssignments

エンタイトルメント管理プロバイダーのロールの割り当てを作成します。

POST /roleManagement/entitlementManagement/roleAssignments

Exchange Online プロバイダーのロールの割り当てを作成します。

POST /roleManagement/exchange/roleAssignments

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。

要求本文

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

unifiedRoleAssignment を作成するときに、次のプロパティを指定できます。

プロパティ 説明
appScopeId String 必須です。 割り当てスコープがアプリ固有の場合のアプリ固有のスコープの識別子。 割り当てのスコープによって、プリンシパルにアクセス権が付与されているリソースのセットが決まります。 アプリ スコープは、リソース アプリケーションによってのみ定義され、理解されるスコープです。

エンタイトルメント管理プロバイダーの場合は、このプロパティを使用してカタログを指定します (たとえば、 /AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997)。

appScopeId または directoryScopeId を指定する必要があります。
directoryScopeId String 必須です。 割り当てのスコープを表す ディレクトリ オブジェクト の識別子。 割り当てのスコープによって、プリンシパルにアクセス権が付与されているリソースのセットが決まります。 ディレクトリ スコープは、リソース アプリケーションによってのみ定義および理解されるアプリ スコープとは異なり、複数のアプリケーションによって認識されるディレクトリに格納されている共有スコープです。

ディレクトリ (Microsoft Entra ID) プロバイダーの場合、このプロパティは次の形式をサポートします。
  • / テナント全体のスコープの場合
  • /administrativeUnits/{administrativeunit-ID} を管理単位のスコープに設定する
  • /{application-objectID} をリソース アプリケーションのスコープに設定する
  • /attributeSets/{attributeSet-ID} 属性セットにスコープを設定する

    エンタイトルメント管理プロバイダーの場合は、テナント全体のスコープの / 。 アクセス パッケージ カタログのスコープを設定するには、 appScopeId プロパティを使用します。

    Exchange Online プロバイダーの場合、このプロパティは次の形式をサポートします。
  • / テナント全体のスコープの場合
  • /Users/{ObjectId of user} ロールの割り当てを特定のユーザーにスコープを設定するには
  • /AdministrativeUnits/{ObjectId of AU} ロールの割り当てを管理単位にスコープ設定するには
  • /Groups/{ObjectId of group} ロールの範囲を特定のグループのメンバーに指示する場合

    appScopeId または directoryScopeId を指定する必要があります。
  • principalId String 必須です。 割り当てが付与されるプリンシパルの識別子。
    roleDefinitionId String 割り当てが対象の unifiedRoleDefinition の識別子。 読み取り専用です。 $filter (eqin) をサポートします。

    応答

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

    例 1: テナント スコープを使用してロールの割り当てを作成する

    要求

    次の例は要求を示しています。 roleDefinitionId の roleTemplateId の使用に注意してください。 roleDefinitionId には、サービス全体のテンプレート ID またはディレクトリ固有の roleDefinitionId を指定できます。

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    { 
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    応答

    次の例は応答を示しています。

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

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "YUb1sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHVi2I-1",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    例 2: 管理単位スコープを使用してロールの割り当てを作成する

    要求

    次の例では、管理単位スコープを持つプリンシパルにユーザー管理者ロールを割り当てます。

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    応答

    次の例は応答を示しています。

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

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "BH21sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHIWb7-1",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    例 3: 属性セット スコープを使用してロールの割り当てを作成する

    要求

    次の例では、Engineering という名前の属性セット スコープを持つプリンシパルに属性割り当て管理者ロールを割り当てます。 カスタム セキュリティ属性と属性セット スコープMicrosoft Entra詳細については、「Microsoft Entra IDのカスタム セキュリティ属性へのアクセスを管理する」を参照してください。

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    応答

    次の例は応答を示しています。

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

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "oz6hWDLGrkae4JwNQ81_PU-mYqx8m71OpqEQPdN1u",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    例 4: アクセス パッケージ カタログ スコープを使用してロールの割り当てを作成する

    要求

    次の例は要求を示しています。

    POST https://graph.microsoft.com/beta/roleManagement/entitlementManagement/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    応答

    次の例は応答を示しています。

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

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/entitlementManagement/roleAssignments/$entity",
        "id": "f3092518-7874-462e-93e9-0cd6c11ffc52",
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    例 5: 管理単位スコープを持つExchange Online プロバイダーのロールの割り当てを作成する

    要求

    次の例は要求を示しています。

    POST https://graph.microsoft.com/beta/roleManagement/exchange/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }
    

    応答

    次の例は応答を示しています。

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/exchange/roleAssignments/$entity",
        "id": "c5dd3ab8-374f-42e9-b163-eb7c54b53755",
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }