Azure SQL 대한 Azure 보안 기준

이 보안 기준은 Microsoft 클라우드 보안 벤치마크 버전 1.0의 지침을 Azure SQL 적용합니다. Microsoft 클라우드 보안 벤치마크는 Azure에서 클라우드 솔루션을 보호하는 방법에 대한 권장 사항을 제공합니다. 콘텐츠는 Microsoft 클라우드 보안 벤치마크에서 정의한 보안 컨트롤 및 Azure SQL 적용되는 관련 지침에 따라 그룹화됩니다.

클라우드용 Microsoft Defender 사용하여 이 보안 기준 및 권장 사항을 모니터링할 수 있습니다. Azure Policy 정의는 클라우드용 Microsoft Defender 포털 페이지의 규정 준수 섹션에 나열됩니다.

기능에 관련 Azure Policy 정의가 있는 경우 Microsoft 클라우드 보안 벤치마크 컨트롤 및 권장 사항 준수를 측정하는 데 도움이 되도록 이 기준에 나열됩니다. 일부 권장 사항에는 특정 보안 시나리오를 사용하도록 설정하기 위해 유료 Microsoft Defender 계획이 필요할 수 있습니다.

참고

Azure SQL 적용할 수 없는 기능이 제외되었습니다. Azure SQL Microsoft 클라우드 보안 벤치마크에 완전히 매핑하는 방법을 보려면 전체 Azure SQL 보안 기준 매핑 파일을 참조하세요.

보안 프로필

보안 프로필에는 Azure SQL 영향이 큰 동작이 요약되어 보안 고려 사항이 증가할 수 있습니다.

서비스 동작 특성
제품 범주 데이터베이스
고객이 HOST/OS에 액세스할 수 있습니다. 액세스 권한 없음
서비스를 고객의 가상 네트워크에 배포할 수 있습니다. True
미사용 고객 콘텐츠 저장 True

네트워크 보안

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 네트워크 보안을 참조하세요.

NS-1: 네트워크 구분 경계 설정

기능

가상 네트워크 통합

설명: 서비스는 고객의 프라이빗 Virtual Network(VNet)에 대한 배포를 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: 가상 네트워크에 서비스를 배포합니다. 리소스에 직접 공용 IP를 할당할 강력한 이유가 없는 한 리소스에 개인 IP를 할당합니다(해당하는 경우).

참조: Azure SQL Database의 서버에 가상 네트워크 서비스 엔드포인트 및 규칙 사용

네트워크 보안 그룹 지원

설명: 서비스 네트워크 트래픽은 서브넷에서 네트워크 보안 그룹 규칙 할당을 준수합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: Azure Virtual Network 서비스 태그를 사용하여 네트워크 보안 그룹 또는 Azure SQL 리소스에 대해 구성된 Azure Firewall 네트워크 액세스 제어를 정의합니다. 보안 규칙을 만들 때 특정 IP 주소 대신 서비스 태그를 사용할 수 있습니다. 서비스 태그 이름을 규칙의 적절한 원본 또는 대상 필드에 지정하면 해당 서비스에 대한 트래픽을 허용하거나 거부할 수 있습니다. Microsoft에서는 서비스 태그에서 압축한 주소 접두사를 관리하고 주소를 변경하는 대로 서비스 태그를 자동으로 업데이트합니다. Azure SQL Database에 대해 서비스 엔드포인트를 사용하는 경우 Azure SQL Database 공용 IP 주소에 대한 아웃바운드가 필요합니다. 연결을 허용하려면 NSG(네트워크 보안 그룹)가 Azure SQL Database IP에 열려야 합니다. Azure SQL Database에 대해 NSG 서비스 태그를 사용하면 이 작업을 수행할 수 있습니다.

참조: Azure SQL Database의 서버에 가상 네트워크 서비스 엔드포인트 및 규칙 사용

NS-2: 네트워크 컨트롤을 통한 보안 클라우드 서비스

기능

