다음을 통해 공유


Synapse SQL 인증에 Microsoft Entra 인증 사용

Microsoft Entra 인증은 Microsoft Entra ID의 ID를 사용하여 Azure Synapse Analytics에 연결하는 메커니즘입니다.

Microsoft Entra 인증을 사용하면 Azure Synapse에 액세스할 수 있는 사용자 ID를 중앙에서 관리하여 권한 관리를 간소화할 수 있습니다. 이점은 다음과 같습니다.

  • 일반 사용자 이름 및 암호 인증을 대신할 수 있는 대안을 제공합니다.
  • 서버 전체에서 사용자 ID의 확산을 중지하는 데 도움이 됩니다.
  • 한 곳에서 암호를 회전할 수 있습니다.
  • 고객은 외부(Microsoft Entra ID) 그룹을 사용하여 권한을 관리할 수 있습니다.
  • Windows 통합 인증과 Microsoft Entra ID에서 지원하는 기타 인증 형식을 사용하도록 설정하여 암호 저장을 제거할 수 있습니다.
  • Microsoft Entra ID는 Azure Synapse에 연결하는 애플리케이션에 대한 토큰 기반 인증을 지원합니다.
  • Microsoft Entra 인증은 도메인 동기화 없이 로컬 Microsoft Entra ID에 대한 ADFS(도메인 페더레이션) 또는 네이티브 사용자/암호 인증을 지원합니다.
  • Microsoft Entra ID는 MFA(다단계 인증)를 포함하는 Active Directory 유니버설 인증을 사용하는 SQL Server Management Studio에서의 연결을 지원합니다. MFA는 전화 통화, 문자 메시지, 모바일 앱 알림 등의 여러 가지 간편한 검증 옵션을 제공하는 강력한 인증을 포함합니다. 자세한 내용은 Synapse SQL을 사용한 Microsoft Entra 다단계 인증에 대한 SSMS 지원을 참조하세요.
  • Microsoft Entra ID는 Active Directory 대화형 인증을 사용하는 SSDT(SQL Server Data Tools)의 유사한 연결을 지원합니다. 자세한 내용은 SSDT(SQL Server Data Tools)의 Microsoft Entra ID 지원을 참조하세요.

구성 단계에는 Microsoft Entra 인증을 구성하고 사용하기 위한 다음 절차가 포함됩니다.

  1. Microsoft Entra ID를 만들고 채웁니다.
  2. Microsoft Entra ID 만들기
  3. Synapse 작업 영역에서 만들어진 Microsoft Entra ID에 역할 할당
  4. Microsoft Entra ID를 사용하여 Synapse Studio에 연결합니다.

Azure Synapse Analytics의 Microsoft Entra 통과

Azure Synapse Analytics를 사용하면 Microsoft Entra ID를 사용하여 데이터 레이크의 데이터에 액세스할 수 있습니다.

다른 데이터 엔진에 적용되는 파일 및 데이터에 대한 액세스 권한을 정의하면 여러 위치에서 권한을 정의할 필요 없이 한 위치에서 권한을 정의할 수 있으므로 데이터 레이크 솔루션을 단순화할 수 있습니다.

트러스트 아키텍처

다음 개략적인 다이어그램에는 Synapse SQL에서 Microsoft Entra 인증을 사용하는 솔루션 아키텍처가 요약되어 있습니다. Microsoft Entra 네이티브 사용자 암호를 지원하기 위해 Cloud 부분과 Azure AD/Synapse Synapse SQL만 고려됩니다. 페더레이션 인증(또는 Windows 자격 증명에 대한 사용자/암호)을 지원하려면 ADFS 블록과의 통신이 필요합니다. 화살표는 통신 경로 나타냅니다.

Microsoft Entra auth diagram

다음 다이어그램은 토큰을 제출하여 클라이언트가 데이터베이스에 연결할 수 있는 페더레이션, 신뢰 및 호스팅 관계를 나타냅니다. 토큰은 Microsoft Entra ID로 인증되며 데이터베이스에서 신뢰됩니다.

고객 1은 네이티브 사용자의 경우 Microsoft Entra ID를 나타내거나 페더레이션 사용자의 경우 Microsoft Entra ID를 나타낼 수 있습니다. 고객 2는 가져온 사용자를 포함하여 가능한 솔루션을 나타냅니다. 이 예에서는 ADFS가 Microsoft Entra ID와 동기화되는 페더레이션된 Microsoft Entra ID에서 가져옵니다.

