ユーザーに Microsoft Entra ロールを割り当てる

Microsoft Entra ID でユーザーにアクセス権を付与するには、Microsoft Entra ロールを割り当てます。 ロールは、アクセス許可のコレクションです。 この記事では、Microsoft Entra 管理センターと PowerShell を使用して Microsoft Entra ロールを割り当てる方法について説明します。

前提条件

  • 特権ロール管理者。 特権ロール管理者が誰かを確認するには、「Microsoft Entra ロールの割り当てを一覧表示する」を参照してください
  • Microsoft Entra ID P2 ライセンス (Privileged Identity Management (PIM) を使用する場合)
  • PowerShell を使用する場合のMicrosoft Graph PowerShell モジュール
  • Microsoft Graph API の Graph エクスプローラーを使用する場合の管理者の同意

詳細については、PowerShell または Graph エクスプローラーを使用するための前提条件に関するページを参照してください。

Microsoft Entra 管理センター

Microsoft Entra 管理センターを使用して Microsoft Entra ロールを割り当てるには、次の手順に従います。 Microsoft Entra Privileged Identity Management (PIM) が有効になっているかどうかによって、エクスペリエンスは異なります。

ロールの割り当て

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

  1. Microsoft Entra 管理センター特権ロール管理者以上としてサインインします。

  2. [Identity] (ID)>[役割と管理者]>[役割と管理者] の順に移動します。

    Microsoft Entra ID の「ロールと管理者」ページのスクリーンショット。

  3. 必要なロールを見つけます。 検索ボックスまたは [Add filters](フィルターの追加) を使用して、ロールをフィルター処理できます。

  4. ロール名を選択してロールを開きます。 ロールの横にチェック マークを付けないでください。

    ロールの選択を示すスクリーンショット。

  5. [割り当ての追加] を選択し、このロールに割り当てるユーザーを選択します。

    次の図とは異なる内容が表示される場合は、PIM が有効になっている可能性があります。 次のセクションを参照してください。

    選択したロールの [割り当ての追加] ウィンドウのスクリーンショット。

    Note

    ゲスト ユーザーに Microsoft Entra 組み込みロールを割り当てると、ゲスト ユーザーはメンバー ユーザーと同じアクセス許可を持つよう昇格されます。 メンバー ユーザーとゲスト ユーザーの既定のアクセス許可について詳しくは、「Microsoft Entra ID の既定のユーザー アクセス許可とは」をご覧ください。

  6. [追加] を選択してロールを割り当てます。

PIM を使用してロールを割り当てる

Microsoft Entra Privileged Identity Management (PIM) が有効になっている場合は、追加のロールの割り当て機能が提供されます。 たとえば、ユーザーをロールの対象にしたり、期間を設定したりできます。 PIM が有効な場合、Microsoft Entra 管理センターを使用してロールを割り当てる方法は 2 つあります。 [ロールと管理者] ページまたは PIM エクスペリエンスを使用できます。 どちらの方法でも同じ PIM サービスが使用されます。

[ロールと管理者] ページを使用してロールを割り当てるには、これらの手順に従います。 Privileged Identity Management を使用してロールを割り当てる場合は、「Privileged Identity Management で Microsoft Entra ロールを割り当てる」を参照してください。

  1. Microsoft Entra 管理センター特権ロール管理者以上としてサインインします。

  2. [Identity] (ID)>[役割と管理者]>[役割と管理者] の順に移動します。

    Microsoft Entra ID の「ロールと管理者」ページのスクリーンショット。

  3. 必要なロールを見つけます。 検索ボックスまたは [Add filters](フィルターの追加) を使用して、ロールをフィルター処理できます。

  4. ロール名を選択してロールを開き、ロールの割り当ての状態 (対象、アクティブ、期限切れ) を確認します。 ロールの横にチェック マークを付けないでください。

    ロールの選択を示すスクリーンショット。

  5. [割り当ての追加] を選択します。

  6. [メンバーが選択されていない] を選択し、このロールに割り当てるユーザーを選択します。

    PIM が有効な場合の [割り当ての追加] ページと [メンバーの選択] ウィンドウのスクリーンショット。

  7. [次へ] を選択します。

  8. [設定] タブで、このロールの割り当てを [対象] にするか [アクティブ] にするかを選択します。

    "対象" のロールの割り当ては、ユーザーがロールを使用するために 1 つ以上のアクションを実行する必要があることを意味します。 "アクティブ" なロールの割り当ては、ユーザーがロールを使用するためにアクションを実行する必要がないことを意味します。 これらの設定の意味の詳細については、PIM の用語に関するセクションを参照してください。

    PIM が有効な場合の [割り当ての追加] ページと [設定] タブのスクリーンショット。

  9. 残りのオプションを使用して、割り当ての期間を設定します。

  10. [割り当てる] を選択してロールを割り当てます。

PowerShell

PowerShell を使用して Microsoft Entra ロールを割り当てるには、次の手順を実行します。

