Microsoft Entra 인증 사용

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

이 문서에서는 Microsoft Entra ID(이전의 Azure Active Directory)를 사용하여 Azure SQL Database, Azure SQL Managed Instance, Windows Azure VM의 SQL Server, Azure Synapse Analytics의 Synapse SQLWindows 및 Linux용 SQL Server에 인증하는 방법에 대한 개요를 제공합니다.

Azure AD를 만들고 채운 다음, Azure Synapse Analytics에서 Azure SQL Database, Azure SQL Managed Instance 및 Synapse SQL을 사용하여 Azure AD를 구성하는 방법에 대해 알아보려면 Azure AD 구성Azure VM에서 SQL Server를 사용하는 Azure AD를 검토하세요.

참고 항목

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

개요

Microsoft Entra 인증을 사용하면 데이터베이스 사용자의 ID와 기타 Microsoft 서비스를 하나의 중앙 위치에서 중앙 집중식으로 관리할 수 있습니다. 중앙 ID 관리는 데이터베이스 사용자 관리를 위한 단일 위치를 제공하며 권한 관리를 간소화합니다. 이점은 다음과 같습니다.

  • SQL Server 인증에 대한 대안을 제공합니다.

  • 서버 전체에서 사용자 ID의 확산을 중지하는 데 유용합니다.

  • 한 곳에서 암호를 회전할 수 있습니다.

  • 고객은 Microsoft Entra ID 그룹을 사용하여 데이터베이스 권한을 관리할 수 있습니다.

  • Windows 통합 인증과 Microsoft Entra ID에서 지원하는 기타 인증 형식을 사용하도록 설정하여 암호 저장을 제거할 수 있습니다.

  • Microsoft Entra 인증은 포함된 데이터베이스 사용자를 사용하여 데이터베이스 수준에서 ID를 인증합니다.

  • Microsoft Entra ID는 SQL Database 및 SQL Managed Instance에 연결되는 애플리케이션에 대한 토큰 기반 인증을 지원합니다.

  • Microsoft Entra 인증은 다음을 지원합니다.

    • Microsoft Entra 클라우드 전용 ID.
    • 지원하는 Microsoft Entra 하이브리드 ID.
      • 원활한 SSO(Single Sign-On) 통과 인증 및 암호 해시 인증과 결합된 두 옵션이 있는 클라우드 인증.
      • 페더레이션 인증.
    • Microsoft Entra 인증 방법 및 여떤 방법을 선택해야 하는 지에 대한 자세한 내용은 다음 문서를 참조하세요.
  • SQL Server Management Studio는 다단계 인증과 함께 Microsoft Entra를 사용하는 연결을 지원합니다. 다단계 인증은 전화 통화, 문자 메시지, PIN을 사용하는 스마트 카드, 모바일 앱 알림 등의 폭넓은 확인 옵션이 포함된 강력한 인증 기능을 제공합니다. 자세한 내용은 Azure SQL Database, SQL Managed Instance 및 Azure Synapse를 사용하는 Microsoft Entra 다단계 인증에 대한 SSMS 지원을 참조하세요.

  • SSDT(SQL Server Data Tools)는 Microsoft Entra ID를 사용하는 다양한 인증 옵션도 지원합니다. 자세한 내용은 SSDT(SQL Server Data Tools)의 Microsoft Entra ID 지원을 참조하세요.

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

  1. Microsoft Entra 테넌트 만들기 및 채우기.
  2. 선택 사항: 현재 Azure 구독과 연결된 현재 디렉토리를 연결하거나 변경합니다.
  3. Microsoft Entra 데이터베이스 관리자 만들기.
  4. 클라이언트 컴퓨터를 구성합니다.
  5. Microsoft Entra ID에 매핑된 데이터베이스에 포함된 데이터베이스 사용자를 만듭니다.
  6. Microsoft Entra ID를 사용하여 데이터베이스에 연결합니다.

참고 항목

