데이터 웨어하우스 보호 및 모니터링

완료됨

보안 및 모니터링은 데이터 웨어하우스 관리의 중요한 측면입니다.

보안

데이터 웨어하우스 보안은 무단 액세스로부터 데이터를 보호하는 데 중요합니다. Fabric은 데이터 웨어하우스를 보호하는 데 도움이 되는 다양한 보안 기능을 제공합니다. 여기에는 다음이 포함됩니다.

  • RBAC(역할 기반 액세스 제어) - 웨어하우스 및 해당 데이터에 대한 액세스를 제어합니다.
  • SSL 암호화 - 웨어하우스와 클라이언트 애플리케이션 간 통신을 보호합니다.
  • Azure Storage 서비스 암호화 - 전송 중 및 미사용 데이터를 보호합니다.
  • Azure Monitor 및 Azure Log Analytics - 웨어하우스 작업을 모니터링하고 데이터에 대한 액세스를 감사합니다.
  • MFA(다단계 인증) - 사용자 계정에 추가적인 보안 계층을 추가합니다.
  • 사용자 ID 및 웨어하우스에 대한 액세스를 관리하는 Microsoft Entra ID 통합입니다.

작업 영역 권한

Fabric의 데이터는 데이터 및 서비스의 액세스를 제어하고 수명 주기를 관리하는 데 사용되는 작업 영역으로 구성됩니다. 적절한 작업 영역 역할은 데이터 웨어하우스를 보호하는 첫 번째 방어선입니다.

작업 영역 역할 외에도 SQL을 통해 항목 권한 및 액세스 권한을 부여할 수 있습니다.

작업 영역 역할에 대한 자세한 내용은 Power BI의 작업 영역을 참조하세요.

항목 권한

작업 영역 내의 모든 항목에 적용되는 작업 영역 역할과 달리, 항목 권한을 사용하여 개별 웨어하우스에 대한 액세스 권한을 부여할 수 있습니다. 이렇게 하면 다운스트림 사용을 위해 단일 데이터 웨어하우스를 공유할 수 있습니다.

T-SQL 또는 Fabric 포털을 통해 사용자에게 권한을 부여할 수 있습니다. 데이터 웨어하우스에 액세스해야 하는 사용자에게 다음 권한을 부여합니다.

  • Read: 사용자가 SQL 연결 문자열을 사용하여 연결할 수 있습니다.
  • ReadData: 사용자가 웨어하우스 내의 테이블/뷰에서 데이터를 읽을 수 있습니다.
  • ReadAll: 사용자가 Spark에서 사용할 수 있는 OneLake의 원시 parquet 파일에서 데이터를 읽을 수 있습니다.

SQL 분석 엔드포인트에 대한 사용자 연결은 최소한 읽기 권한 없이 실패합니다.

모니터링

데이터 웨어하우스에서 작업을 모니터링하는 것은 최적 성능, 효율적인 리소스 사용 및 보안을 보장하는 데 중요합니다. 문제를 식별하고, 변칙을 탐지하고, 데이터 웨어하우스가 원활하고 안전하게 실행되도록 조치를 취하는 데 도움이 됩니다.

DMV(동적 관리 뷰)를 통해 연결, 세션 및 요청 상태 모니터링하여 라이브 SQL 쿼리 수명 주기 인사이트를 확인할 수 있습니다. DMV를 사용하면 활성 쿼리 수와 같은 세부 정보를 가져올 수 있고 장기간 실행 중이고 종료가 필요한 쿼리를 식별할 수 있습니다.

현재 Fabric에서 사용할 수 있는 세 가지 DMV는 다음과 같습니다.

  • sys.dm_exec_connections: 웨어하우스와 엔진 간에 설정된 각 연결에 대한 정보를 반환합니다.
  • sys.dm_exec_sessions: 항목과 엔진 간에 인증된 각 세션에 대한 정보를 반환합니다.
  • sys.dm_exec_requests: 세션의 각 활성 요청에 대한 정보를 반환합니다.

쿼리 모니터링

‘sys.dm_exec_requests’를 사용하여 데이터베이스의 전반적인 성능에 영향을 줄 수 있는 장기 실행 쿼리를 식별하고 해당 쿼리를 최적화하거나 종료하기 위한 적절한 조치를 취합니다.

먼저 장기간 실행되고 있던 쿼리를 식별합니다. 다음 쿼리를 사용하여 가장 오래 실행되고 있던 쿼리를 내림차순으로 식별합니다.

    SELECT request_id, session_id, start_time, total_elapsed_time
    FROM sys.dm_exec_requests
    WHERE status = 'running'
    ORDER BY total_elapsed_time DESC;

다음을 실행하여 장기 실행 쿼리가 포함된 세션을 실행한 사용자를 파악하기 위해 조사를 계속할 수 있습니다.

    SELECT login_name
    FROM sys.dm_exec_sessions
    WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

마지막으로, KILL 명령을 사용하여 장기 실행 쿼리가 포함된 세션을 종료할 수 있습니다.

    KILL 'SESSION_ID WITH LONG-RUNNING QUERY';

중요

KILL 명령을 실행하려면 작업 영역 관리자여야 합니다. 작업 영역 관리자는 세 가지 DMV를 모두 실행할 수 있습니다. 멤버, 기여자 및 보기 권한자 역할은 웨어하우스 내에서 자체 결과를 볼 수 있지만 다른 사용자의 결과를 볼 수는 없습니다.