다음을 통해 공유


SQL 인증의 대안으로서 Microsoft Entra 인증

적용 대상:Microsoft Fabric의 ✅ SQL 분석 엔드포인트 및 웨어하우스

이 문서에서는 사용자와 고객이 Microsoft Fabric 내에서 SQL 인증에서 Microsoft Entra 인증으로 전환하는 데 사용할 수 있는 기술 방법을 설명합니다. Microsoft Entra 인증은 Microsoft Fabric의 레이크하우스 또는 웨어하우스의 SQL 분석 엔드포인트에 로그인하기 위한 SQL 인증을 통한 사용자 이름 및 암호의 대안입니다. Microsoft Entra 인증은 안전한 데이터 플랫폼을 만드는 데 만드는 데 권장되며 필수적입니다.

이 문서에서는 웨어하우스 또는 레이크하우스 SQL 분석 엔드포인트와 같은 Microsoft Fabric 항목의 SQL 인증의 대안으로서 Microsoft Entra 인증에 중점을 둡니다.

Fabric에서 Microsoft Entra 인증의 이점

Microsoft Fabric의 핵심 원칙 중 하나는 설계부터 보안을 강화하는 것입니다. Microsoft Entra는 강력한 데이터 보호, 거버넌스 및 규정 준수를 보장하여 Microsoft Fabric의 보안에 필수적입니다.

Microsoft Entra는 다음과 같은 여러 가지 이유로 Microsoft Fabric의 보안에 중요한 역할을 합니다.

  • 인증: 패브릭 내에서 작업에 대한 액세스 토큰을 부여하는 Microsoft Entra ID를 사용하여 사용자 및 서비스 주체 를 확인합니다.
  • 보안 액세스: 모든 디바이스 또는 네트워크에서 클라우드 앱에 안전하게 연결하여 Fabric에 대한 요청을 보호합니다.
  • 조건부 액세스: 관리자는 사용자 로그인 컨텍스트를 평가하거나 액세스를 제어하거나 추가 검증 단계를 적용하는 정책을 설정할 수 있습니다.
  • 통합: Microsoft Entra ID는 Fabric을 비롯한 모든 Microsoft SaaS 제품과 원활하게 작동하므로 디바이스 및 네트워크에서 쉽게 액세스할 수 있습니다.
  • 광범위한 플랫폼: Fabric 포털, SQL 연결 문자열, REST API 또는 XMLA 엔드포인트 등 모든 방법을 통해 Microsoft Entra ID를 사용하여 Microsoft Fabric에 액세스할 수 있습니다.

Microsoft Entra는 완전한 제로 트러스트 정책을 채택하여 사용자 이름 및 암호로 국한된 기존 SQL 인증보다 뛰어난 대안을 제공합니다. 이 접근 방식은 다음과 같습니다.

  • 사용자 사칭을 방지합니다.
  • 사용자 ID, 환경, 디바이스 등을 고려하여 세분화된 액세스 제어가 가능합니다.
  • Microsoft Entra 다단계 인증과 같은 고급 보안을 지원합니다.

Fabric 구성

웨어하우스 또는 레이크하우스 SQL 분석 엔드포인트에서 Microsoft Entra 인증을 사용하려면 테넌트작업 영역 설정 모두에서 구성이 필요합니다.

테넌트 설정

테넌트에서 패브릭 관리자는 패브릭 API에 대한 SPN(서비스 사용자 이름) 액세스를 허용해야 하며, SPN이 패브릭 웨어하우스 또는 SQL 분석 엔드포인트 항목에 대한 SQL 연결 문자열 인터페이스하는 데 필요합니다.

이 설정은 개발자 설정 섹션에 있으며 서비스 주체가 패브릭 API를 사용할 수 있다는 레이블이 지정됩니다. 사용하도록 설정되어 있는지 확인하세요.

테넌트 설정의 개발자 설정 페이지의 Fabric 포털 스크린샷.

작업 영역 설정

작업 영역의 패브릭 관리자는 패브릭 항목에 액세스하려면 사용자 또는 SPN에 대한 액세스 권한을 부여해야 합니다.

