Azure AD ロールをユーザーに割り当てる

Azure Active Directory (Azure AD) のユーザーにアクセス権を付与するには、Azure AD ロールを割り当てます。 ロールは、アクセス許可のコレクションです。 この記事では、Azure portal と PowerShell を使用して Azure AD ロールを割り当てる方法について説明します。

前提条件

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

詳細については、「PowerShell または Graph エクスプローラーを使用するための前提条件」をご覧ください。

Azure portal

Azure portal を使用して Azure AD ロールを割り当てるには、これらの手順に従います。 Azure AD Privileged Identity Management (PIM) が有効になっているかどうかによって、エクスペリエンスは異なります。

ロールの割り当て

  1. Azure portal にサインインします。

  2. [Azure Active Directory]>[ロールと管理者] を選択して、利用可能なすべてのロールの一覧を表示します。

    Azure Active Directory の [ロールと管理者] ページのスクリーンショット。

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

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

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

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

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

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

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

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

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

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

  1. Azure portal にサインインします。

  2. [Azure Active Directory]>[ロールと管理者] を選択して、利用可能なすべてのロールの一覧を表示します。

    PIM が有効な場合の Azure Active Directory の [ロールと管理者] ページのスクリーンショット。

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

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

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

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

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

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

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

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

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

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

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

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

PowerShell

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

セットアップ

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

    Import-Module -Name AzureADPreview -Force
    
  2. PowerShell ウィンドウで Connect-AzureAD を使用して、テナントにサインインします。

    Connect-AzureAD
    
  3. Get-AzureADUser を使用して、ロールを割り当てるユーザーを取得します。

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

ロールの割り当て

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

    $roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  2. New-AzureADMSRoleAssignment を使用して、ロールを割り当てます。

    $roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.objectId
    

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

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

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

    $roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  2. Get-AzureADMSPrivilegedResource を使用して、特権付きリソースを取得します。 この場合は、テナントです。

    $aadTenant = Get-AzureADMSPrivilegedResource -ProviderId aadRoles
    
  3. New-Object を使用して、新しい AzureADMSPrivilegedSchedule オブジェクトを作成し、ロールの割り当ての開始時刻と終了時刻を定義します。

    $schedule = New-Object Microsoft.Open.MSGraph.Model.AzureADMSPrivilegedSchedule
    $schedule.Type = "Once"
    $schedule.StartDateTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
    $schedule.EndDateTime = "2021-07-25T20:00:00.000Z"
    
  4. Open-AzureADMSPrivilegedRoleAssignmentRequest を使用して、ロールを "対象" として割り当てます。

    $roleAssignmentEligible = Open-AzureADMSPrivilegedRoleAssignmentRequest -ProviderId 'aadRoles' -ResourceId $aadTenant.Id -RoleDefinitionId $roleDefinition.Id -SubjectId $user.objectId -Type 'AdminAdd' -AssignmentState 'Eligible' -schedule $schedule -reason "Review billing info"
    

Microsoft Graph API

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

ロールの割り当て

この例では、objectID f8ca5a85-489a-49a0-b555-0a6d81e56f0d のセキュリティ プリンシパルに、テナント スコープで課金管理者ロール (ロール定義 ID b0f54661-2d74-4c50-afa3-1ec803f12efe) が割り当てられます。 すべての組み込みロールの不変のロール テンプレート ID の一覧を確認するには、「Azure AD の組み込みロール」を参照してください。

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": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
    "directoryScopeId": "/"
}

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

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

この例では、objectID f8ca5a85-489a-49a0-b555-0a6d81e56f0d のセキュリティ プリンシパルに、課金管理者 (ロール定義 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": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
    "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": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
    "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": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
}

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

次のステップ