Share via


자습서: Microsoft Entra 그룹에 디렉터리 읽기 권한자 역할 할당 및 역할 할당 관리

적용 대상:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

이 문서에서는 Microsoft Entra ID(이전의 Azure Active Directory)에서 그룹을 만들고 해당 그룹에 디렉터리 읽기 권한자 역할을 할당하는 방법을 안내합니다. 디렉터리 읽기 권한자 권한을 사용하면 그룹 소유자가 Azure SQL Database, Azure SQL Managed InstanceAzure Synapse Analytics관리 ID와 같은 그룹에 구성원을 추가할 수 있습니다. 이렇게 하면 전역 관리자 또는 권한 있는 역할 관리자가 테넌트의 각 논리 서버 ID에 대해 디렉터리 읽기 권한자 역할을 직접 할당할 필요가 없습니다.

참고 항목

Microsoft Entra ID는 이전의 Azure Active Directory(Azure AD)입니다.

이 자습서에서는 Microsoft Entra 그룹을 사용하여 역할 할당을 관리하는 데 도입된 기능을 사용합니다.

Azure SQL용 Microsoft Entra 그룹에 디렉터리 읽기 권한자 역할을 할당하는 이점에 대한 자세한 내용은 Azure SQL용 Microsoft Entra ID의 디렉터리 읽기 권한자 역할을 참조하세요.

참고 항목

Azure SQL에 대한 Microsoft Graph 지원을 통해 디렉터리 읽기 권한자 역할을 더 낮은 수준의 권한을 사용하여 대체할 수 있습니다. 자세한 내용은 Azure SQL을 사용한 Microsoft Entra의 사용자 할당 관리 ID를 참조하세요.

필수 조건

Azure portal을 사용하여 디렉터리 읽기 권한자 역할 할당

새 그룹 만들기 및 소유자 및 역할 할당

  1. 이 초기 설정에는 전역 관리자 또는 권한 있는 역할 관리자 권한이 있는 사용자가 필요합니다.

  2. 사용자가 Azure Portal에 로그인하도록 합니다.

  3. Microsoft Entra ID리소스로 이동합니다. 관리 아래에서 그룹으로 이동합니다. 새 그룹을 선택하여 새 그룹을 만듭니다.

  4. 그룹 유형으로 보안을 선택하고 나머지 필드를 채웁니다. Microsoft Entra 역할을 그룹에 할당할 수 있음로 전환합니다. Microsoft Entra ID 디렉터리 읽기 권한자 역할을 그룹에 할당할 수 있습니다.

  5. 만든 그룹에 Microsoft Entra 사용자를 소유자로 할당합니다. 그룹 소유자는 Microsoft Entra 관리 역할이 할당되지 않은 일반 AD 사용자일 수 있습니다. 소유자는 SQL Database, SQL Managed Instance 또는 Azure Synapse를 관리하는 사용자여야 합니다.

    Microsoft Entra ID-new-group

  6. 만들기를 선택합니다.

만든 그룹 확인

참고 항목

그룹 유형에 대해 보안이 선택되어 있는지 확인합니다. Azure SQL은 Microsoft 365 그룹을 지원하지 않습니다.

만든 그룹을 검사 관리하려면 Azure Portal의 그룹 창으로 돌아가서 그룹 이름을 검색합니다. 그룹을 선택한 후 관리 설정의 소유자구성원 메뉴 아래에 추가 소유자 및 구성원을 추가할 수 있습니다. 그룹에 대한 할당된 역할을 검토할 수도 있습니다.

Screenshot of a Group pane with the links that open the Settings menus for Members, Owners, and Assigned roles highlighted.

그룹에 Azure SQL 관리 ID 추가

참고 항목

이 예제에서는 SQL Managed Instance를 사용하지만 동일한 결과를 얻기 위해 SQL Database 또는 Azure Synapse에 유사한 단계를 적용할 수 있습니다.

이후 단계에서는 전역 관리자 또는 권한 있는 역할 관리자 사용자가 더 이상 필요하지 않습니다.

  1. SQL Managed Instance를 관리하는 사용자이자 앞에서 만든 그룹의 소유자로 Azure Portal에 로그인합니다.

  2. Azure Portal에서 SQL Managed Instance 리소스의 이름을 찾습니다.

    Screenshot of the SQL managed instances screen with the SQL instance name ssomitest and the Subnet name ManagedInstance highlighted.

    SQL Managed Instance를 프로비전하는 동안 인스턴스에 대한 Microsoft Entra ID가 만들어지고 Microsoft Entra 애플리케이션으로 등록됩니다. 생성된 ID의 이름은 SQL Managed Instance 이름의 접두사와 동일합니다. 다음 단계에 따라 SQL Managed Instance에 대한 ID(서비스 주체라고도 함)를 찾을 수 있습니다.

    • Microsoft Entra ID 리소스로 이동합니다. 관리 설정에서 엔터프라이즈 애플리케이션을 선택합니다. 개체 ID는 인스턴스의 ID입니다.

    Screenshot of the Enterprise applications page for a Microsoft Entra ID resource with the Object ID of the SQL Managed instance highlighted.

  3. Microsoft Entra ID리소스로 이동합니다. 관리 아래에서 그룹으로 이동합니다. 앞에서 만든 그룹을 선택합니다. 그룹의 관리 설정에서 구성원을 선택합니다. 위에서 찾은 이름을 검색하여 구성원 추가를 선택하고 SQL Managed Instance 서비스 주체를 그룹의 구성원으로 추가합니다.

    Screenshot of the Members page for a Microsoft Entra resource with the options highlighted for adding an SQL Managed instance as a new member.

