Microsoft Entra 인증을 사용하여 Azure Synapse Analytics에 연결합니다

이 글에서는 Microsoft Entra 인증을 사용해 Azure Synapse Analytics에 연결하는 방법을 보여줍니다.

Note

Microsoft Entra server principals는 현재 Azure Synapse Analytics에서 미리 보기 상태입니다.

Prerequisites

연결하려면 Azure Synapse 리소스에 대해 Microsoft Entra 인증을 설정해야 합니다.

Microsoft Entra 관리자가 제대로 설정되었는지 확인하려면 Microsoft Entra 관리자 계정으로 데이터베이스에 master 연결하세요.

Microsoft Entra 기반 포함된 데이터베이스 사용자를 생성하려면, 데이터베이스에 액세스할 수 있고 최소한 ALTER ANY USER 사용 권한을 가진 Microsoft Entra ID를 사용하여 데이터베이스에 연결해야 합니다.

SSMS 또는 SSDT를 사용하여 연결

다음 절차는 SQL Server Management Studio(SSMS) 또는 SQL Server Database Tools(SSDT)를 사용하여 Microsoft Entra 신원으로 Synapse SQL에 연결하는 방법을 보여줍니다.

Microsoft Entra 통합

Microsoft Entra ID에 연합된 Windows 자격 증명을 사용해 로그인하고 싶을 때 이 방법을 사용하세요. 자세한 내용은 Microsoft Entra 원활한 Single Sign-On을 참조하세요.

  1. SSMS 또는 SSDT를 시작하고 서버에 연결(또는 데이터베이스 엔진 연결) 대화 상자의 로그인 탭에서 다음을 수행합니다.

    1. SQL 엔드포인트에 대해 정규화된 서버 이름을 입력하세요. 엔드포인트 형식에 대해서는 Connect to Synapse SQL을 참조하세요.
    2. 인증의 경우 Microsoft Entra 통합을 선택합니다. 기존 자격 증명이 연결에 제공되기 때문에 비밀번호를 입력할 필요가 없습니다.
    3. 암호화는 Strict를 선택하세요.
  2. 연결 속성 탭의 데이터베이스에 연결 필드에 연결할 사용자 데이터베이스의 이름을 입력합니다.

Microsoft Entra 암호

Microsoft Entra 관리 도메인을 사용하여 Microsoft Entra 프린시펄 네임과 연결할 때 이 방법을 사용하세요. 예를 들어 원격 근무 시 도메인에 액세스할 수 없는 연합 계정에도 사용할 수 있습니다.

이 방법을 사용하여 Microsoft Entra 클라우드 전용 신원 사용자 또는 Microsoft Entra 하이브리드 신원을 가진 사용자를 사용해 Synapse SQL에 인증할 수 있습니다. 이 방법은 원격 접속을 사용할 때처럼 로컬 머신이 도메인에 가입되어 있지 않을 때도 Windows 자격 증명을 사용하고 싶은 사용자를 지원합니다.

  1. SSMS 또는 SSDT를 시작하고 서버에 연결(또는 데이터베이스 엔진 연결) 대화 상자의 로그인 탭에서 다음을 수행합니다.

    1. SQL 엔드포인트에 대해 정규화된 서버 이름을 입력하세요. 엔드포인트 형식에 대해서는 Connect to Synapse SQL을 참조하세요.
    2. 인증에서 Microsoft Entra 암호를 선택합니다.
    3. 사용자 이름 상자에 Microsoft Entra 사용자 이름을 username@domain.com 형식으로 입력합니다. 사용자 이름은 Microsoft Entra ID의 계정이거나 Microsoft Entra ID 관리 또는 페더레이션 도메인 계정이어야 합니다.
    4. 암호 상자에서 Microsoft Entra 계정 또는 관리/페더레이션 도메인 계정의 사용자 암호를 입력합니다.
    5. 암호화는 Strict를 선택하세요.
  2. 연결 속성 탭의 데이터베이스에 연결 필드에 연결할 사용자 데이터베이스의 이름을 입력합니다.

Microsoft Entra MFA