사용자/SPN에 액세스 권한을 부여하는 방법은 두 가지가 있습니다.

  • 역할에 사용자/SPN 멤버 자격 부여: 모든 작업 영역 역할(관리자, 멤버, 기여자 또는 뷰어)은 SQL 연결 문자열 사용하여 웨어하우스 또는 레이크하우스 항목에 연결하기에 충분합니다.

    1. 작업 영역의 액세스 관리 옵션에서 기여자 역할을 할당합니다. 자세한 내용은 서비스 역할을 참조하세요.
  • 특정 항목에 사용자/SPN을 할당합니다. Lakehouse의 특정 웨어하우스 또는 SQL 분석 엔드포인트에 대한 액세스 권한을 부여합니다. Fabric 관리자는 다양한 권한 수준에서 선택할 수 있습니다.

    1. 관련 웨어하우스 또는 SQL 분석 엔드포인트 항목으로 이동합니다.
    2. 추가 옵션을 선택한 다음 권한 관리를 선택합니다. 사용자 추가를 선택합니다.
    3. 사용자 액세스 권한 부여 페이지에서 사용자/SPN을 추가합니다.
    4. 사용자/SPN에 필요한 권한을 할당합니다. 연결 권한만 부여하려면 추가 권한 없음을 선택합니다.

    사용자에게 액세스 권한 부여 페이지의 Fabric 포털 스크린샷.

시스템에서 사용자 또는 SPN에 지정된 기본 권한을 변경할 수 있습니다. T-SQL GRANTDENY 명령을 사용하여 필요에 따라 권한을 변경하거나 ALTER ROLE을 사용하여 역할에 멤버 자격을 추가합니다.

현재 SPN에는 GRANT/DENY에 대한 자세한 권한 구성이 가능한 사용자 계정기능이 없습니다.

사용자 ID 및 SPN(서비스 사용자 이름) 지원

Fabric은 기본적으로 웨어하우스 및 SQL 분석 엔드포인트 항목에 대한 SQL 연결에서 Microsoft Entra 사용자 및 SPN(서비스 사용자 이름)에 대한 인증 및 권한 부여를 지원합니다.

  • 사용자 ID는 조직 내 각 사용자에 대한 고유한 자격 증명입니다.
  • SPN은 테넌트 내의 애플리케이션 개체를 나타내고 애플리케이션 인스턴스의 ID 역할을 하며 해당 애플리케이션을 인증하고 권한을 부여하는 역할을 합니다.

TDS(Tabular Data Stream) 지원

패브릭은 연결 문자열 연결할 때 SQL Server와 동일한 TDS(테이블 형식 데이터 스트림) 프로토콜을 사용합니다.

패브릭은 SQL 데이터베이스 엔진 사용하여 제품에 연결할 수 있는 모든 애플리케이션 또는 도구와 호환됩니다. SQL Server 인스턴스 연결과 마찬가지로 TDS는 TCP 포트 1433에서 작동합니다. 패브릭 SQL 연결 및 SQL 연결 문자열 찾는 방법에 대한 자세한 내용은 연결을 참조하세요.

샘플 SQL 연결 문자열은 <guid_unique_your_item>.datawarehouse.fabric.microsoft.com과 같습니다.

애플리케이션 및 클라이언트 도구는 연결 문자열에서 Authentication 연결 속성을 설정하여 Microsoft Entra 인증 모드를 선택할 수 있습니다. 다음 표에서는 Microsoft Entra MFA(다단계 인증) 지원을 포함하여 다양한 Microsoft Entra 인증 모드에 대해 자세히 설명합니다.

인증 모드 시나리오 의견
Microsoft Entra 대화형 사용자 인증이 대화형으로 이루어질 수 있는 상황 또는 자격 증명 확인을 위한 수동 개입이 허용되는 경우 애플리케이션 또는 도구에서 활용됩니다. MFAMicrosoft Entra 조건부 액세스 정책을 활성화하여 조직 규칙을 시행합니다.
Microsoft Entra 서비스 주체 앱에서 사람의 개입 없이 안전한 인증을 위해 사용하며, 애플리케이션 통합에 가장 적합합니다. Microsoft Entra 조건부 액세스 정책을 사용하도록 설정하는 것이 좋습니다.
Microsoft Entra 암호 애플리케이션이 비호환성으로 인해 SPN 기반 인증을 사용할 수 없거나, 많은 사용자에 대한 일반 사용자 이름과 암호가 필요하거나, 다른 방법을 사용할 수 없는 경우. MFA는 꺼져 있어야 하며 조건부 액세스 정책을 설정할 수 없습니다. 이 솔루션을 선택하기 전에 고객의 보안 팀에 유효성을 검사하는 것이 좋습니다.

Microsoft Entra 인증 모드 및 결정 사항을 보여 주는 순서도입니다.

Microsoft Entra 인증을 위한 드라이버 지원

대부분의 SQL 드라이버는 처음에는 Microsoft Entra 인증을 지원했지만, 최근 업데이트에서는 SPN 기반 인증을 포함하도록 호환성이 확장되었습니다. 이 향상된 기능은 드라이버 업그레이드를 통해 다양한 애플리케이션 및 도구에 대한 Microsoft Entra 인증으로의 전환을 간소화하고 Microsoft Entra 인증에 대한 지원을 추가합니다.

그러나 호스트 컴퓨터에서 Microsoft Entra 인증을 용이하게 하기 위해 특정 포트 또는 방화벽을 사용하도록 설정하는 등의 추가 설정을 조정해야 하는 경우도 있습니다.