Microsoft Entra 인증을 사용하여 데이터베이스에 액세스하려면 호스팅 구독이 Microsoft Entra ID에 연결되어 있어야 한다는 점을 이해해야 합니다. Azure SQL Database 또는 전용 SQL 풀을 호스트하는 SQL Server를 만들려면 동일한 구독을 사용해야 합니다.

subscription relationship

관리자 구조

Microsoft Entra 인증을 사용하는 경우 Synapse SQL에는 원래 SQL Server 관리자(SQL 인증 사용)와 Microsoft Entra 관리자라는 두 개의 관리자 계정이 있습니다. Microsoft Entra 계정을 기반으로 하는 관리자만이 사용자 데이터베이스에 첫 번째 Microsoft Entra ID가 포함된 데이터베이스 사용자를 만들 수 있습니다.

Microsoft Entra 관리자 로그인은 Microsoft Entra 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 관리자가 그룹 계정인 경우 모든 그룹 멤버가 이를 사용할 수 있으므로 Synapse SQL 인스턴스에 대해 여러 Microsoft Entra 관리자가 사용하도록 설정됩니다.

그룹 계정을 관리자 권한으로 사용하면 Azure Synapse Analytics 작업 영역에서 사용자 또는 권한을 변경하지 않고도 Microsoft Entra ID에서 그룹 멤버를 중앙에서 추가 및 제거할 수 있으므로 관리 효율성이 향상됩니다. 언제든지 한 명의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.

admin structure

사용 권한

새 사용자를 만들려면 데이터베이스에서 ALTER ANY USER 권한이 있어야 합니다. ALTER ANY USER 권한은 아무 데이터베이스 사용자에게나 부여할 수 있습니다. ALTER ANY USER 권한은 SQL 관리자 및 Microsoft Entra 관리자 계정, 해당 데이터베이스에 대해 CONTROL ON DATABASE 또는 ALTER ON DATABASE 권한이 있는 데이터베이스 사용자, 그리고 db_owner 데이터베이스 역할의 멤버가 보유합니다.

Synapse SQL에 포함된 데이터베이스 사용자를 만들려면 Microsoft Entra ID를 사용하여 데이터베이스 또는 인스턴스에 연결해야 합니다. 첫 번째 포함된 데이터베이스 사용자를 만들려면 Microsoft Entra 관리자(데이터베이스 소유자)를 사용하여 데이터베이스에 연결해야 합니다.

모든 Microsoft Entra 인증은 Microsoft Entra 관리자가 Synapse SQL용으로 만들어진 경우에만 가능합니다. Microsoft Entra 관리자가 서버에서 제거된 경우 Synapse SQL 내에서 이전에 만들어진 기존 Microsoft Entra 사용자는 더 이상 Microsoft Entra 자격 증명을 사용하여 데이터베이스에 연결할 수 없습니다.

로컬 인증 사용 안 함

Microsoft Entra 인증만 허용하여 SQL 풀과 같은 Azure Synapse 리소스에 대한 액세스를 중앙에서 관리합니다. 작업 영역을 만드는 동안 Synapse에서 로컬 인증을 사용하지 않도록 설정하려면 인증 방법으로 Microsoft Entra 인증만 사용을 선택합니다. SQL 관리자 로그인은 계속 만들어지지만 사용하지 않도록 설정됩니다. 로컬 인증은 나중에 Synapse 작업 영역의 Azure 소유자 또는 기여자가 사용하도록 설정할 수 있습니다.

Microsoft Entra-only auth configuration during workspace creation

Azure Portal을 통해 작업 영역을 만든 후 로컬 인증을 사용하지 않도록 설정할 수도 있습니다. Azure Synapse 작업 영역에 대해 Microsoft Entra 관리자가 만들어질 때까지 로컬 인증을 사용하지 않도록 설정할 수 없습니다.

Microsoft Entra-only auth configuration after workspace creation