설명: 네트워크 트래픽을 필터링하기 위한 서비스 네이티브 IP 필터링 기능(NSG 또는 Azure Firewall 혼동하지 않음). 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: Private Link 기능을 지원하는 모든 Azure 리소스에 대한 프라이빗 엔드포인트를 배포하여 리소스에 대한 프라이빗 액세스 지점을 설정합니다.

참조: Azure SQL Database 및 Azure Synapse Analytics에 대한 Azure Private Link

공용 네트워크 액세스 사용 안 함

설명: 서비스는 서비스 수준 IP ACL 필터링 규칙(NSG 또는 Azure Firewall 아님)을 사용하거나 '공용 네트워크 액세스 사용 안 함' 토글 스위치를 사용하여 공용 네트워크 액세스를 사용하지 않도록 설정할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: Azure SQL 연결 설정

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
Azure SQL Managed Instance에서 공용 네트워크 액세스를 사용하지 않도록 설정해야 함 Azure SQL Managed Instance에서 공용 네트워크 액세스(퍼블릭 엔드포인트)를 사용하지 않도록 설정하면 가상 네트워크 또는 프라이빗 엔드포인트 내에서만 액세스할 수 있도록 보장함으로써 보안이 향상됩니다. 공용 네트워크 액세스에 대해 자세히 알아보려면 https://aka.ms/mi-public-endpoint를 참조하세요. 감사, 거부, 사용 안 함 1.0.0

ID 관리

자세한 내용은 Microsoft 클라우드 보안 벤치마크: ID 관리를 참조하세요.

IM-1: 중앙 ID 및 인증 시스템 사용

기능

데이터 평면 액세스에 필요한 Azure AD 인증

설명: 서비스는 데이터 평면 액세스에 Azure AD 인증 사용을 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False 공유됨

기능 정보: Azure SQL Database는 여러 데이터 평면 인증 메커니즘을 지원하며, 그 중 하나는 AAD입니다.

구성 지침: Azure Active Directory(Azure AD)를 기본 인증 방법으로 사용하여 데이터 평면 액세스를 제어합니다.

참조: Azure Active Directory 인증 사용

데이터 평면 액세스에 대한 로컬 인증 방법

설명: 로컬 사용자 이름 및 암호와 같은 데이터 평면 액세스에 지원되는 로컬 인증 방법입니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

기능 참고 사항: 로컬 인증 방법 또는 계정을 사용하지 않도록 하려면 가능한 한 사용하지 않도록 설정해야 합니다. 대신 Azure AD 사용하여 가능한 경우 인증합니다.

구성 지침: 데이터 평면 액세스에 대한 로컬 인증 방법의 사용을 제한합니다. 대신 Azure Active Directory(Azure AD)를 기본 인증 방법으로 사용하여 데이터 평면 액세스를 제어합니다.

참조: Azure SQL 데이터베이스 액세스

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
SQL 서버에 대해 Azure Active Directory 관리자를 프로비저닝해야 합니다. SQL 서버에 대한 Azure Active Directory 관리자 프로비전을 감사하여 Azure AD 인증을 활성화합니다. Azure AD 인증을 사용하면 데이터베이스 사용자 및 기타 Microsoft 서비스의 권한을 간편하게 관리하고 ID를 한 곳에서 집중적으로 관리할 수 있습니다. AuditIfNotExists, 사용 안 함 1.0.0

IM-3: 애플리케이션 ID를 안전하게 자동으로 관리

기능

관리 ID

설명: 데이터 평면 작업은 관리 ID를 사용한 인증을 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: 가능한 경우 서비스 주체 대신 Azure 관리 ID를 사용합니다. 이 ID는 Azure Azure AD(Azure Active Directory) 인증을 지원하는 Azure 서비스 및 리소스에 인증할 수 있습니다. 관리 ID 자격 증명은 플랫폼에서 완전히 관리, 순환 및 보호되므로 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 방지합니다.

참조: BYOK를 사용한 투명한 데이터 암호화를 위한 관리 ID

서비스 주체

설명: 데이터 평면은 서비스 주체를 사용하는 인증을 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

