인증 방법 살펴보기

완료됨

Azure SQL Database에 대한 액세스는 로그인과 방화벽으로 보호됩니다. Azure SQL Database는 Microsoft Entra ID(이전의 Azure Active Directory)를 사용하여 SQL 인증 및 인증 모두에 대한 사용자 및 로그인을 지원합니다.

SQL 인증은 자격 증명이 SQL 데이터베이스 내에 직접 저장되는 기존의 방법입니다. 반면에 Microsoft Entra ID를 사용하면 사용자가 Azure Portal 또는 Microsoft 365와 같은 다른 Microsoft 서비스에 사용하는 것과 동일한 자격 증명을 사용하여 로그인할 수 있으므로 원활하고 통합된 로그인 환경을 제공합니다.

참고 항목

SQL Server 로그인을 사용하면 로그인 이름과 암호화된 암호가 네트워크를 통해 전송되어 보안이 저하됩니다.

Microsoft Entra 인증

ID 플랫폼의 필수 기능은 디바이스, 애플리케이션 또는 서비스에 로그인할 때 사용자 자격 증명을 인증하는 것입니다. Microsoft Entra ID 는 보안을 강화하고 지원 센터 지원을 최소화하기 위해 여러 구성 요소를 통합하여 사용자 이름과 암호를 확인하는 것 이상입니다. 이러한 구성 요소에는 셀프 서비스 암호 재설정, 다단계 인증, 암호 변경 내용을 동기화하고 온-프레미스 환경에서 암호 보호 정책을 적용하기 위한 하이브리드 통합 및 통과 인증이 포함됩니다.

Microsoft Entra 인증 구성

SQL Database를 호스팅하는 각 Azure 논리 서버는 단일 서버 관리자 계정으로 시작합니다. 이 계정은 master 데이터베이스에 포함된 데이터베이스 사용자이며 모든 사용자 데이터베이스에서 db_owner 역할 의 일부입니다. 그러나 보안을 강화하고 사용자 관리를 간소화하기 위해 추가 관리자로 Microsoft Entra 사용자를 만드는 것이 좋습니다.

지역 복제와 함께 Microsoft Entra ID를 사용하는 경우 기본 및 보조 SQL 서버 모두에 대해 Microsoft Entra 관리자를 구성해야 합니다. 이 구성이 없으면 Microsoft Entra 로그인 및 사용자에게 연결 오류가 발생합니다.

Azure Portal의 SQL Server 페이지로 이동하여 Azure SQL Database에 대한 Microsoft Entra 관리자를 구성할 수 있습니다. 이 페이지에서는 보안 설정을 포함하여 SQL Server의 다양한 측면을 관리하기 위한 중앙 집중식 위치를 제공합니다.

Microsoft Entra 관리자를 구성할 위치를 보여 주는 Azure SQL Database용 Azure Portal의 SQL Server 페이지 스크린샷

Azure SQL Database에 대한 Microsoft Entra 관리자를 프로비전한 후 CREATE LOGIN 구문을 사용하여 Microsoft Entra 서버 보안 주체(로그인)를 만들기 시작할 수 있습니다.

MFA(다단계 인증)

Microsoft Entra 다단계 인증 은 사용자가 암호, 스마트폰 또는 생체 인식 데이터와 같은 둘 이상의 인증 요소를 제공하도록 요구하여 보안을 강화합니다. 이 추가 보호 계층은 간단한 로그인 프로세스를 보장하면서 데이터 및 애플리케이션에 대한 액세스를 보호하는 데 도움이 되며 무단 액세스의 위험을 크게 줄입니다.

MFA 인증 유형을 보여 주는 SQL Server Managed Studio 대화 상자의 스크린샷.

올바른 사용자 이름 및 암호를 제공한 후 사용자는 푸시 알림에 응답하거나 Microsoft Authenticator 앱에서 액세스 코드를 입력하는 등의 추가 확인 단계를 완료해야 합니다. 이 프로세스를 통해 사용자의 기본 자격 증명이 손상되더라도 무단 액세스가 여전히 방지되므로 데이터베이스의 보안이 향상됩니다.

Microsoft Entra ID에서 사용할 수 있는 인증 및 확인 방법에 대한 자세한 내용은 Microsoft Entra ID에서 사용할 수 있는 인증 및 확인 방법을 참조하세요.

Microsoft Entra 인증을 사용하여 SQL Database에 연결하기

Microsoft Entra 인증은 Microsoft Entra ID의 ID를 사용하여 Azure SQL 데이터베이스, Azure SQL Managed Instance 및 Azure Synapse Analytics와 같은 데이터 원본에 액세스합니다. Microsoft.Data.SqlClient 네임스페이스를 사용하면 클라이언트 애플리케이션이 이러한 데이터베이스에 연결할 때 다양한 인증 모드에서 Microsoft Entra 자격 증명을 지정할 수 있습니다. Microsoft Entra 인증을 사용하려면 Azure SQL 내에서 구성하고 관리해야 합니다.

연결 문자열에서 Authentication 연결 속성을 설정하면 클라이언트는 선호하는 Microsoft Entra 인증 모드를 선택할 수 있습니다.

  • 암호 인증:Active Directory Password 인증 모드를 사용하면 네이티브 또는 페더레이션된 Microsoft Entra 사용자가 Microsoft Entra ID를 사용하여 Azure 데이터 원본에 인증할 수 있습니다. 이 모드에서는 연결 문자열에 사용자 자격 증명을 포함해야 합니다.
    Server=myserver.database.windows.net;Authentication=Active Directory Password; Encrypt=True; Database=mydb;User Id=user@domain.com; Password=***";    
    
  • 통합 인증: 인증 모드를 사용 Active Directory Integrated 하려면 클라우드의 Microsoft Entra ID에 연결된 온-프레미스 Active Directory 인스턴스가 필요합니다. 도메인에 가입된 컴퓨터에 로그인하면 자격 증명을 입력하라는 메시지가 표시되지 않고 Azure SQL 데이터 원본에 액세스할 수 있습니다. .NET Framework 애플리케이션의 경우 연결 문자열에는 사용자 이름 및 비밀번호를 지정할 수 없습니다. .NET Core 및 .NET Standard 애플리케이션의 경우 사용자 이름은 선택 사항입니다.
    Server=myserver.database.windows.net;Authentication=Active Directory Integrated; Encrypt=True; Database=mydb;";    
    
  • 서비스 주체 인증: 인증 모드에서 Active Directory Service Principal 클라이언트 애플리케이션은 서비스 주체의 클라이언트 ID 및 비밀을 사용하여 Azure SQL 데이터 원본에 연결합니다.
    Server=myserver.database.windows.net;Authentication=Active Directory Service Principal; Encrypt=True;Database=mydb; User Id=AppId; Password=secret"
    

다른 인증 옵션에 대한 자세한 내용은 Microsoft Entra 인증 및 SqlClient를 사용하여 Azure SQL에 연결을 참조하세요.