Microsoft Entra 기능 및 제한 사항

  • Microsoft Entra ID의 다음 멤버를 Synapse SQL에서 프로비전할 수 있습니다.

    • 네이티브 멤버: 관리되는 도메인 또는 고객 도메인의 Microsoft Entra ID로 만들어진 멤버입니다. 자세한 내용은 Microsoft Entra ID에 고유의 도메인 이름 추가를 참조하세요.
    • 페더레이션된 도메인 멤버: 페더레이션된 도메인으로 Microsoft Entra ID에서 만들어진 멤버입니다. 자세한 내용은 Azure에 Active Directory Federation Services 배포를 참조하세요.
    • 네이티브 또는 페더레이션 도메인 멤버인 다른 Azure AD에서 가져온 멤버입니다.
    • 보안 그룹으로 만들어진 Active Directory 그룹.
  • db_owner 서버 역할이 있는 그룹에 속한 Microsoft Entra 사용자는 Synapse SQL에서 CREATE DATABASE SCOPED CREDENTIAL 구문을 사용할 수 없습니다. 다음 오류가 표시됩니다.

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    CREATE DATABASE SCOPED CREDENTIAL 문제를 완화하려면 개별 Microsoft Entra 사용자에게 직접 db_owner 역할을 부여합니다.

  • 이러한 시스템 함수는 Microsoft Entra 주체에서 실행될 때 NULL 값을 반환합니다.

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Microsoft Entra ID를 사용하여 연결

Microsoft Entra 인증은 Microsoft Entra ID를 사용하여 데이터베이스에 연결하는 다음 방법을 지원합니다.

  • Microsoft Entra 암호
  • Microsoft Entra 통합
  • MFA를 통한 Microsoft Entra Universal
  • 애플리케이션 토큰 인증 사용

Microsoft Entra 서버 주체(로그인)에 대해 다음 인증 방법이 지원됩니다.

  • Microsoft Entra 암호
  • Microsoft Entra 통합
  • MFA를 통한 Microsoft Entra Universal

추가 고려 사항

  • 관리 효율성을 높이려면 전용 Microsoft Entra 그룹을 관리자 권한으로 프로비전하는 것이 좋습니다.
  • 언제든지 Synapse SQL 풀에 대해 한 명의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.
    • Synapse SQL용 Microsoft Entra 서버 주체(로그인)를 추가하면 sysadmin 역할에 추가할 수 있는 여러 Microsoft Entra 서버 주체(로그인)를 만들 수 있습니다.
  • Synapse SQL의 Microsoft Entra 관리자만 처음에 Microsoft Entra 계정을 사용하여 Synapse SQL에 연결할 수 있습니다. Active Directory 관리자가 이후의 Microsoft Entra 데이터베이스 사용자를 구성할 수 있습니다.
  • 연결 제한 시간은 30초로 설정하는 것이 좋습니다.
  • SQL Server 2016 Management Studio 및 Visual Studio 2015용 SQL Server Data Tools(버전 14.0.60311.1 2016년 4월 이상)는 Microsoft Entra 인증을 지원합니다. (Microsoft Entra 인증은 .NET Framework Data Provider for SqlServer, 버전 .NET Framework 4.6 이상에서 지원됩니다.) 따라서 이러한 도구 및 데이터 계층 애플리케이션(DAC 및 .BACPAC)의 최신 버전은 Microsoft Entra 인증을 사용할 수 있습니다.
  • 버전 15.0.1부터 sqlcmd 유틸리티bcp 유틸리티는 MFA를 사용하는 Active Directory 대화형 인증을 지원합니다.
  • Visual Studio 2015용 SQL Server Data Tools는 Data Tools의 2016년 4월 버전 이상이 필요합니다(버전 14.0.60311.1). 현재 Microsoft Entra 사용자는 SSDT 개체 탐색기에 표시되지 않습니다. 해결 방법으로 sys.database_principals에서 사용자를 봅니다.
  • SQL Server용 Microsoft JDBC Driver 6.0은 Microsoft Entra 인증을 지원합니다. 또한 연결 속성 설정을 참조하세요.
  • Microsoft Entra 관리자 계정은 전용 풀에 대한 액세스를 제어하는 반면, Synapse RBAC 역할은 서버리스 풀에 대한 액세스를 제어하는 데 사용됩니다(예: Synapse 관리자Synapse SQL 관리자 역할). Synapse Studio를 통해 Synapse RBAC 역할을 구성합니다. 자세한 내용은 Synapse Studio에서 Synapse RBAC 역할 할당을 관리하는 방법을 참조하세요.
  • 사용자가 Microsoft Entra 관리자 및 Synapse 관리자로 구성된 후 Microsoft Entra 관리자 역할에서 제거되면 사용자는 Synapse의 전용 SQL 풀에 대한 액세스 권한을 잃게 됩니다. 사용자는 전용 SQL 풀에 대한 액세스 권한을 다시 얻으려면 제거된 다음, Synapse 관리자 역할에 추가되어야 합니다.

다음 단계