기능 정보: Azure SQL DB는 데이터 평면에서 인증하는 여러 가지 방법을 제공하며, 그 중 하나는 Azure AD 관리 ID 및 서비스 주체를 포함합니다.

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: Azure SQL 있는 Azure Active Directory 서비스 주체

IM-7: 조건에 따라 리소스 액세스 제한

기능

데이터 평면에 대한 조건부 액세스

설명: 데이터 평면 액세스는 Azure AD 조건부 액세스 정책을 사용하여 제어할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: 워크로드에서 Azure Active Directory(Azure AD) 조건부 액세스에 적용 가능한 조건 및 조건을 정의합니다. 특정 위치에서 액세스 권한을 차단하거나 부여하거나, 위험한 로그인 동작을 차단하거나, 특정 애플리케이션에 organization 관리 디바이스를 요구하는 등의 일반적인 사용 사례를 고려합니다.

참조: Azure SQL Database를 사용하여 조건부 액세스

IM-8: 자격 증명 및 비밀 노출 제한

기능

Azure Key Vault의 서비스 자격 증명 및 비밀 지원 통합 및 스토리지

설명: 데이터 평면은 자격 증명 및 비밀 저장소에 Azure Key Vault 기본 사용을 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
False 해당 사항 없음 해당 사항 없음

기능 정보: 암호화 키는 비밀이나 사용자 자격 증명이 아닌 AKV에만 저장할 수 있습니다. 예를 들어 투명한 데이터 암호화 보호기 키입니다.

구성 지침: 이 기능은 이 서비스를 보호하는 데 지원되지 않습니다.

권한 있는 액세스

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 권한 있는 액세스를 참조하세요.

PA-1: 높은 권한이 있는 사용자/관리자를 분리하고 제한

기능

로컬 관리 계정

설명: 서비스에는 로컬 관리 계정의 개념이 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
False 해당 사항 없음 해당 사항 없음

기능 정보: Azure SQL DB에 대한 '로컬 관리자'가 없으며 sa 계정도 없습니다. 그러나 instance 설정하는 계정은 관리자입니다.

구성 지침: 이 기능은 이 서비스를 보호하는 데 지원되지 않습니다.

PA-7: 충분한 관리 수행(최소 권한) 원칙

기능

데이터 평면용 Azure RBAC

설명: Azure RBAC(Azure Role-Based Access Control)를 사용하여 서비스의 데이터 평면 작업에 대한 액세스를 관리할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
False 해당 사항 없음 해당 사항 없음

기능 정보: Azure SQL Database는 풍부한 데이터베이스별 데이터 평면 권한 부여 모델을 제공합니다.

구성 지침: 이 기능은 이 서비스를 보호하는 데 지원되지 않습니다.

PA-8: 클라우드 공급자 지원을 위한 액세스 프로세스 결정

기능

고객 Lockbox

설명: 고객 Lockbox는 Microsoft 지원 액세스에 사용할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: Microsoft가 데이터에 액세스해야 하는 지원 시나리오에서 고객 Lockbox를 사용하여 Microsoft의 각 데이터 액세스 요청을 검토, 승인 또는 거부합니다.

데이터 보호

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 데이터 보호를 참조하세요.

DP-1: 중요한 데이터 검색, 분류 및 레이블 지정

기능

중요한 데이터 검색 및 분류

설명: 도구(예: Azure Purview 또는 Azure Information Protection)는 서비스의 데이터 검색 및 분류에 사용할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: 데이터 검색 & 분류

DP-2: 중요한 데이터를 대상으로 하는 변칙 및 위협 모니터링

기능

데이터 유출/손실 방지

설명: 서비스는 중요한 데이터 이동(고객의 콘텐츠)을 모니터링하는 DLP 솔루션을 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
False 해당 사항 없음 해당 사항 없음

기능 정보: DLP용 SQL Server 사용할 수 있는 도구가 있지만 기본 제공 지원은 없습니다.

