Zabezpieczanie i monitorowanie magazynu danych

Ukończone

Zabezpieczenia i monitorowanie to krytyczne aspekty zarządzania magazynem danych.

Zabezpieczenia

Zabezpieczenia magazynu danych są ważne, aby chronić dane przed nieautoryzowanym dostępem. Sieć szkieletowa udostępnia wiele funkcji zabezpieczeń, które ułatwiają zabezpieczanie magazynu danych. Są to:

  • Kontrola dostępu oparta na rolach (RBAC) w celu kontrolowania dostępu do magazynu i jego danych.
  • Szyfrowanie SSL w celu zabezpieczenia komunikacji między magazynem a aplikacjami klienckimi.
  • Szyfrowanie usługi Azure Storage w celu ochrony danych przesyłanych i magazynowanych.
  • Usługi Azure Monitor i Azure Log Analytics umożliwiają monitorowanie aktywności magazynu i inspekcję dostępu do danych.
  • Uwierzytelnianie wieloskładnikowe (MFA) w celu dodania dodatkowej warstwy zabezpieczeń do kont użytkowników.
  • Integracja identyfikatora Entra firmy Microsoft w celu zarządzania tożsamościami użytkowników i dostępem do magazynu.

Uprawnienia obszaru roboczego

Dane w sieci szkieletowej są zorganizowane w obszary robocze, które służą do kontrolowania dostępu i zarządzania cyklem życia danych i usług. Odpowiednie role obszaru roboczego to pierwszy wiersz obrony w zabezpieczaniu magazynu danych.

Oprócz ról obszaru roboczego można udzielać uprawnień do elementów i dostępu za pośrednictwem języka SQL.

Napiwek

Aby uzyskać więcej informacji na temat ról obszaru roboczego, zobacz Obszary robocze w usłudze Power BI .

Uprawnienia do elementu

W przeciwieństwie do ról obszaru roboczego, które mają zastosowanie do wszystkich elementów w obszarze roboczym, można użyć uprawnień do elementu w celu udzielenia dostępu do poszczególnych magazynów. Dzięki temu można współużytkować pojedynczy magazyn danych do użycia podrzędnego.

Możesz udzielić użytkownikom uprawnień za pośrednictwem języka T-SQL lub w portalu sieci szkieletowej. Przyznaj następujące uprawnienia użytkownikom, którzy muszą uzyskać dostęp do magazynu danych:

  • Odczyt: umożliwia użytkownikowi nawiązywanie połączenia przy użyciu parametry połączenia SQL.
  • ReadData: umożliwia użytkownikowi odczytywanie danych z dowolnej tabeli/widoku w magazynie.
  • ReadAll: umożliwia użytkownikowi odczytywanie danych nieprzetworzonych plików parquet w usłudze OneLake, które mogą być używane przez platformę Spark.

Połączenie użytkownika z punktem końcowym analizy SQL zakończy się niepowodzeniem bez uprawnienia odczyt co najmniej.

Monitorowanie

Monitorowanie działań w magazynie danych ma kluczowe znaczenie dla zapewnienia optymalnej wydajności, efektywnego wykorzystania zasobów i zabezpieczeń. Ułatwia ona identyfikowanie problemów, wykrywanie anomalii i podejmowanie działań w celu zapewnienia bezproblemowego i bezpiecznego działania magazynu danych.

Dynamiczne widoki zarządzania (DMV) umożliwiają monitorowanie połączenia, sesji i stanu żądania w celu wyświetlenia szczegółowych informacji dotyczących cyklu życia zapytań SQL na żywo. Za pomocą widoków DMV można uzyskać szczegółowe informacje, takie jak liczba aktywnych zapytań i określić, które zapytania są uruchomione przez dłuższy okres i wymagać zakończenia.

Obecnie w sieci szkieletowej są dostępne trzy dynamiczne widoki zarządzania:

  • sys.dm_exec_connections: zwraca informacje o każdym połączeniu nawiązanych między magazynem a aparatem.
  • sys.dm_exec_sessions: zwraca informacje o każdej sesji uwierzytelnionej między elementem a aparatem.
  • sys.dm_exec_requests: zwraca informacje o każdym aktywnym żądaniu w sesji.

Monitorowanie zapytań

Użyj polecenia "sys.dm_exec_requests", aby zidentyfikować długotrwałe zapytania, które mogą mieć wpływ na ogólną wydajność bazy danych, i podjąć odpowiednie działania w celu optymalizacji lub zakończenia tych zapytań.

Zacznij od zidentyfikowania zapytań, które były uruchomione przez długi czas. Użyj następującego zapytania, aby określić, które zapytania były uruchomione najdłużej, w kolejności malejącej:

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

Możesz kontynuować badanie, aby zrozumieć, który użytkownik uruchomił sesję z długotrwałym zapytaniem, uruchamiając polecenie:

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

Na koniec możesz użyć KILL polecenia , aby zakończyć sesję z długotrwałym zapytaniem:

    KILL 'SESSION_ID WITH LONG-RUNNING QUERY';

Ważne

Aby uruchomić KILL polecenie, musisz być obszarem roboczym Administracja. Administracja obszaru roboczego mogą wykonywać wszystkie trzy dynamiczne widoki zarządzania. Role Członek, Współautor i Osoba przeglądająca mogą wyświetlać własne wyniki w magazynie, ale nie widzą wyników innych użytkowników.