SQL Server Microsoft Entra 인증
적용 대상: SQL Server 2022(16.x)
SQL Server 2022(16.x)는 Windows 및 Linux 온-프레미스 모두에서 Microsoft Entra ID(구 Azure Active Directory)와 Azure Windows VM의 SQL Server를 사용하여 인증을 지원합니다.
독립 실행형 SQL Server 인스턴스 또는 Always On 가용성 그룹에서 Microsoft Entra ID를 사용합니다. SQL Server 장애 조치(failover) 클러스터 인스턴스는 현재 Microsoft Entra 인증을 지원하지 않습니다.
개요
이제 다음 Microsoft Entra 인증 메서드를 사용하여 SQL Server에 연결할 수 있습니다.
- 기본 인증
- 사용자 이름 및 암호
- 통합:
- 다단계 인증을 통한 유니버설
- 서비스 주체
- 관리 ID
- 액세스 토큰
SQL 인증과 Windows 인증 같은 기존 인증 모드는 변경되지 않습니다.
Microsoft Entra ID는 Azure의 클라우드 기반 ID 및 액세스 관리 서비스입니다. Microsoft Entra ID는 Active Directory와 개념적으로 비슷하며 조직의 리소스에 대한 액세스를 관리하기 위한 중앙 집중식 리포지토리를 제공합니다. ID는 사용자, 그룹 또는 애플리케이션을 나타내는 Microsoft Entra ID의 개체입니다. 역할 기반 액세스 제어를 통해 권한을 할당하고 Azure 리소스에 대한 인증에 사용할 수 있습니다. Microsoft Entra 인증은 다음에 대해 지원되지 않습니다.
- Azure SQL Database
- Azure SQL Managed Instance
- Windows Azure VM의 SQL Server
- Azure Synapse Analytics
- SQL Server
자세한 정보는 Azure SQL를 사용하여 Microsoft Entra 인증 사용 및 Azure SQL로 Microsoft Entra 인증 구성 및 관리를 참조하세요.
Windows Server Active Directory가 Microsoft Entra ID와 페더레이션된 경우, 사용자는 Windows 로그인 또는 Microsoft Entra 로그인으로 자신의 Windows 자격 증명을 사용하여 SQL Server를 인증할 수 있습니다. Microsoft Entra ID는 서비스 계정이나 복잡한 네트워킹 포리스트 아키텍처와 같이 Windows Server Active Directory에서 지원하는 모든 AD 기능을 지원하지는 않습니다. Active Directory에서 사용할 수 없는 다단계 인증과 같은 Microsoft Entra ID의 다른 기능이 있습니다. 자세한 내용은 Active Directory와 Microsoft Entra ID 비교를 참조하세요.
Microsoft Entra ID를 사용하여 SQL Server에 연결
SQL Server가 Azure와 통신하려면 SQL Server와 그것이 실행되는 Windows 또는 Linux 호스트 모두 Azure Arc에 등록되어야 합니다. 그러려면 Azure Arc 에이전트 및 SQL Server의 Azure 익스텐션을 설치해야 합니다.
시작하려면 Azure Arc에 SQL Server 연결을 참조하세요.
참고 항목
Azure VM에서 SQL Server를 실행하는 경우 Azure Arc에 VM을 등록할 필요가 없으며 대신 SQL IaaS 에이전트 익스텐션에 VM을 등록해야 합니다. VM이 등록되면 자세한 정보는 Azure VM에서 SQL Server에 대한 Azure AD 인증 사용을 참조 하세요.
기본 인증
암호가 필요 없는 비대화형 메커니즘을 통해 인증할 수 있는 관리 ID, Visual Studio, Visual Studio Code, Azure CLI 등을 포함한 Microsoft Entra ID의 기본 인증 옵션.
사용자 이름 및 암호
클라이언트 및 드라이버에 대한 사용자 이름 및 비밀번호를 지정할 수 있습니다. 사용자 이름 및 비밀번호 메서드는 일반적으로 보안상의 이유로 많은 테넌트에서 사용하지 않도록 설정됩니다. 연결은 암호화되어 있지만 네트워크를 통해 비밀번호를 보내야 하므로 가능한 경우 사용자 이름 및 비밀번호를 사용하지 않는 것이 좋습니다.
통합:
IWA(통합 Windows 인증)를 통해 Microsoft Entra ID는 온-프레미스 및 클라우드 인프라를 모두 갖춘 조직에 솔루션을 제공합니다. 온-프레미스 Active Directory 도메인은 페더레이션을 통해 Microsoft Entra ID와 동기화할 수 있으므로 사용자 인증이 온-프레미스로 유지되는 동안 Microsoft Entra ID 내에서 관리 및 액세스 제어를 처리할 수 있습니다. IWA를 사용하면 사용자의 Windows 자격 증명이 Active Directory에 대해 인증되고 성공하면 Microsoft Entra ID에서 사용자의 인증 토큰이 SQL로 반환됩니다.
다단계 인증을 통한 유니버설
Microsoft Entra 계정 다단계 인증 옵션을 사용하는 표준 대화형 메서드입니다. 대부분의 시나리오에서 사용할 수 있습니다.
서비스 사용자
서비스 주체는 자동화된 도구, 작업 및 애플리케이션과 함께 사용하기 위해 만들어진 ID입니다. 서비스 주체 인증 방법을 사용하면 서비스 주체 ID의 클라이언트 ID 및 비밀을 사용하여 SQL Server 인스턴스에 연결할 수 있습니다.
관리 ID
관리 ID는 특별한 형태의 서비스 주체입니다. 관리 ID에는 시스템 할당 및 사용자 할당의 두 가지 유형이 있습니다. 시스템 할당 관리 ID는 Azure 리소스에서 직접 사용하도록 설정되지만 사용자 할당 관리 ID는 하나 이상의 Azure 리소스에 할당할 수 있는 독립 실행형 리소스입니다.
참고 항목
관리 ID를 사용하여 SSMS 및 ADS와 같은 GUI 클라이언트를 통해 SQL 리소스에 연결하려면 클라이언트 애플리케이션을 실행하는 컴퓨터에 ID의 인증서가 저장된 상태로 실행되는 Microsoft Entra 클라이언트가 있어야 합니다. 이 작업은 VM의 포털 창을 통해 컴퓨터에 ID를 쉽게 할당할 수 있으므로 Azure VM을 통해 가장 일반적으로 수행됩니다.
SSMS(SQL Server Management Studio)와 같은 Azure ID 라이브러리를 사용하는 도구의 경우 관리 ID와 연결할 때 abcd1234-abcd-1234-abcd-abcd1234abcd1234
와 같은 로그인용 GUID를 사용해야 합니다. 자세한 정보는 (ManagedIdentityCredential)을 참조하세요. 사용자 이름을 잘못 전달하면 다음과 같은 오류가 발생합니다.
ManagedIdentityCredential authentication unavailable. The requested identity has not been assigned to this resource.
Status: 400 (Bad Request)
Content:
{"error":"invalid_request","error_description":"Identity not found"}
액세스 토큰
Invoke-sqlcmd 같은 일부 비GUI 클라이언트에서는 액세스 토큰을 제공할 수 있습니다. 액세스 토큰의 범위 또는 대상 그룹은 https://database.windows.net/
이어야 합니다.
설명
- 지원되는 Windows 또는 Linux 운영 체제가 있는 SQL Server 2022(16.x) 온-프레미스 또는 Windows Azure VM의 SQL Server 2022만 Microsoft Entra 인증이 지원됩니다.
- SQL Server를 Microsoft Azure Arc에 연결하려면 Microsoft Entra 계정에 다음 권한이 필요합니다.
- Azure Connected Machine 온보딩 그룹의 멤버 또는 리소스 그룹의 Contributor 역할.
- 리소스 그룹의 Azure Connected Machine 리소스 관리자 역할의 멤버.
- 리소스 그룹의 Reader 역할의 멤버.
- MICROSOFT Entra 인증은 SQL Server 장애 조치(failover) 클러스터 인스턴스에 대해 지원되지 않습니다.