Azure SQL, Azure VM 및 SQL Server 2022의 경우 Microsoft Entra 인증은 Microsoft Entra ID에서 생성된 액세스 토큰만 지원하고 타사 액세스 토큰은 지원하지 않습니다. 또한 Microsoft Entra ID는 Microsoft Entra ID 쿼리를 타사 엔드포인트로의 리디렉션을 지원하지 않습니다. 이는 모든 SQL 플랫폼 및 Microsoft Entra 인증을 지원하는 모든 운영 체제에 적용됩니다.

트러스트 아키텍처

  • Microsoft Entra ID, SQL Database, SQL Managed Instance, Windows Azure VM의 SQL Server 및 Azure Synapse의 클라우드 부분만 Microsoft Entra 원시 사용자 암호를 지원하는 것으로 간주됩니다.
  • Windows Single Sign-On 자격 증명(또는 Windows 자격 증명에 대한 사용자/암호)를 지원하려면 통과 인증 및 암호 해시 인증을 위한 원활한 Single Sign-On을 위해 구성된 페더레이션 또는 관리 도메인의 Microsoft Entra 자격 증명을 사용합니다. 자세한 내용은 Microsoft Entra 원활한 Single Sign-On을 참조하세요.
  • 페더레이션 인증(또는 Windows 자격 증명에 대한 사용자/암호)을 지원하려면 ADFS 블록과의 통신이 필요합니다.

Microsoft Entra 하이브리드 ID, 설정 및 동기화에 대한 자세한 내용은 다음 문서를 참조하세요.

ADFS 인프라 또는 Windows 자격 증명에 대한 사용자/암호를 사용하는 샘플 페더레이션 인증은 아래 다이어그램을 참조하세요. 화살표는 통신 경로 나타냅니다.

Diagram of Microsoft Entra authentication for Azure SQL.

다음 다이어그램은 토큰을 제출하여 클라이언트가 데이터베이스에 연결할 수 있는 페더레이션, 신뢰 및 호스팅 관계를 나타냅니다. 토큰은 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 Managed Instance 또는 Azure Synapse 리소스를 만들려면 동일한 구독을 사용해야 합니다.

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

관리자 구조

Microsoft Entra 인증을 사용할 경우, 두 개의 관리자(기존 Azure SQL Database 관리자와 Microsoft Entra 관리자) 계정이 있습니다. Azure Synapse에도 동일한 개념이 적용됩니다. Microsoft Entra 계정을 기반으로 하는 관리자만이 사용자 데이터베이스에 첫 번째 Microsoft Entra ID가 포함된 데이터베이스 사용자를 만들 수 있습니다. Microsoft Entra 관리자 로그인은 Microsoft Entra 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 관리자가 그룹 계정인 경우 모든 그룹 멤버가 이를 사용할 수 있으므로 서버에 대해 여러 Microsoft Entra 관리자가 사용하도록 설정됩니다. 그룹 계정을 관리자 권한으로 사용하면 SQL 서버 또는 Azure Synapse의 사용자나 권한을 변경하지 않고도 Microsoft Entra ID에서 그룹 멤버를 중앙에서 추가 및 제거할 수 있으므로 관리 효율성이 향상됩니다. 언제든지 한 명의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

참고 항목

Azure SQL을 사용한 Microsoft Entra 인증은 Azure SQL 리소스가 현재 있는 단일 Microsoft Entra 테넌트만 지원합니다. 이 테넌트의 모든 Microsoft Entra 개체는 이 테넌트에서 Azure SQL에 대한 액세스를 허용하는 사용자로 설정할 수 있습니다. Microsoft Entra 관리자는 Azure SQL 리소스의 테넌트여야 합니다. 다른 테넌트에서 Azure SQL에 액세스하는 Microsoft Entra 다중 테넌트 인증은 지원되지 않습니다.

사용 권한

