Azure Synapse Analytics에서의 감사

Tip

Microsoft Fabric Data Warehouse는 데이터 레이크 기반의 엔터프라이즈 규모 관계형 웨어하우스로, 미래 대비 아키텍처, 기본 제공 AI 및 새로운 기능을 제공합니다. 데이터 웨어하우징이 처음이라면, Fabric Data Warehouse부터 시작하세요. 기존 전용 SQL 풀 워크로드는 업그레이드하면 Fabric을 통해 데이터 과학, 실시간 분석 및 보고 전반에 걸쳐 새로운 기능에 액세스할 수 있습니다.

Azure Synapse Analytics 감사는 데이터베이스 이벤트를 추적하여 Azure Storage, Azure Monitor Log Analytics 작업 공간 또는 Azure Event Hubs에 기록합니다.

감사 기능을 사용하면 다음과 같은 작업을 수행할 수 있습니다:

  • 선택한 이벤트의 감사 내역을 유지합니다.
  • 데이터베이스 활동을 이해하고 불일치나 이상 사항을 조사하세요.
  • 쿼리, 워크북, 하위 모니터링 도구를 사용하여 활동을 보고합니다.
  • 규제 및 조직의 준수 요구 사항을 충족하세요. 감사만으로는 준수를 보장하지 않습니다.

Overview

SQL Database 감사를 사용하여 다음을 수행할 수 있습니다.

  • 선택된 이벤트의 감사 기록을 유지합니다. 감사할 데이터베이스 동작의 범주를 정의할 수 있습니다.
  • 데이터베이스 활동 보고서 미리 구성된 보고서 및 대시보드를 사용하여 활동 및 이벤트 보고를 빠르게 시작할 수 있습니다.
  • 분석하라 의심스러운 이벤트, 특별한 활동 및 추세를 찾을 수 있습니다.

Important

감사는 SQL 풀의 가용성과 성능에 최적화되어 있습니다. 매우 높은 활동이나 네트워크 부하가 높은 시기에는 모든 선택된 이벤트가 기록되지 않은 채 거래가 진행될 수 있습니다.

많은 데이터베이스가 많은 OLTP 워크로드를 실행하는 환경의 경우 기본 설정과 함께 서버 수준 감사를 사용하면 논리 서버 전체에서 매우 큰 감사 볼륨이 발생할 수 있습니다. 모든 데이터베이스의 모든 이벤트가 동일한 감사 폴더에 기록되므로 단일 데이터베이스에 대한 감사 로그 쿼리는 느리고 운영 비용이 많이 듭니다. 성능을 향상시키고 노이즈를 줄이려면 다음을 수행합니다.

  • 데이터베이스 수준 감사로 전환합니다. 각 데이터베이스는 자체 감사 로그 폴더에 쓰기 때문에 검색된 총 볼륨이 줄어들고 검색 속도가 빨라집니다.
  • 감사 구성을 검토합니다. 일괄 처리 완료된 모든 이벤트를 캡처해야 하는지 또는 사용자 지정 필터링된 구성이 보안 및 규정 준수 요구 사항을 충족할 수 있는지 확인합니다.

감사 로그에서 민감한 정보를 보호합니다

감사된 문 텍스트는 애플리케이션이 해당 값을 동적 SQL에 연결할 때 민감한 값들을 포함할 수 있습니다. 데이터 값에 대한 매개변수를 사용하고, 쿼리 텍스트에 비밀이나 개인 데이터를 삽입하지 않으며, 감사 로그 접근을 권한 있는 사용자에게만 제한하세요.

감사 목적지에 대한 권한은 SQL 엔진 외부에서의 액세스를 제어합니다. Azure Storage, Log Analytics, Event Hubs에 최소 권한 설정을 적용하고, 해당 리소스에 대한 접근 권한을 모니터링하세요.

Limitations

  • 일시 중지된 전용 SQL 풀에서는 감사를 사용하도록 설정할 수 없습니다. 정책을 활성화하기 전에 풀을 재개하세요.
  • 사용자 할당 관리 아이덴티티는 Azure Synapse Analytics에서 감사에 지원되지 않습니다.
  • 시스템 할당 관리 ID는 스토리지 계정이 가상 네트워크나 방화벽 뒤에 있을 때 Azure Storage 목적지에 대해 지원됩니다. 관리 신원은 Azure Synapse에서 가상 네트워크나 방화벽 뒤에 저장 계정이 있지 않은 이상 지원되지 않습니다.
  • Synapse SQL 풀은 기본 감사 작업 그룹만 지원합니다.
  • 문자가 포함된 ? 이름의 데이터베이스에서는 감사가 지원되지 않습니다. 이 제한은 서버 수준과 데이터베이스 수준 감사 모두에 적용되며, ?가 이름에 포함된 데이터베이스는 Azure에서 더 이상 지원되지 않습니다.
  • 감사 기록은 data_sensitivity_information 및 statement 필드에 최대 4,000자까지 저장됩니다. 추가 문자는 잘립니다.

