Azure SQL Database 및 SQL Managed Instance에 대한 Azure Policy 기본 제공 정의
적용 대상: Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
이 페이지는 Azure SQL 데이터베이스 및 SQL Managed Instance에 대한 Azure Policy 기본 제공 정책 정의의 인덱스입니다. 다른 서비스에 대한 추가 Azure Policy 기본 제공 기능은 Azure Policy 기본 제공 정의를 참조하세요.
Azure Portal의 정책 정의에 대한 각 기본 제공 정책 정의 링크의 이름입니다. Version 열의 링크를 사용하여 Azure Policy GitHub 리포지토리에서 원본을 봅니다.
Azure SQL Database 및 SQL Managed Instance
속성 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
---|---|---|---|
[미리 보기]: SQL Database는 영역 중복이어야 합니다. | SQL Database는 영역 중복 여부에 관계없이 구성될 수 있습니다. 'zoneRedundant' 설정이 'false'로 설정된 데이터베이스는 영역 중복이 구성되지 않습니다. 이 정책은 Azure 내에서 가용성과 복원력을 향상시키기 위해 영역 중복 구성이 필요한 SQL 데이터베이스를 식별하는 데 도움이 됩니다. | 감사, 거부, 사용 안 함 | 1.0.0 - 미리 보기 |
[미리 보기]: SQL 탄력적 데이터베이스 풀은 영역 중복이어야 합니다. | SQL 탄력적 데이터베이스 풀은 영역 중복 여부에 관계없이 구성될 수 있습니다. SQL 탄력적 데이터베이스 풀은 'zoneRedundant' 속성이 'true'로 설정된 경우 영역 중복입니다. 이 정책을 적용하면 Event Hubs가 영역 복원력에 맞게 적절하게 구성되어 영역 중단 시 가동 중지 시간의 위험을 줄이는 데 도움이 됩니다. | 감사, 거부, 사용 안 함 | 1.0.0 - 미리 보기 |
[미리 보기]: SQL Managed Instance는 영역 중복이어야 합니다. | SQL Managed Instance는 영역 중복 여부에 관계없이 구성될 수 있습니다. 'zoneRedundant' 설정이 'false'로 설정된 인스턴스는 영역 중복이 구성되지 않습니다. 이 정책은 Azure 내에서 가용성과 복원력을 향상시키기 위해 영역 중복 구성이 필요한 SQL ManagedInstance를 식별하는 데 도움이 됩니다. | 감사, 거부, 사용 안 함 | 1.0.0 - 미리 보기 |
SQL 서버에 대해 Azure Active Directory 관리자를 프로비저닝해야 합니다. | SQL 서버에 대한 Azure Active Directory 관리자 프로비전을 감사하여 Azure AD 인증을 활성화합니다. Azure AD 인증을 사용하면 데이터베이스 사용자 및 기타 Microsoft 서비스의 권한을 간편하게 관리하고 ID를 한 곳에서 집중적으로 관리할 수 있습니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
SQL 서버에 대한 감사가 사용되도록 설정되어야 합니다. | 서버의 모든 데이터베이스에서 데이터베이스 활동을 추적하고 감사 로그에 저장하려면 SQL Server에서의 감사를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
보호되지 않는 Azure SQL 서버에 대해 SQL용 Azure Defender를 사용하도록 설정해야 함 | Advanced Data Security 없이 SQL 서버 감사 | AuditIfNotExists, 사용 안 함 | 2.0.1 |
보호되지 않는 SQL Managed Instance에 대해 SQL용 Azure Defender를 사용하도록 설정해야 함 | Advanced Data Security를 사용하지 않고 각 SQL Managed Instance를 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.0.2 |
Azure SQL Database는 TLS 버전 1.2 이상을 실행해야 합니다. | TLS 버전을 1.2 이상으로 설정하면 TLS 1.2 이상을 사용하는 클라이언트에서만 Azure SQL Database에 액세스할 수 있으므로 보안이 향상됩니다. 1.2 미만의 TLS 버전은 보안 취약성이 잘 문서화되었기 때문에 사용하지 않는 것이 좋습니다. | 감사, 사용 안 함, 거부 | 2.0.0 |
Azure SQL Database에는 Microsoft Entra 전용 인증이 사용하도록 설정되어 있어야 합니다. | Microsoft Entra 전용 인증을 사용하려면 Azure SQL 논리 서버가 필요합니다. 이 정책은 로컬 인증이 사용하도록 설정된 상태에서 서버가 만들어지는 것을 차단하지 않습니다. 만든 후 리소스에 대한 로컬 인증이 사용하도록 설정되지 않도록 차단합니다. 두 가지를 모두 요구하는 대신 'Microsoft Entra 전용 인증' 이니셔티브를 사용하는 것이 좋습니다. https://aka.ms/adonlycreate에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
Azure SQL Database는 만드는 동안 Microsoft Entra 전용 인증을 사용하도록 설정해야 합니다. | Microsoft Entra 전용 인증을 사용하여 Azure SQL 논리 서버를 만들어야 합니다. 이 정책은 만든 후 리소스에 대한 로컬 인증이 다시 사용하도록 설정되는 것을 차단하지 않습니다. 두 가지를 모두 요구하는 대신 'Microsoft Entra 전용 인증' 이니셔티브를 사용하는 것이 좋습니다. https://aka.ms/adonlycreate에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.2.0 |
Azure SQL Managed Instance에는 Microsoft Entra 전용 인증이 사용하도록 설정되어 있어야 합니다. | Microsoft Entra 전용 인증을 사용하려면 Azure SQL Managed Instance가 필요합니다. 이 정책은 로컬 인증이 사용하도록 설정된 상태에서 Azure SQL Managed Instance가 만들어지는 것을 차단하지 않습니다. 만든 후 리소스에 대한 로컬 인증이 사용하도록 설정되지 않도록 차단합니다. 두 가지를 모두 요구하는 대신 'Microsoft Entra 전용 인증' 이니셔티브를 사용하는 것이 좋습니다. https://aka.ms/adonlycreate에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
Azure SQL Managed Instance에서 공용 네트워크 액세스를 사용하지 않도록 설정해야 함 | Azure SQL Managed Instance에서 공용 네트워크 액세스(퍼블릭 엔드포인트)를 사용하지 않도록 설정하면 가상 네트워크 또는 프라이빗 엔드포인트 내에서만 액세스할 수 있도록 보장함으로써 보안이 향상됩니다. 공용 네트워크 액세스에 대해 자세히 알아보려면 https://aka.ms/mi-public-endpoint를 참조하세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
Azure SQL Managed Instance는 만드는 동안 Microsoft Entra 전용 인증을 사용하도록 설정해야 합니다. | Microsoft Entra 전용 인증을 사용하여 Azure SQL Managed Instance를 만들어야 합니다. 이 정책은 만든 후 리소스에 대한 로컬 인증이 다시 사용하도록 설정되는 것을 차단하지 않습니다. 두 가지를 모두 요구하는 대신 'Microsoft Entra 전용 인증' 이니셔티브를 사용하는 것이 좋습니다. https://aka.ms/adonlycreate에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.2.0 |
SQL Managed Instances에서 Azure Defender를 사용하도록 구성 | Azure SQL Managed Instances에서 Azure Defender를 사용하도록 설정하여 비정상이고 잠재적으로 위험한 데이터베이스 액세스 또는 악용 시도를 나타내는 비정상적인 활동을 검색합니다. | DeployIfNotExists, 사용 안 함 | 2.0.0 |
SQL 서버에서 Azure Defender를 사용하도록 구성 | Azure SQL Servers에서 Azure Defender를 사용하도록 설정하여 비정상이고 잠재적으로 위험한 데이터베이스 액세스 또는 악용 시도를 나타내는 비정상적인 활동을 검색합니다. | DeployIfNotExists | 2.1.0 |
Azure SQL 데이터베이스 서버에 대한 진단 설정을 Log Analytics 작업 영역으로 구성 | 이 감사가 누락된 SQL Server가 만들어지거나 업데이트되면 Azure SQL Database 서버의 감사 로그를 활성화하고 로그를 Log Analytics 작업 영역으로 스트리밍합니다. | DeployIfNotExists, 사용 안 함 | 1.0.2 |
공용 네트워크 액세스를 사용하지 않도록 Azure SQL Server 구성 | 공용 네트워크 액세스 속성을 사용하지 않도록 설정하면 프라이빗 엔드포인트에서만 Azure SQL Server에 액세스할 수 있도록 공용 연결이 종료됩니다. 이 구성은 Azure SQL Server의 모든 데이터베이스에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다. | 수정, 사용 안 함 | 1.0.0 |
프라이빗 엔드포인트 연결을 사용하도록 Azure SQL Server 구성 | 프라이빗 엔드포인트 연결을 사용하면 가상 네트워크 내의 개인 IP 주소를 통해 Azure SQL Database에 프라이빗 연결을 설정할 수 있습니다. 이 구성은 보안 상태를 개선하고 Azure 네트워킹 도구 및 시나리오를 지원합니다. | DeployIfNotExists, 사용 안 함 | 1.0.0 |
감사를 사용하도록 SQL 서버 구성 | SQL 서버에 대해 수행되는 작업을 캡처하려면 SQL 서버에서 감사를 사용하도록 설정해야 합니다. 이는 규정 표준을 준수해야 하는 경우도 있습니다. | DeployIfNotExists, 사용 안 함 | 3.0.0 |
Log Analytics 작업 영역에 대한 감사를 사용하도록 SQL 서버 구성 | SQL 서버에 대해 수행되는 작업을 캡처하려면 SQL 서버에서 감사를 사용하도록 설정해야 합니다. 감사를 사용하도록 설정하지 않으면 이 정책은 지정된 Log Analytics 작업 영역으로 전달되도록 감사 이벤트를 구성합니다. | DeployIfNotExists, 사용 안 함 | 1.0.0 |
배포 - Log Analytics 작업 영역에 SQL Databases에 대한 진단 설정 구성 | 이 진단 설정이 누락된 SQL Database를 만들거나 업데이트할 때 SQL Database에 대한 진단 설정을 배포하여 리소스 로그를 Log Analytics 작업 영역으로 스트리밍합니다. | DeployIfNotExists, 사용 안 함 | 4.0.0 |
SQL 서버에 Advanced Data Security 배포 | 이 정책은 SQL 서버에 Advanced Data Security를 사용하도록 설정합니다. 여기에는 위협 탐지 및 취약성 평가를 설정하는 작업이 포함됩니다. SQL 서버와 동일한 지역 및 리소스 그룹에 스토리지 계정을 자동으로 만들어 검색 결과를 'sqlva' 접두사와 함께 저장합니다. | DeployIfNotExists | 1.3.0 |
Azure SQL Database의 진단 설정을 이벤트 허브에 적용 | Azure SQL Database의 진단 설정을 시작하여 이 진단 설정이 없는 Azure SQL Database가 만들어지거나 업데이트될 때 지역별 이벤트 허브로 스트리밍합니다. | DeployIfNotExists | 1.2.0 |
SQL DB 투명한 데이터 암호화 배포 | SQL Database에서 투명한 데이터 암호화를 사용하도록 설정 | DeployIfNotExists, 사용 안 함 | 2.2.0 |
Event Hub에 대한 SQL 데이터베이스(microsoft.sql/servers/databases)에 대해 범주 그룹별로 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 SQL 데이터베이스(microsoft.sql/servers/databases)에 대한 Event Hub로 라우팅하는 진단 설정을 배포합니다. | DeployIfNotExists, AuditIfNotExists, Disabled | 1.1.0 |
Log Analytics에 대한 SQL 데이터베이스(microsoft.sql/servers/databases)에 대해 범주 그룹별로 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 SQL 데이터베이스(microsoft.sql/servers/databases)에 대한 Log Analytics 작업 영역으로 라우팅하는 진단 설정을 배포합니다. | DeployIfNotExists, AuditIfNotExists, Disabled | 1.0.0 |
Storage에 대한 SQL 데이터베이스(microsoft.sql/servers/databases)에 대해 범주 그룹별로 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 SQL 데이터베이스(microsoft.sql/servers/databases)에 대한 스토리지 계정으로 라우팅하는 진단 설정을 배포합니다. | DeployIfNotExists, AuditIfNotExists, Disabled | 1.0.0 |
Event Hub에 대한 SQL 관리되는 인스턴스(microsoft.sql/managedinstances)에 대해 범주 그룹별로 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 SQL 관리되는 인스턴스(microsoft.sql/managedinstances)에 대한 Event Hub로 라우팅하는 진단 설정을 배포합니다. | DeployIfNotExists, AuditIfNotExists, Disabled | 1.1.0 |
Log Analytics에 대한 SQL 관리되는 인스턴스(microsoft.sql/managedinstances)에 대해 범주 그룹별로 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 SQL 관리되는 인스턴스(microsoft.sql/managedinstances)에 대한 Log Analytics 작업 영역으로 라우팅하는 진단 설정을 배포합니다. | DeployIfNotExists, AuditIfNotExists, Disabled | 1.0.0 |
Storage에 대한 SQL 관리되는 인스턴스(microsoft.sql/managedinstances)에 대해 범주 그룹별로 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 SQL 관리되는 인스턴스(microsoft.sql/managedinstances)에 대한 스토리지 계정으로 라우팅하는 진단 설정을 배포합니다. | DeployIfNotExists, AuditIfNotExists, Disabled | 1.0.0 |
Azure SQL Database에 대해 장기 지역 중복 백업을 사용하도록 설정해야 합니다. | 이 정책은 장기 지역 중복 백업이 사용하도록 설정되지 않은 모든 Azure SQL Database를 감사합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
Azure SQL Database에서 프라이빗 엔드포인트 연결을 사용하도록 설정해야 함 | 프라이빗 엔드포인트 연결은 Azure SQL Database에 대한 프라이빗 연결을 사용하도록 설정하여 보안 통신을 강화합니다. | 감사, 사용 안 함 | 1.1.0 |
Azure SQL Database에서 공용 네트워크 액세스를 사용하지 않도록 설정해야 함 | 공용 네트워크 액세스 속성을 사용하지 않도록 설정하면 프라이빗 엔드포인트에서만 Azure SQL Database에 액세스할 수 있도록 하여 보안이 향상됩니다. 이 구성은 IP 또는 가상 네트워크 기반 방화벽 규칙과 일치하는 모든 로그인을 거부합니다. | 감사, 거부, 사용 안 함 | 1.1.0 |
SQL 감사 설정에는 중요한 작업을 캡처하도록 구성된 작업 그룹이 있어야 합니다. | 철저한 감사 로깅을 위해 AuditActionsAndGroups 속성에 최소한 SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP, BATCH_COMPLETED_GROUP이 포함되어야 합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
SQL Database는 GRS 백업 중복을 사용하지 않아야 함 | 데이터 상주 규칙이 특정 지역 내에서 데이터를 유지하도록 요구하는 경우 데이터베이스는 백업에 기본 지역 중복 스토리지를 사용하지 않아야 합니다. 참고: T-SQL을 사용하여 데이터베이스를 만들 때 Azure Policy가 적용되지 않습니다. 명시적으로 지정하지 않으면 지역 중복 백업 스토리지가 있는 데이터베이스가 T-SQL을 통해 생성됩니다. | 거부, 사용 안 함 | 2.0.0 |
SQL 데이터베이스가 발견한 취약성을 해결해야 함 | 취약성 평가 검사 결과 및 데이터베이스 취약성을 수정하는 방법에 관한 권장 사항을 모니터링합니다. | AuditIfNotExists, 사용 안 함 | 4.1.0 |
SQL Managed Instance는 최소 TLS 버전 1.2를 사용해야 함 | 최소 TLS 버전을 1.2로 설정하면 TLS 1.2를 사용하는 클라이언트에서만 SQL Managed Instance에 액세스할 수 있으므로 보안이 향상됩니다. 1.2 미만의 TLS 버전은 보안 취약성이 잘 문서화되었기 때문에 사용하지 않는 것이 좋습니다. | 감사, 사용 안 함 | 1.0.1 |
SQL Managed Instance는 GRS 백업 중복을 사용하지 않아야 함 | 데이터 상주 규칙이 특정 지역 내에서 데이터를 유지하도록 요구하는 경우 Managed Instances는 백업에 기본 지역 중복 스토리지를 사용하지 않아야 합니다. 참고: T-SQL을 사용하여 데이터베이스를 만들 때 Azure Policy가 적용되지 않습니다. 명시적으로 지정하지 않으면 지역 중복 백업 스토리지가 있는 데이터베이스가 T-SQL을 통해 생성됩니다. | 거부, 사용 안 함 | 2.0.0 |
SQL Managed Instance는 고객 관리형 키를 사용하여 미사용 데이터를 암호화해야 함 | 자체 키를 사용하여 TDE(투명한 데이터 암호화)를 구현하면 TDE 보호기에 대한 투명성과 제어력이 향상되고, HSM 지원 외부 서비스를 통한 보안이 강화되며, 업무 분리 프로모션을 제공합니다. 이 권장 사항은 관련 규정 준수 요구 사항이 있는 조직에 적용됩니다. | 감사, 거부, 사용 안 함 | 2.0.0 |
SQL Server는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 SQL Server를 감사합니다. | AuditIfNotExists, 사용 안 함 | 1.0.0 |
SQL 서버는 고객 관리형 키를 사용하여 미사용 데이터를 암호화해야 함 | 자체 키를 사용하여 TDE(투명한 데이터 암호화)를 구현하면 TDE 보호기에 대한 투명성과 제어력이 향상되고, HSM 지원 외부 서비스를 통해 보안이 강화되며, 업무 분리 프로모션을 제공합니다. 이 권장 사항은 관련 규정 준수 요구 사항이 있는 조직에 적용됩니다. | 감사, 거부, 사용 안 함 | 2.0.1 |
스토리지 계정 대상에 대한 감사 기능이 있는 SQL Server는 보존 기간을 90일 이상으로 구성해야 함 | 인시던트 조사를 위해 SQL Server 감사를 위한 데이터 보존 기간을 스토리지 계정 대상으로 90일 이상으로 설정하는 것이 좋습니다. 운영 중인 지역에 필요한 보존 규칙을 충족하는지 확인합니다. 이는 규정 표준을 준수해야 하는 경우도 있습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
SQL 데이터베이스에 투명한 데이터 암호화를 사용하도록 설정해야 합니다. | 저장 데이터를 보호하고 규정 준수 요구 사항을 충족하려면 투명한 데이터 암호화를 사용하도록 설정해야 합니다. | AuditIfNotExists, 사용 안 함 | 2.0.0 |
지정한 서브넷의 트래픽을 허용하려면 Azure SQL Database에서 가상 네트워크 방화벽 규칙을 사용하도록 설정해야 함 | 가상 네트워크 기반 방화벽 규칙은 Azure 경계 내에서 트래픽을 유지하면서 특정 서브넷에서 Azure SQL Database로의 트래픽을 사용하도록 설정하는 데 사용됩니다. | AuditIfNotExists | 1.0.0 |
SQL Managed Instance에서 취약성 평가를 사용하도록 설정해야 함 | 반복 취약성 평가 검사를 사용하도록 설정하지 않은 각 SQL Managed Instance를 감사합니다. 취약성 평가는 잠재적 데이터베이스 취약성을 검색 및 추적할 수 있고 해결하는 데 도움이 될 수 있습니다. | AuditIfNotExists, 사용 안 함 | 1.0.1 |
SQL 서버에서 취약성 평가를 사용하도록 설정해야 합니다. | 취약성 평가가 제대로 구성되지 않은 Azure SQL Server를 감사합니다. 취약성 평가는 잠재적 데이터베이스 취약성을 검색 및 추적할 수 있고 해결하는 데 도움이 될 수 있습니다. | AuditIfNotExists, 사용 안 함 | 3.0.0 |
제한 사항
- Azure SQL 데이터베이스 및 SQL Managed Instance 만들기에 적용할 수 있는 Azure Policy는 T-SQL 또는 SSMS를 사용할 때 적용되지 않습니다.
다음 단계
- Azure Policy GitHub 리포지토리의 기본 제공 기능을 참조하세요.
- Azure Policy 정의 구조를 검토합니다.
- 정책 효과 이해를 검토합니다.