새 사용자를 만들려면 데이터베이스에서 ALTER ANY USER 권한이 있어야 합니다. ALTER ANY USER 권한은 아무 데이터베이스 사용자에게나 부여할 수 있습니다. 서버 관리자 계정과, 해당 데이터베이스에 대한 CONTROL ON DATABASE 또는 ALTER ON DATABASE 권한이 있는 데이터베이스 사용자와, db_owner 데이터베이스 역할 그룹의 구성원도 ALTER ANY USER 권한을 보유할 수 있습니다.

Azure SQL Database, Azure SQL Managed Instance 또는 Azure Synapse에 포함된 데이터베이스 사용자를 만들려면 Microsoft Entra ID를 사용하여 데이터베이스 또는 인스턴스에 연결해야 합니다. 첫 번째 포함된 데이터베이스 사용자를 만들려면 Microsoft Entra 관리자(데이터베이스 소유자)를 사용하여 데이터베이스에 연결해야 합니다. 이 내용은 SQL Database 또는 Azure Synapse에서 AMicrosoft Entra 인증 구성 및 관리에서 더 자세히 알아 볼 수 있습니다. Microsoft Entra 인증은 Microsoft Entra 관리가 Azure SQL Database, Azure SQL Managed Instance 또는 Azure Synapse에 대해 생성된 경우에만 가능합니다. Microsoft Entra 관리가 서버에서 제거된 경우 해당 서버에서 이전에 만들어진 기존 Microsoft Entra 사용자는 더 이상 Microsoft Entra 자격 증명을 사용하여 데이터베이스에 연결할 수 없습니다.

Microsoft Entra 기능 및 제한 사항

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

    • Microsoft Entra 사용자: 내부, 외부, 게스트 및 멤버를 포함하여 Microsoft Entra 테넌트에 있는 모든 유형의 사용자 입니다. Microsoft Entra ID 페더레이션에 대해 구성된 기본 Active Directory의 멤버도 지원되며 원활한 Single Sign-On을 위해 구성할 수 있습니다.
    • 애플리케이션: Azure에 있는 애플리케이션은 서비스 주체 또는 관리 ID를 사용하여 Azure SQL Database에 직접 인증할 수 있습니다. 암호가 없고 개발자 관리 자격 증명이 필요하지 않으므로 인증에 관리 ID를 사용하는 것이 좋습니다.
    • Microsoft Entra 그룹은 그룹 멤버 자격에 따라 적절한 사용자 및 애플리케이션 액세스를 관리하여 조직 전체에서 액세스 관리를 간소화할 수 있습니다.
  • db_owner 서버 역할을 가진 그룹의 일부인 Microsoft Entra 사용자는 Azure SQL Database 및 Azure Synapse에 대해 CREATE DATABASE SCOPED CREDENTIAL 구문을 사용할 수 없습니다. 다음 오류가 표시됩니다.

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't 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(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • Azure SQL Database는 Microsoft Entra 그룹 멤버 자격의 일부로 로그인한 사용자에 대한 암시적 사용자를 만들지 않습니다. 따라서 Microsoft Entra 그룹이 해당 권한이 있는 역할에 멤버로 추가되더라도 소유권을 할당해야 하는 다양한 작업이 실패합니다.

    예를 들어 db_ddladmin 역할이 있는 Microsoft Entra 그룹을 통해 데이터베이스에 로그인한 사용자는 스키마가 명시적으로 정의되지 않은 CREATE SCHEMA, ALTER SCHEMA 및 기타 개체 만들기 문(예: 테이블, 뷰 또는 형식)을 실행할 수 없습니다. 이 문제를 해결하려면 해당 사용자에 대해 Microsoft Entra 사용자를 만들어야 합니다. 또는 dbo에 DEFAULT_SCHEMA를 할당하려면 Microsoft Entra 그룹을 변경해야 합니다.