段取り

  1. PowerShell ウィンドウを開き、Import-Module を使用して、Microsoft Graph PowerShell モジュールをインポートします。 詳細については、PowerShell または Graph エクスプローラーを使用するための前提条件に関するページを参照してください。

    Import-Module -Name Microsoft.Graph.Identity.Governance -Force
    
  2. PowerShell ウィンドウで、Connect-MgGraph を使用して、自分のテナントにサインインします。

    Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
    
  3. Get-MgUser を使用して、ロールを割り当てるユーザーを取得します。

    $user = Get-MgUser -Filter "userPrincipalName eq 'johndoe@contoso.com'"
    

ロールの割り当て

  1. Get-MgRoleManagementDirectoryRoleDefinition を使用して、割り当てるロールを取得します。

    $roledefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Billing Administrator'"
    
  2. New-MgRoleManagementDirectoryRoleAssignment を使用して、ロールを割り当てます。

    $roleassignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roledefinition.Id -PrincipalId $user.Id
    

PIM を使用してロールを "対象" として割り当てる

PIM が有効な場合は、ユーザーをロールの割り当ての対象にする機能や、ロールの割り当ての開始時刻と終了時刻を定義する機能などの追加機能が提供されます。 これらの機能では、PowerShell コマンドの異なるセットを使用します。 PowerShell と PIM の使用の詳細については、「Privileged Identity Management の Microsoft Entra ロールのための PowerShell」を参照してください。

  1. Get-MgRoleManagementDirectoryRoleDefinition を使用して、割り当てるロールを取得します。

    $roledefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Billing Administrator'"
    
  2. 次のコマンドを使用して、ユーザーにロールを割り当てるために必要なすべての属性を格納するハッシュ テーブルを作成します。 プリンシパル ID は、ロールの割り当て先のユーザーの ID です。 この例では、割り当ては 10 時間のみ有効です。

    $params = @{
      "PrincipalId" = "aaaaaaaa-bbbb-cccc-1111-222222222222"
      "RoleDefinitionId" = "b0f54661-2d74-4c50-afa3-1ec803f12efe"
      "Justification" = "Add eligible assignment"
      "DirectoryScopeId" = "/"
      "Action" = "AdminAssign"
      "ScheduleInfo" = @{
        "StartDateTime" = Get-Date
        "Expiration" = @{
          "Type" = "AfterDuration"
          "Duration" = "PT10H"
          }
        }
      }
    
  3. New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest を使用して、ロールを適格として割り当てます。 ロールが割り当てられると、Microsoft Entra 管理センターの [ID ガバナンス]>[Privileged Identity Management]>[Microsoft Entra ロール]>[割り当て]>[資格のある割り当て] セクションに反映されます。

    New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter $params | Format-List Id, Status, Action, AppScopeId, DirectoryScopeId, RoleDefinitionId, IsValidationOnly, Justification, PrincipalId, CompletedDateTime, CreatedDateTime
    

    Microsoft Graph API

    Microsoft Graph API を使用してロールを割り当てるには、これらの手順に従います。

    ロールの割り当て

    この例では、objectID aaaaaaaa-bbbb-cccc-1111-222222222222 のセキュリティ プリンシパルに、テナント スコープで課金管理者ロール (ロール定義 ID b0f54661-2d74-4c50-afa3-1ec803f12efe) が割り当てられます。 すべての組み込みロールの不変のロール テンプレート ID のリストを確認するには、「Microsoft Entra の組み込みロール」を参照してください。

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    { 
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "directoryScopeId": "/"
    }
    

    PIM を使用してロールを割り当てる

    期限付き有資格ロールを割り当てる

    この例では、objectID aaaaaaaa-bbbb-cccc-1111-222222222222 のセキュリティ プリンシパルに、課金管理者 (ロール定義 ID b0f54661-2d74-4c50-afa3-1ec803f12efe) に対する 180 日間の期限付きの対象のロールの割り当てが割り当てられています。

    POST https://graph.microsoft.com/v1.0/rolemanagement/directory/roleEligibilityScheduleRequests
    Content-type: application/json
    
    {
        "action": "adminAssign",
        "justification": "for managing admin tasks",
        "directoryScopeId": "/",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
        "scheduleInfo": {
            "startDateTime": "2021-07-15T19:15:08.941Z",
            "expiration": {
                "type": "afterDuration",
                "duration": "PT180D"
            }
        }
    }
    

    永続的な有資格ロールを割り当てる

    次の例では、セキュリティ プリンシパルに、課金管理者に対する永続的な対象のロールの割り当てが割り当てられています。

    POST https://graph.microsoft.com/v1.0/rolemanagement/directory/roleEligibilityScheduleRequests
    Content-type: application/json
    
    {
        "action": "adminAssign",
        "justification": "for managing admin tasks",
        "directoryScopeId": "/",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
        "scheduleInfo": {
            "startDateTime": "2021-07-15T19:15:08.941Z",
            "expiration": {
                "type": "noExpiration"
            }
        }
    }
    

    ロールの割り当てのアクティブ化

    ロールの割当をアクティブにするには、Create roleAssignmentScheduleRequests API を使用します。

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests
    Content-type: application/json
    
    {
        "action": "selfActivate",
        "justification": "activating role assignment for admin privileges",
        "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
        "directoryScopeId": "/",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
    }
    

    Microsoft Graph の PIM API を使用した Microsoft Entra ロールの管理の詳細については、「特権 ID 管理 (PIM) API を使用したロール管理の概要」を参照してください。