비고

  • 활동 로그에서 SQLDBControlPlaneFirstPartyApp 시작한 이벤트는 Azure SQL Database 컨트롤 플레인 내부 Azure 함수입니다. SQLDBControlPlaneFirstPartyApp 시작된 이벤트는 SQL 엔진과 Azure Resource Manager 간의 내부 동기화 작업의 일부입니다. 이러한 이벤트는 Azure SQL Database 관리의 일반적인 부분이며 Azure 올바른 리소스 표현 및 작업에 필요합니다.
  • BlockBlobStorage가 포함된 프리미엄 스토리지가 지원됩니다. 표준 스토리지가 지원됩니다. 하지만 가상 네트워크나 방화벽 뒤에 있는 스토리지 계정에 감사 로그를 작성하려면 범용 v2 스토리지 계정을 사용해야 합니다. 범용 v1이나 Blob Storage 계정을 사용한다면, 범용 v2 저장소 계정으로 업그레이드하세요. 구체적인 지침은 가상 네트워크와 방화벽 뒤에 있는 스토리지 계정에 감사 로그 작성하기를 참조하세요. 자세한 정보는 스토리지 계정 유형을 참조하세요.
  • SQL 감사를 활성화하고 아웃바운드 네트워킹 제한을 설정할 때, 감사 이벤트가 대상에 도달할 수 있도록 감사 스토리지 계정의 정규화된 도메인 이름(FQDN)을 허용 목록에 추가해야 합니다. 스토리지 엔드포인트를 허용 목록에 추가하지 않으면 감사 트래픽이 차단되어 감사 이벤트 손실이 발생합니다. 필요한 스토리지 계정 FQDNS를 허용 목록에 추가한 후, 정상적인 감사 이벤트 흐름을 재개하려면 감사 설정을 다시 저장 해야 합니다.
  • BlockBlobStorage를 사용하는 모든 유형의 표준 스토리지 계정 및 프리미엄 스토리지 계정에 대한 계층 구조 네임스페이스가 지원됩니다.
  • 감사 로그는 Azure 구독의 Azure Blob Storage 내 Append Blobs에 기록됩니다.
  • 감사 로그는 .xel 형식이므로 SSMS(SQL Server Management Studio)를 사용하여 열 수 있습니다.
  • 서버 또는 데이터베이스 수준 감사 이벤트에 대해 변경이 불가능한 로그 저장소를 구성하려면 Azure Storage에서 제공하는 지침을 따르세요. 감사를 위해 변경할 수 없는 Blob Storage를 구성할 때 보호된 추가 쓰기 허용 이 Blob 추가 또는 블록 및 추가 Blob으로 설정되어 있는지 확인합니다. 없음 옵션은 지원되지 않습니다. 시간 기반 보존 정책의 경우 스토리지 계정의 보존 간격이 SQL 감사 보존 설정보다 짧아야 합니다. 스토리지 정책이 설정되었지만 SQL 감사 보존이 설정된 구성은 0지원되지 않습니다.
  • 가상 네트워크 또는 방화벽 뒤의 Azure Storage 계정에 감사 로그를 작성할 수 있습니다.
  • 로그 형식, 저장 폴더의 계층 구조, 명명 규칙에 관한 자세한 내용은 감사 로그 형식을 참조하세요.
  • Microsoft Entra 인증을 사용하는 경우 실패한 로그인 레코드는 SQL 감사 로그에 나타나지 않습니다. 실패한 로그인 감사 레코드를 보려면 이러한 이벤트의 세부 정보를 로그하는 Microsoft Entra 관리 센터를 방문해야 합니다.
  • 감사 설정을 설정한 후에는 새로운 위협 탐지 기능을 켜고 보안 알림을 받도록 이메일을 설정할 수 있습니다. 위협 감지를 사용하면 잠재적인 보안 위협을 나타낼 수 있는 비정상적인 데이터베이스 활동에 대해 사전 경고를 받을 수 있습니다. 자세한 내용은 SQL Advanced Threat Protection을 참조하세요.
  • 감사를 사용하도록 설정된 데이터베이스를 다른 논리 서버에 복사한 후 감사가 실패했음을 알리는 메일을 받을 수 있습니다. 이 상태는 알려진 문제이며, 새로 복사된 데이터베이스에 대한 감사는 예상대로 작동해야 합니다.