구성 지침: 이 기능은 이 서비스를 보호하는 데 지원되지 않습니다.

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
보호되지 않는 SQL Managed Instance에 대해 SQL용 Azure Defender를 사용하도록 설정해야 함 Advanced Data Security를 사용하지 않고 각 SQL Managed Instance를 감사합니다. AuditIfNotExists, 사용 안 함 1.0.2

DP-3: 전송 중인 중요한 데이터 암호화

기능

전송 암호화 중인 데이터

설명: 서비스는 데이터 평면에 대한 전송 중 데이터 암호화를 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: 최소 TLS 버전

DP-4: 기본적으로 미사용 데이터 암호화 사용하도록 설정

기능

플랫폼 키를 사용하여 미사용 데이터 암호화

설명: 플랫폼 키를 사용한 미사용 데이터 암호화가 지원되며, 미사용 고객 콘텐츠는 이러한 Microsoft 관리형 키로 암호화됩니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: SQL Database, SQL Managed Instance 및 Azure Synapse Analytics에 대한 투명한 데이터 암호화

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
SQL 데이터베이스에 투명한 데이터 암호화를 사용하도록 설정해야 합니다. 저장 데이터를 보호하고 규정 준수 요구 사항을 충족하려면 투명한 데이터 암호화를 사용하도록 설정해야 합니다. AuditIfNotExists, 사용 안 함 2.0.0

DP-5: 필요한 경우 미사용 데이터 암호화에서 고객 관리형 키 옵션 사용

기능

CMK를 이용하여 미사용 데이터 암호화

설명: 고객 관리형 키를 사용한 미사용 데이터 암호화는 서비스에서 저장한 고객 콘텐츠에 대해 지원됩니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: 규정 준수에 필요한 경우 고객 관리형 키를 사용한 암호화가 필요한 사용 사례 및 서비스 scope 정의합니다. 서비스에서 고객 관리형 키를 사용하여 미사용 데이터 암호화를 사용하도록 설정하고 구현합니다.

참조: SQL Database, SQL Managed Instance 및 Azure Synapse Analytics에 대한 투명한 데이터 암호화

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
SQL Managed Instance는 고객 관리형 키를 사용하여 미사용 데이터를 암호화해야 함 자체 키를 사용하여 TDE(투명한 데이터 암호화)를 구현하면 TDE 보호기에 대한 투명성과 제어력이 향상되고, HSM 지원 외부 서비스를 통한 보안이 강화되며, 업무 분리 프로모션을 제공합니다. 이 권장 사항은 관련 규정 준수 요구 사항이 있는 조직에 적용됩니다. 감사, 거부, 사용 안 함 2.0.0

DP-6: 보안 키 관리 프로세스 사용

기능

Azure Key Vault에서 키 관리

설명: 이 서비스는 고객 키, 비밀 또는 인증서에 대한 Azure Key Vault 통합을 지원합니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False 공유됨

기능 정보: 특정 기능은 키에 AKV를 사용할 수 있습니다(예: Always Encrypted 사용하는 경우).

구성 지침: Azure Key Vault 사용하여 키 생성, 배포 및 스토리지를 포함하여 암호화 키(TDE 및 Always Encrypted)의 수명 주기를 만들고 제어합니다. 정의된 일정 또는 키 사용 중지 또는 손상이 있는 경우 Azure Key Vault 및 서비스에서 키를 회전하고 해지합니다. 워크로드, 서비스 또는 애플리케이션 수준에서 CMK(고객 관리형 키)를 사용해야 하는 경우 키 관리에 대한 모범 사례를 따라야 합니다. 서비스에 BYOK(사용자 고유 키)를 가져와야 하는 경우(예: 온-프레미스 HSM에서 Azure Key Vault HSM으로 HSM 보호 키 가져오기) 권장 지침에 따라 초기 키 생성 및 키 전송을 수행합니다.

참조: Azure Key Vault 사용하여 Always Encrypted 구성

자산 관리

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 자산 관리를 참조하세요.

AM-2: 승인된 서비스만 사용

기능

Azure Policy 지원

