다양한 범위에서 Microsoft Entra 역할 할당

Microsoft Entra ID에서는 일반적으로 전체 테넌트에 적용되도록 Microsoft Entra 역할을 할당합니다. 그러나 관리 장치나 애플리케이션 등록과 같은 다양한 리소스에 대해 Microsoft Entra 역할을 할당할 수도 있습니다. 예를 들어 전체 테넌트가 아닌 특정 관리 단위에만 적용되도록 기술 지원팀 관리자 역할을 할당할 수 있습니다. 또한 역할 할당이 적용되는 리소스는 범위를 호출합니다. 이 문서에서는 테넌트, 관리 장치 및 애플리케이션 등록 범위에서 Microsoft Entra 역할을 할당하는 방법을 설명합니다. 범위에 대한 자세한 내용은 Microsoft Entra ID의 RBAC(역할 기반 액세스 제어) 개요를 참조하세요.

필수 조건

  • 권한 있는 역할 관리자 또는 전역 관리자
  • PowerShell을 사용할 때 설치된 Microsoft Graph PowerShell SDK입니다.
  • Microsoft Graph API용 Graph Explorer를 사용할 때 동의를 관리.

자세한 내용은 PowerShell 또는 Graph Explorer를 사용하기 위한 필수 조건을 참조하세요.

테넌트에 범위가 지정된 역할 할당

이 섹션에서는 테넌트 범위에서 역할을 할당하는 방법을 설명합니다.

Microsoft Entra 관리 센터

이 문서의 단계는 시작하는 포털에 따라 약간 다를 수 있습니다.

  1. 최소한 권한 있는 역할 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>역할 및 관리자>역할 및 관리자로 이동합니다.

    Roles and administrators page in Microsoft Entra ID.

  3. 역할을 선택하면 할당을 확인할 수 있습니다. 필요한 역할을 찾는 데 도움이 되도록 필터 추가를 사용하여 역할을 필터링합니다.

  4. 할당 추가를 선택한 다음 이 역할에 할당하려는 사용자를 선택합니다.

    Add assignments pane for selected role.

  5. 추가를 선택하여 역할을 할당합니다.

PowerShell

PowerShell을 사용하여 Microsoft Entra 역할을 할당하려면 다음 단계를 따릅니다.

  1. PowerShell 창을 엽니다. 필요한 경우 Install-Module을 사용하여 Microsoft Graph PowerShell을 설치합니다. 자세한 내용은 PowerShell 또는 Graph Explorer를 사용하기 위한 필수 조건을 참조하세요.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. PowerShell 창에서 Connect-MgGraph를 사용하여 테넌트에 로그인합니다.

    Connect-MgGraph -Scopes "RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Get-MgUser를 사용하여 사용자를 가져옵니다.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Get-MgRoleManagementDirectoryRoleDefinition을 사용하여 할당하려는 역할을 가져옵니다.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  5. 테넌트를 역할 할당 범위로 설정합니다.

    $directoryScope = '/'
    
  6. New-MgRoleManagementDirectoryRoleAssignment를 사용하여 역할을 할당합니다.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

Microsoft Graph API

다음 지침에 따라 Graph 탐색기에서 Microsoft Graph API를 사용하여 역할을 할당합니다.

  1. Graph 탐색기에 로그인합니다.

  2. List user API를 사용하여 사용자를 가져옵니다.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. List unifiedRoleDefinitions API를 사용하여 할당하려는 역할을 가져옵니다.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Billing Administrator'
    
  4. Create unifiedRoleAssignment API를 사용하여 역할을 할당합니다.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/"
    }
    

관리 단위에 범위가 지정된 역할 할당

이 섹션에서는 관리 단위 범위에서 역할을 할당하는 방법을 설명합니다.

Microsoft Entra 관리 센터

  1. 최소한 권한 있는 역할 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>역할 및 관리자관리 단위> 이동합니다.

  3. 관리 단위를 선택합니다.

    Administrative Units in Microsoft Entra ID.

  4. 왼쪽 탐색 메뉴에서 역할 및 관리자를 선택하면 관리 단위를 통해 할당할 수 있는 모든 역할 목록을 볼 수 있습니다.

    Roles and administrators menu under administrative Units in Microsoft Entra ID.

  5. 원하는 역할을 선택합니다.

  6. 할당 추가를 선택한 다음 이 역할에 할당하려는 사용자 또는 그룹을 선택합니다.

  7. 추가를 선택하여 모든 관리 단위 범위에 대한 역할을 할당합니다.

참고 항목

여기에는 Microsoft Entra 기본 제공 또는 사용자 지정 역할의 전체 목록이 표시되지 않습니다. 예상된 동작입니다. 관리 단위 내에서 지원되는 개체와 관련된 권한이 있는 역할을 보여 줍니다. 관리 단위 내에서 지원되는 개체 목록을 보려면 Microsoft Entra ID의 관리istrative 단위를 참조하세요.

PowerShell

PowerShell을 사용하여 관리 장치 범위에서 Microsoft Entra 역할을 할당하려면 다음 단계를 따릅니다.

  1. PowerShell 창을 엽니다. 필요한 경우 Install-Module을 사용하여 Microsoft Graph PowerShell을 설치합니다. 자세한 내용은 PowerShell 또는 Graph Explorer를 사용하기 위한 필수 조건을 참조하세요.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. PowerShell 창에서 Connect-MgGraph를 사용하여 테넌트에 로그인합니다.

    Connect-MgGraph -Scopes "Directory.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Get-MgUser를 사용하여 사용자를 가져옵니다.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Get-MgRoleManagementDirectoryRoleDefinition을 사용하여 할당하려는 역할을 가져옵니다.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'User Administrator'"
    
  5. Get-MgDirectory관리istrativeUnit을 사용하여 역할 할당의 범위를 지정할 관리 단위를 가져옵니다.

    $adminUnit = Get-MgDirectoryAdministrativeUnit -Filter "displayName eq 'Seattle Admin Unit'"
    $directoryScope = '/administrativeUnits/' + $adminUnit.Id
    
  6. New-MgRoleManagementDirectoryRoleAssignment를 사용하여 역할을 할당합니다.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

Microsoft Graph API

다음 지침에 따라 Graph 탐색기에서 Microsoft Graph API를 사용하여 관리 단위 범위에서 역할을 할당합니다.

  1. Graph 탐색기에 로그인합니다.

  2. List user API를 사용하여 사용자를 가져옵니다.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. List unifiedRoleDefinitions API를 사용하여 할당하려는 역할을 가져옵니다.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'User Administrator'
    
  4. List managementUnits API를 사용하여 역할 할당 범위를 지정할 관리 단위를 가져옵니다.

    GET https://graph.microsoft.com/v1.0/directory/administrativeUnits?$filter=displayName eq 'Seattle Admin Unit'
    
  5. Create unifiedRoleAssignment API를 사용하여 역할을 할당합니다.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/administrativeUnits/<provide objectId of the admin unit obtained above>"
    }
    

참고 항목

여기에서 directoryScopeId는 /foo 대신 /administrativeUnits/foo로 지정됩니다. 이는 의도된 것입니다. /administrativeUnits/foo 범위는 보안 주체가 관리 단위 자체가 아니라 자신에게 할당된 역할에 따라 관리 단위의 구성원을 관리할 수 있음을 의미합니다. /foo의 범위는 주체가 해당 Microsoft Entra 개체 자체를 관리할 수 있음을 의미합니다. 다음 섹션에서는 범위가 /foo인 것을 볼 수 있습니다. 앱 등록을 통해 범위가 지정된 역할이 개체 자체를 관리할 수 있는 권한을 부여하기 때문입니다.

앱 등록 범위가 지정된 역할 할당

이 섹션에서는 애플리케이션 등록 범위에서 역할을 할당하는 방법을 설명합니다.

Microsoft Entra 관리 센터

  1. 최소한 권한 있는 역할 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>애플리케이션>앱 등록으로 이동합니다.

  3. 애플리케이션을 선택합니다. 검색창을 이용하여 원하는 앱을 찾을 수 있습니다.

    App registrations in Microsoft Entra ID.

  4. 앱 등록을 통해 할당할 수 있는 모든 역할 목록을 보려면 왼쪽 탐색 메뉴에서 역할 및 관리자를 선택합니다.

    Roles for an app registrations in Microsoft Entra ID.

  5. 원하는 역할을 선택합니다.

  6. 할당 추가를 선택한 다음 이 역할에 할당하려는 사용자 또는 그룹을 선택합니다.

    Add role assignment scoped to an app registrations in Microsoft Entra ID.

  7. 추가를 선택하여 앱 등록 범위의 역할을 할당합니다.

    Successfully added role assignment scoped to an app registrations in Microsoft Entra ID.

    Role assigned to the user scoped to an app registrations in Microsoft Entra ID.

참고 항목

여기에는 Microsoft Entra 기본 제공 또는 사용자 지정 역할의 전체 목록이 표시되지 않습니다. 예상된 동작입니다. 앱 등록 관리와 관련된 권한만 있는 역할을 보여 줍니다.

PowerShell

PowerShell을 사용하여 애플리케이션 범위에서 Microsoft Entra 역할을 할당하려면 다음 단계를 따릅니다.

  1. PowerShell 창을 엽니다. 필요한 경우 Install-Module을 사용하여 Microsoft Graph PowerShell을 설치합니다. 자세한 내용은 PowerShell 또는 Graph Explorer를 사용하기 위한 필수 조건을 참조하세요.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. PowerShell 창에서 Connect-MgGraph를 사용하여 테넌트에 로그인합니다.

    Connect-MgGraph -Scopes "Application.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Get-MgUser를 사용하여 사용자를 가져옵니다.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Get-MgRoleManagementDirectoryRoleDefinition을 사용하여 할당하려는 역할을 가져옵니다.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'Application Administrator'"
    
  5. Get-MgApplication을 사용하여 역할 할당의 범위를 지정할 앱 등록을 가져옵니다.

    $appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'"
    $directoryScope = '/' + $appRegistration.Id
    
  6. New-MgRoleManagementDirectoryRoleAssignment를 사용하여 역할을 할당합니다.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id 
    

Microsoft Graph API

다음 지침에 따라 Graph 탐색기에서 Microsoft Graph API를 사용하여 애플리케이션 범위에서 역할을 할당합니다.

  1. Graph 탐색기에 로그인합니다.

  2. List user API를 사용하여 사용자를 가져옵니다.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. List unifiedRoleDefinitions API를 사용하여 할당하려는 역할을 가져옵니다.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Application Administrator'
    
  4. List applications API를 사용하여 역할 할당 범위를 지정할 관리 단위를 가져옵니다.

    GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'f/128 Filter Photos'
    
  5. Create unifiedRoleAssignment API를 사용하여 역할을 할당합니다.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/<provide objectId of the app registration obtained above>"
    }
    

참고 항목

여기에서 directoryScopeId는 위의 섹션과 달리 /foo로 지정됩니다. 이는 의도된 것입니다. /foo 범위는 주체가 해당 Microsoft Entra 개체를 관리할 수 있음을 의미합니다. /administrativeUnits/foo 범위는 보안 주체가 관리 단위 자체가 아니라 자신에게 할당된 역할에 따라 관리 단위의 구성원을 관리할 수 있음을 의미합니다.

다음 단계