SQL Managed Instance

  • Azure AD 서버 주체(로그인) 및 사용자는 SQL Managed Instance에 대해 지원됩니다.

  • Microsoft Entra 그룹에 매핑된 Microsoft Entra 로그인을 데이터베이스 소유자로 설정하는 것은 SQL Managed Instance에서 지원되지 않습니다.

    • 이것이 확장되어 그룹이 dbcreator 서버 역할의 일부로 추가되면 이 그룹의 사용자는 SQL Managed Instance에 연결하여 새 데이터베이스를 만들 수 있지만 데이터베이스에 액세스할 수는 없습니다. 새 데이터베이스 소유자는 Microsoft Entra 사용자가 아닌 SA이기 때문입니다. 개별 사용자가 dbcreator 서버 역할에 추가되면 이 문제가 발생하지 않습니다.
  • Microsoft Entra 로그인에 대해 SQL 에이전트 관리 및 작업 실행이 지원됩니다.

  • 데이터베이스 백업 및 복원 작업은 Microsoft Entra 로그인에서 실행할 수 있습니다.

  • Microsoft Entra 서버 주체(로그인) 및 인증 이벤트와 관련된 모든 문을 감사할 수 있습니다.

  • sysadmin 서버 역할의 구성원인 Microsoft Entra 서버 주체(로그인)의 관리자 전용 연결이 지원됩니다.

    • SQLCMD 유틸리티 및 SQL Server Management Studio를 통해 지원됩니다.
  • 로그온 트리거는 Microsoft Entra 로그인에서 수신되는 로그온 이벤트에 대해 지원됩니다.

  • Service Broker 및 DB 메일은 Microsoft Entra 로그인을 사용하여 설정할 수 있습니다.

Microsoft Entra ID를 사용하여 연결

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

  • Microsoft Entra 암호
  • Microsoft Entra 통합
  • Microsoft Entra 유니버셜 다단계 인증
  • 애플리케이션 토큰 인증 사용

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

  • Microsoft Entra 암호
  • Microsoft Entra 통합
  • Microsoft Entra 유니버셜 다단계 인증

추가 고려 사항

  • 관리 효율성을 높이려면 전용 Microsoft Entra 그룹을 관리자 권한으로 프로비전하는 것이 좋습니다.
  • SQL Database 또는 Azure Synapse 서버에는 대해 항상 한 명의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.
    • SQL Managed Instance에 Microsoft Entra 서버 주체(로그인)를 추가하면 sysadmin 역할에 추가할 수 있는 여러 Microsoft Entra 서버 주체(로그인)를 만들 수 있습니다.
  • 처음에는Microsoft Entra 관리자만 Microsoft Entra 계정을 사용하여 유연한 서버에 연결할 수 있습니다. Microsoft Entra 관리자는 이후 Microsoft Entra 데이터베이스 사용자 또는 Microsoft Entra 그룹을 구성할 수 있습니다.
  • 2,048개 이상의 Microsoft Entra 보안 그룹의 멤버인 Microsoft Entra 사용자와 서비스 주체(Microsoft Entra 애플리케이션)는 SQL Database, SQL Managed Instance, Azure Synapse의 데이터베이스에 로그인할 수 없습니다.
  • 연결 제한 시간은 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 유틸리티는 다단계 인증을 사용하는 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 인증을 지원합니다. 또한 연결 속성 설정을 참조하세요.
  • PolyBase는 Microsoft Entra 인증을 사용하여 인증할 수 없습니다.
  • Microsoft Entra 인증은 Azure Portal 데이터베이스 가져오기데이터베이스 내보내기 블레이드로 Azure SQL Database 및 Azure Synapse에서 지원됩니다. Microsoft Entra 인증을 사용한 가져오기 및 내보내기도 PowerShell 명령에서 지원됩니다.
  • Microsoft Entra 인증은 CLI를 사용하여 SQL Database, SQL Managed Instance 및 Azure Synapse에 대해 지원됩니다. 자세한 내용은 SQL Database 또는 Azure Synapse를 사용하여 Microsoft Entra 인증 구성 및 관리SQL Server - az sql server를 참조하세요.

다음 단계