이 방법은 다단계 인증(MFA)을 사용하는 대화형 인증에 사용하며, 비밀번호를 대화형으로 요청합니다. 이 방법은 Microsoft Entra 클라우드 전용 신원 사용자 또는 Microsoft Entra 하이브리드 신원을 가진 사용자를 위해 Synapse SQL에 인증하는 데 사용할 수 있습니다.

다음 단계는 최신 SSMS 버전에서 다중인증(multifactor authentication)을 사용하여 연결하는 방법을 보여줍니다.

  1. MFA를 사용해 연결하려면 SSMS의 서버 연결 대화상자에서 Microsoft Entra MFA를 선택하세요.

  2. 서버 이름 칸에 서버 이름을 기입합니다. 사용자 이름 칸에 Microsoft Entra 자격 증명을 user_name@domain.com 형식으로 기입합니다.

  3. 연결을 선택합니다.

  4. 계정 로그인 대화상자가 뜨면, 2단계에서 제공하신 사용자 이름 이 미리 입력되어 있습니다. 사용자가 Microsoft Entra ID와 페더레이션된 도메인에 속해 있는 경우 암호가 필요하지 않습니다.

  5. MFA 관리자 설정에 따라 구성된 방법 중 하나를 사용하여 인증하라는 메시지가 표시됩니다.

  6. 확인이 완료되면, SSMS는 유효한 자격 증명과 방화벽 액세스를 전제로 정상적으로 연결됩니다.

Microsoft Entra 서비스 주체

이 방법을 사용해 Microsoft Entra 서비스 주체로 Synapse SQL에 인증하세요.

Microsoft Entra 관리 아이덴티티

이 방법을 사용해 Microsoft Entra 관리 신원으로 Synapse SQL에 인증하세요. 자세한 내용은 Azure Synapse Analytics의 Managed identities in Microsoft Entra를 참조하세요.

Microsoft Entra 기본값

Microsoft Entra ID의 기본 인증 옵션은 관리 신원을 포함한 비밀번호 없는 비상호작용 메커니즘을 통한 인증을 가능하게 합니다.

클라이언트 애플리케이션에서 연결

다음 절차는 클라이언트 애플리케이션에서 Microsoft Entra 아이덴티티로 Synapse SQL에 연결하는 방법을 보여줍니다. 이 목록에는 모든 인증 방법이 포함되어 있지 않습니다. 자세한 내용은 Microsoft Entra 인증 및 SqlClient를 참조하세요.

클라이언트 애플리케이션 구성

Note

System.Data.SqlClient는 더 이상 사용되지 않는 Azure ADAL(Active Directory 인증 라이브러리)을 사용합니다. Microsoft Entra 인증에 System.Data.SqlClient 네임스페이스를 사용하는 경우 애플리케이션을 Microsoft.Data.SqlClient 및 MSAL(Microsoft 인증 라이브러리)로 마이그레이션하세요. .NET에서 사용 가능한 연결 방법을 이해하려면 Microsoft Entra 인증과 SqlClient를 참조하세요.

애플리케이션에서 ADAL.DLL 을 계속 사용해야 한다면, 이 섹션의 링크를 통해 최신 ODBC 또는 OLE DB 드라이버를 설치하세요. 이 드라이버들은 최신 ADAL.DLL 라이브러리를 포함하고 있습니다.

애플리케이션이나 사용자가 Microsoft Entra 아이덴티티를 사용해 Azure Synapse Analytics에 접속하는 모든 클라이언트 기기에 다음 소프트웨어를 설치하세요:

다음을 통해 이러한 요구 사항을 충족할 수 있습니다.

  • 최신 버전의 SQL Server Management Studio 또는 SQL Server Data Tools를 설치하면 .NET Framework 4.6 요구 사항이 충족됩니다.
    • SSMS는 x86 버전의 ADAL.DLL을 설치합니다.
    • SSDT는 amd64 버전의 ADAL.DLL을 설치합니다.
    • Visual Studio 다운로드에서 제공되는 최신 Visual Studio는 .NET Framework 4.6 요구 사항을 충족하지만, 필요한 amd64 버전의 ADAL.DLL은 설치되지 않습니다.

Microsoft Entra 통합 인증