참고 항목

Azure 시스템을 통해 서비스 주체 권한을 전파하고 Microsoft Graph API에 대한 액세스를 허용하는 데 몇 분 정도 걸릴 수 있습니다. SQL Managed Instance에 대한 Microsoft Entra 관리자를 프로비전하기 전에 몇 분 정도 기다려야 할 수 있습니다.

설명

SQL Database 및 Azure Synapse의 경우 논리 서버를 만드는 동안 또는 서버를 만든 후 서버 ID를 만들 수 있습니다. SQL Database 또는 Azure Synapse에서 서버 ID를 만들거나 설정하는 방법에 대한 자세한 내용은 서비스 주체를 사용하여 Microsoft Entra 사용자 만들기를 참조하세요.

SQL Managed Instance의 경우 관리형 인스턴스에 대한 Microsoft Entra 관리자를 설정하려면 먼저 관리형 인스턴스 ID에 디렉터리 읽기 권한자 역할을 할당해야 합니다.

논리 서버의 Microsoft Entra 관리자를 설정할 때는 SQL Database 또는 Azure Synapse에 디렉터리 읽기 권한자 역할을 서버 ID에 할당할 필요가 없습니다. 그러나 Microsoft Entra 애플리케이션을 대신하여 SQL Database 또는 Azure Synapse에서 Microsoft Entra 개체를 만들 수 있도록 하려면 디렉터리 읽기 권한자 역할이 필요합니다. 역할이 논리 서버 ID에 할당되지 않은 경우 Azure SQL에서 Microsoft Entra 사용자를 만들 수 없습니다. 자세한 내용은 Azure SQL과 Microsoft Entra 서버 주체를 참조하세요.

PowerShell을 사용하여 디렉터리 읽기 권한자 역할 할당

Important

전역 관리자 또는 권한 역할 있는 관리자는 이러한 초기 단계를 실행해야 합니다. PowerShell 외에도 Microsoft Entra ID는 Microsoft Graph API를 제공하여 Microsoft Entra ID에서 역할 할당 가능 그룹을 만듭니다.

  1. 다음 명령을 사용하여 Microsoft Graph PowerShell 모듈을 설치합니다. 관리자 권한으로 PowerShell을 실행해야 합니다.

    Install-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Authentication
    # To verify that the module is ready to use, run the following command:
    Get-Module Microsoft.Graph.Authentication
    
  2. Microsoft Entra 테넌트에 연결.

    Connect-MgGraph
    
  3. 디렉터리 읽기 권한자 역할을 할당하는 보안 그룹을 만듭니다.

    • DirectoryReaderGroup, Directory Reader GroupDirRead를 원하는 대로 변경할 수 있습니다.
    $group = New-MgGroup -DisplayName "DirectoryReaderGroup" -Description "Directory Reader Group" -SecurityEnabled:$true -IsAssignableToRole:$true -MailEnabled:$false -MailNickname "DirRead"
    $group
    
  4. 그룹에 디렉터리 읽기 권한자 역할 할당.

    # Displays the Directory Readers role information
    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Directory Readers'"
    $roleDefinition
    
    # Assigns the Directory Readers role to the group
    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roleDefinition.Id -PrincipalId $group.Id
    $roleAssignment
    
  5. 그룹에 사용자 할당.

    • <username>(을)를 그룹을 소유해야 하는 사용자로 바꿉니다. 이러한 단계를 반복하여 여러 소유자를 추가할 수 있습니다.
    $newGroupOwner = Get-MgUser -UserId "<username>"
    $newGroupOwner
    
    $GrOwner = New-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $newGroupOwner.Id
    

    그룹의 소유자를 확인합니다.

    Get-MgGroupOwner -GroupId $group.Id
    

    Azure Portal에서 그룹의 소유자를 확인할 수도 있습니다. 만든 그룹을 확인하는 단계를 수행합니다.

서비스 주체를 그룹의 구성원으로 할당

이후 단계에서는 전역 관리자 또는 권한 있는 역할 관리자 사용자가 더 이상 필요하지 않습니다.

  1. Azure SQL 리소스를 관리하는 그룹의 소유자를 사용하여 다음 명령을 실행하여 Microsoft Entra ID에 연결합니다.

    Connect-MgGraph
    
  2. 서비스 주체를 만든 그룹의 구성원으로 할당합니다.

    # Returns the service principal of your Azure SQL resource
    $managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '<ServerName>'"
    $managedIdentity
    
    # Adds the service principal to the group
    New-MgGroupMember -GroupId $group.Id -DirectoryObjectId $managedIdentity.Id
    

    다음 명령은 그룹에 추가되었음을 나타내는 서비스 주체 개체 ID를 반환합니다.

    Get-MgGroupMember -GroupId $group.Id -Filter "Id eq '$($managedIdentity.Id)'"
    

다음 단계