설명: 서비스 구성은 Azure Policy 통해 모니터링하고 적용할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: 클라우드용 Microsoft Defender 사용하여 Azure 리소스의 구성을 감사하고 적용하는 Azure Policy 구성합니다. 리소스에서 구성 편차가 검색되면 Azure Monitor를 사용하여 경고를 만듭니다. [거부] 및 [존재하지 않는 경우 배포] 효과를 Azure Policy 사용하여 Azure 리소스에 보안 구성을 적용합니다.

참조: Azure SQL Database & SQL Managed Instance 대한 기본 제공 정의 Azure Policy

로깅 및 위협 탐지

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 로깅 및 위협 탐지를 참조하세요.

LT-1: 위협 탐지 기능 사용하도록 설정

기능

서비스/제품 제공에 대한 Microsoft Defender

설명: 서비스에는 보안 문제를 모니터링하고 경고하는 제품별 Microsoft Defender 솔루션이 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: Azure SQL 대한 Microsoft Defender 잠재적인 데이터베이스 취약성을 검색 및 완화하고 데이터베이스에 위협이 될 수 있는 비정상적인 활동을 경고하는 데 도움이 됩니다.

참조: Azure SQL 대한 Microsoft Defender 개요

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
보호되지 않는 Azure SQL 서버에 대해 Azure Defender for SQL을 사용하도록 설정해야 함 Advanced Data Security 없이 SQL 서버 감사 AuditIfNotExists, 사용 안 함 2.0.1

LT-3: 보안 조사를 위한 로깅 사용하도록 설정

LT-3에 대한 기타 지침

서버 수준에서 로깅을 사용하도록 설정하면 데이터베이스까지도 필터링됩니다.

클라우드용 Microsoft Defender 모니터링

Azure Policy 기본 제공 정의 - Microsoft.Sql:

Name
(Azure Portal)
Description 효과 버전
(GitHub)
SQL 서버에 대한 감사가 사용되도록 설정되어야 합니다. 서버의 모든 데이터베이스에서 데이터베이스 활동을 추적하고 감사 로그에 저장하려면 SQL Server에서의 감사를 사용하도록 설정해야 합니다. AuditIfNotExists, 사용 안 함 2.0.0

LT-4: 보안 조사를 위해 로깅 사용

기능

Azure 리소스 로그

설명: 서비스는 향상된 서비스별 메트릭 및 로깅을 제공할 수 있는 리소스 로그를 생성합니다. 고객은 이러한 리소스 로그를 구성하고 스토리지 계정 또는 로그 분석 작업 영역과 같은 자체 데이터 싱크로 보낼 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True False Customer

구성 지침: 서비스에 대한 리소스 로그를 사용하도록 설정합니다. 예를 들어 Key Vault 키 자격 증명 모음 또는 Azure SQL 데이터베이스에 대한 요청을 추적하는 리소스 로그가 있는 작업에 대한 추가 리소스 로그를 지원합니다. 이러한 로그의 내용은 Azure 서비스와 리소스 종류에 따라 달라집니다.

참조: 데이터베이스 데이터 참조를 Azure SQL 모니터링

Backup 및 복구

자세한 내용은 Microsoft 클라우드 보안 벤치마크: 백업 및 복구를 참조하세요.

BR-1: 자동화된 정기 백업 보장

기능

Azure Backup

설명: 서비스는 Azure Backup 서비스에서 백업할 수 있습니다. 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
False 해당 사항 없음 해당 사항 없음

구성 지침: 이 기능은 이 서비스를 보호하기 위해 지원되지 않습니다.

서비스 네이티브 백업 기능

설명: 서비스는 고유한 네이티브 백업 기능을 지원합니다(Azure Backup 사용하지 않는 경우). 자세히 알아보세요.

지원됨 기본적으로 사용 구성 책임
True True Microsoft

구성 지침: 기본 배포에서 사용하도록 설정되므로 추가 구성이 필요하지 않습니다.

참조: 자동화된 백업 - Azure SQL 데이터베이스

다음 단계