통합 Windows 인증을 사용하려면 도메인의 Active Directory가 Microsoft Entra ID와 연합되어 있어야 하거나, 도메인이 패스스루 또는 비밀번호 해시 인증을 위한 원활한 싱글 사인온이 구성된 관리 도메인이어야 합니다. 자세한 내용은 Microsoft Entra 원활한 Single Sign-On을 참조하세요.

데이터베이스에 연결하려면 애플리케이션(또는 서비스)이 사용자의 도메인 자격 증명 하에 도메인 가입된 기기에서 실행되어야 합니다.

통합 인증과 Microsoft Entra 아이덴티티를 사용하여 데이터베이스에 연결하려면 데이터베이스 연결 문자열에서 Active Directory Integrated 키워드를 Authentication(으)로 설정하세요. <server_name>을 논리 서버 이름으로 바꿉니다. 다음 C# 코드 예시에서는 ADO.NET을 사용합니다.

string ConnectionString = @"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

Synapse SQL에 연결할 때 연결 문자열 키워드는 Integrated Security=True는 지원되지 않습니다. ODBC 연결을 만들 때는 공백을 제거하고 인증을 ActiveDirectoryIntegrated로 설정하세요.

Microsoft Entra 암호 인증

Microsoft Entra 클라우드 전용 신원 사용자 계정이나 Microsoft Entra 하이브리드 신원을 사용하는 사용자를 사용하여 데이터베이스에 연결하려면 인증 키워드를 Active Directory Password로 설정하세요. 연결 문자열에는 사용자 ID/UID 암호/PWD 키워드와 값이 포함되어야 합니다. <server_name>, <email_address> 및 <password>을 적절한 값으로 변경합니다. 다음 C# 코드 예시에서는 ADO.NET을 사용합니다.

string ConnectionString =
@"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb; UID=<email_address>; PWD=<password>";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

Microsoft Entra 인증 GitHub 데모에서 제공하는 데모 코드 샘플을 사용하여 Microsoft Entra 인증 방법에 대해 더 알아보세요.

Microsoft Entra ID 액세스 토큰

이 인증 방법은 중간 계층 서비스가 Microsoft Entra ID에서 JSON 웹 토큰(JWT)을 획득하여 Microsoft Entra ID에서 토큰을 얻어 Synapse SQL에 연결할 수 있게 합니다. 이 방법을 사용하면 인증서 기반 인증을 사용하는 서비스 ID, 서비스 주체 및 애플리케이션을 포함한 다양한 애플리케이션 시나리오를 사용할 수 있습니다. Microsoft Entra 토큰 인증을 사용하려면 다음 네 가지 기본 단계를 완료해야 합니다.

  1. Microsoft Entra ID로 애플리케이션을 등록하고, 코드에 대한 클라이언트 ID를 가져옵니다.
  2. 애플리케이션을 나타내는 데이터베이스 사용자를 만듭니다(Microsoft Entra ID에 매핑된 포함된 사용자 만들기 섹션에 설명된 대로).
  3. 애플리케이션을 실행하는 클라이언트 컴퓨터에서 인증서를 생성하세요.
  4. 인증서를 애플리케이션의 키로 추가합니다.

샘플 연결 문자열: <server-name>을 논리 서버 이름으로 바꿉니다.

string ConnectionString = @"Data Source=<server-name>.database.windows.net; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your JWT token";
conn.Open();

인증서 추가에 대한 정보는 Microsoft Entra ID에서 인증서 기반 인증 시작를 참조하세요.

Microsoft Entra 다단계 인증

Microsoft Entra 다단계 인증은 모든 SQL 도구에 대해 지원되는 인증 방법입니다. Microsoft Entra ID을 통한 프로그래매틱 인증에 대한 자세한 내용은 MSAL(Microsoft 인증 라이브러리) 개요를 참조하세요.

sqlcmd

다음 SQL 문은 sqlcmd 버전 13.1을 사용하여 연결합니다. SQL Server용 Microsoft 명령줄 유틸리티 14.0 다운로드

Note

sqlcmd 명령을 사용하면 -G 시스템 ID에서 작동하지 않으며 사용자 계정 로그인이 필요합니다.

sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -G
sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -U adrian@contoso.com -P <password> -G -l 30