애플리케이션 및 도구는 드라이버를 Microsoft Entra 인증을 지원하는 버전으로 업그레이드하고 SQL 연결 문자열 인증 모드 키워드를 추가해야 합니다(예: ActiveDirectoryInteractive< ActiveDirectoryServicePrincipala0/>)ActiveDirectoryPassword.

Fabric은 OLE DB, Microsoft.Data.SqlClient를 비롯한 Microsoft의 네이티브 드라이버 및 ODBC, JDBC와 같은 일반 드라이버와 호환됩니다. 애플리케이션이 Fabric과 함께 작동하도록 하는 전환은 재구성을 통해 Microsoft Entra ID 기반 인증을 사용하도록 관리할 수 있습니다.

자세한 내용은 Microsoft Azure의 데이터 웨어하우징 연결을 참조하세요.

Microsoft OLE DB

OLE DB Driver for SQL Server는 OLE DB용으로 설계된 독립 실행형 데이터 액세스 API로, SQL Server 2005(9.x)에서 처음 릴리스되었습니다. 이후 확장된 기능에는 이전 버전의 기존 인증 방법에 추가된 18.5.0 버전의 SPN 기반 인증이 포함되었습니다.

인증 모드 SQL 연결 문자열
Microsoft Entra 대화형 Microsoft Entra 대화형 인증
Microsoft Entra 서비스 주체 Microsoft Entra 서비스 주체 인증
Microsoft Entra 암호 Microsoft Entra 사용자 이름 및 암호 인증

SPN 기반 인증을 통해 OLE DB를 사용하는 코드 조각은 System.Data.OLEDB.Connect.cs를 참조하세요.

Microsoft ODBC 드라이버

Microsoft ODBC Driver for SQL Server는 네이티브 코드 API를 사용하여 SQL Server에 연결하는 애플리케이션에 대한 런타임 지원을 포함하는 단일 DLL(동적 연결 라이브러리)입니다. 애플리케이션이 Fabric과 통합되도록 최신 버전을 사용하는 것이 좋습니다.

ODBC를 사용한 Microsoft Entra 인증에 대한 자세한 내용은 ODBC 드라이버 샘플 코드와 함께 Microsoft Entra ID 사용을 참조하세요.

인증 모드 SQL 연결 문자열
Microsoft Entra 대화형 DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Microsoft Entra 서비스 주체 DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Microsoft Entra 암호 DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

SPN 기반 인증을 통해 ODBC를 사용하는 Python 코드 조각은 pyodbc-dw-connectivity.py를 참조하세요.

Microsoft JDBC Driver

Microsoft JDBC Driver for SQL Server는 Java 플랫폼에서 사용 가능한 표준 JDBC API(애플리케이션 인터페이스)를 통해 데이터베이스 연결을 제공하는 유형 4 JDBC 드라이버입니다.

버전 9.2부터 mssql-jdbcActiveDirectoryInteractiveActiveDirectoryServicePrincipal에 대한 지원이 도입되었으며, 버전 12.2 이상에서는 ActiveDirectoryPassword가 지원됩니다. 이 드라이버에는 종속성으로 추가 jar가 필요하며, 이는 애플리케이션에서 사용되는 mssql-driver 버전과 호환되어야 합니다. 자세한 내용은 JDBC 드라이버의 기능 종속성클라이언트 설정 요구 사항을 참조하세요.

인증 모드 자세한 정보
Microsoft Entra 대화형 ActiveDirectoryInteractive 인증 모드를 사용하여 연결
Microsoft Entra 서비스 주체 ActiveDirectoryServicePrincipal 인증 모드를 사용하여 연결
Microsoft Entra 암호 ActiveDirectoryPassword 인증 모드를 사용하여 연결

SPN 기반 인증을 통해 JDBC를 사용하는 Java 코드 조각은 fabrictoolbox/dw_connect.javasample pom file pom.xml을 참조하세요.

NET Core(C#)의 Microsoft.Data.SqlClient

Microsoft.Data.SqlClient는 Microsoft SQL Server 및 Azure SQL Database의 데이터 공급자입니다. 이는 .NET Framework 및 .NET Core에 독립적으로 존재하는 두 System.Data.SqlClient 구성 요소의 결합으로, Microsoft SQL Server 데이터베이스에 액세스하기 위한 클래스 집합을 제공합니다. Microsoft.Data.SqlClient는 모든 신규 및 향후 개발에 권장됩니다.

인증 모드 자세한 정보
Microsoft Entra 대화형 대화형 인증 사용
Microsoft Entra 서비스 주체 서비스 주체 인증 사용
Microsoft Entra 암호 암호 인증 사용

SPN을 사용하는 코드 조각: