Udostępnij za pomocą


Rozpoczynanie pracy z inspekcją usługi Azure SQL Managed Instance

Dotyczy:Azure SQL Managed Instance

Inspekcja usługi Azure SQL Managed Instance śledzi zdarzenia bazy danych i zapisuje je w dzienniku inspekcji na koncie usługi Azure Storage.

Ponadto inspekcja:

  • Pomaga zachować zgodność z przepisami, analizować aktywność bazy danych oraz uzyskać wgląd w odchylenia i anomalie, które mogą oznaczać problemy biznesowe lub podejrzane naruszenia zabezpieczeń.
  • Umożliwia i ułatwia przestrzeganie standardów zgodności, chociaż nie gwarantuje zgodności. Aby uzyskać więcej informacji, zobacz Centrum zaufania platformy Microsoft Azure, w którym można znaleźć najbardziej aktualną listę certyfikatów zgodności usługi SQL Managed Instance.

Ważne

Inspekcja usługi Azure SQL Managed Instance jest zoptymalizowana pod kątem dostępności i wydajności. Podczas wysokiego obciążenia sieciowego lub dużego obciążenia sieciowego usługa Azure SQL Managed Instance umożliwia kontynuowanie operacji i może nie rejestrować niektórych zdarzeń inspekcji.

Konfigurowanie inspekcji dla wystąpienia w usłudze Azure Storage

W poniższej sekcji opisano konfigurację inspekcji w wystąpieniu zarządzanym SQL.

  1. Przejdź do portalu Azure Portal.

  2. Utwórz kontener usługi Azure Storage, w którym są przechowywane dzienniki inspekcji.

    1. Przejdź do konta usługi Azure Storage, na którym chcesz przechowywać dzienniki inspekcji.

      • Użyj konta magazynu w tym samym regionie co wystąpienie zarządzane SQL, aby uniknąć operacji odczytu/zapisu między regionami.
      • Jeśli konto magazynu znajduje się za siecią wirtualną lub zaporą, zobacz Udzielanie dostępu z sieci wirtualnej.
      • Jeśli zmienisz okres przechowywania z 0 (nieograniczony okres przechowywania) na dowolną inną wartość, przechowywanie będzie dotyczyć tylko dzienników zapisanych po zmianie wartości przechowywania. Dzienniki zapisywane w okresie, w których okres przechowywania został ustawiony bez ograniczeń , są zachowywane, nawet po włączeniu przechowywania.
    2. Na koncie magazynu przejdź do pozycji Przegląd i wybierz pozycję Obiekty blob.

      Zrzut ekranu przedstawiający widżet obiektów blob platformy Azure.

    3. W górnym menu wybierz pozycję + Kontener , aby utworzyć nowy kontener.

      Zrzut ekranu przedstawiający ikonę Tworzenie kontenera obiektów blob.

    4. Podaj nazwę kontenera, ustaw poziom dostępu publicznego na Prywatny, a następnie wybierz przycisk OK.

      Zrzut ekranu przedstawiający konfigurację tworzenia kontenera obiektów blob.

    Ważne

    Klienci, którzy chcą skonfigurować niezmienny magazyn dzienników dla zdarzeń inspekcji na poziomie serwera lub bazy danych, powinni postępować zgodnie z instrukcjami dostarczonymi przez usługę Azure Storage. (Upewnij się, że podczas konfigurowania niezmiennego magazynu obiektów blob wybrano opcję Zezwalaj na dodatkowe dołączania ).

  3. Po utworzeniu kontenera dla dzienników inspekcji istnieją dwa sposoby konfigurowania go jako miejsca docelowego dzienników inspekcji: przy użyciu języka T-SQL lub przy użyciu interfejsu użytkownika programu SQL Server Management Studio (SSMS):

  • Konfigurowanie magazynu obiektów blob na potrzeby dzienników inspekcji przy użyciu języka T-SQL:

    1. Na liście kontenerów wybierz nowo utworzony kontener, a następnie wybierz pozycję Właściwości kontenera.

      Zrzut ekranu przedstawiający przycisk Właściwości kontenera obiektów blob.

    2. Skopiuj adres URL kontenera, wybierając ikonę kopiowania i zapisując adres URL (na przykład w Notatniku) do użycia w przyszłości. Format adresu URL kontenera powinien być następujący: https://<StorageName>.blob.core.windows.net/<ContainerName>

      Zrzut ekranu przedstawiający adres URL kopiowania kontenera obiektów blob.

    3. Wygeneruj token SAS usługi Azure Storage, aby udzielić wystąpieniu zarządzanemu SQL inspekcji praw dostępu do konta magazynu:

      • Przejdź do konta usługi Azure Storage, na którym utworzono kontener w poprzednim kroku.

      • Wybierz pozycję Sygnatura dostępu współdzielonego w menu Ustawienia magazynu.

        Ikona sygnatury dostępu współdzielonego w menu ustawień magazynu.

      • Skonfiguruj sygnaturę dostępu współdzielonego w następujący sposób:

        • Dozwolone usługi: obiekt blob

        • Data rozpoczęcia: aby uniknąć problemów związanych ze strefą czasową, użyj wczorajszej daty

        • Data zakończenia: wybierz datę wygaśnięcia tego tokenu SAS

          Uwaga

          Aby uniknąć błędów inspekcji, odnów token po wygaśnięciu.

        • Wybierz pozycję Generuj sygnaturę dostępu współdzielonego.

          Zrzut ekranu przedstawiający konfigurację sygnatury dostępu współdzielonego.

      • Token SAS jest wyświetlany u dołu. Skopiuj token, wybierając ikonę kopiowania i zapisz go (na przykład w Notatniku) do użycia w przyszłości.

        Zrzut ekranu przedstawiający sposób kopiowania tokenu SAS.

        Ważne

        Usuń znak zapytania (?) z początku tokenu.

    4. Połącz się z wystąpieniem zarządzanym SQL za pośrednictwem programu SQL Server Management Studio lub dowolnego innego obsługiwanego narzędzia.

    5. Wykonaj następującą instrukcję języka T-SQL, aby utworzyć nowe poświadczenia przy użyciu adresu URL kontenera i tokenu SAS utworzonego w poprzednich krokach:

      CREATE CREDENTIAL [<container_url>]
      WITH IDENTITY='SHARED ACCESS SIGNATURE',
      SECRET = '<SAS KEY>'
      GO
      
    6. Wykonaj następującą instrukcję języka T-SQL, aby utworzyć nową inspekcję serwera (wybierz własną nazwę inspekcji i użyj adresu URL kontenera utworzonego w poprzednich krokach). Jeśli nie zostanie określony, wartość domyślna RETENTION_DAYS to 0 (nieograniczony okres przechowywania):

      CREATE SERVER AUDIT [<your_audit_name>]
      TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
      GO
      
    7. Kontynuuj, tworząc specyfikację inspekcji serwera lub specyfikację inspekcji bazy danych.

  • Skonfiguruj magazyn obiektów blob na potrzeby dzienników inspekcji przy użyciu programu SQL Server Management Studio 18 i nowszych wersji:

    1. Połącz się z wystąpieniem zarządzanym SQL przy użyciu interfejsu użytkownika programu SQL Server Management Studio.

    2. Rozwiń notatkę główną Eksploratora obiektów.

    3. Rozwiń węzeł Zabezpieczenia, kliknij prawym przyciskiem myszy węzeł Inspekcje i wybierz pozycję Nowa inspekcja:

      Zrzut ekranu przedstawiający sposób rozszerzania węzła zabezpieczeń i inspekcji.

    4. Upewnij się, że w obszarze Miejsce docelowe inspekcji wybrano adres URL i wybierz pozycję Przeglądaj:

      Zrzut ekranu przedstawiający sposób przeglądania usługi Azure Storage.

    5. (Opcjonalnie) Zaloguj się do konta platformy Azure:

      Zrzut ekranu przedstawiający sposób logowania się do platformy Azure.

    6. Wybierz subskrypcję, konto magazynu i kontener obiektów blob z listy rozwijanej lub utwórz własny kontener, wybierając pozycję Utwórz. Po zakończeniu wybierz przycisk OK:

      Wybierz pozycję Subskrypcja platformy Azure, konto magazynu i kontener obiektów blob.

    7. Wybierz przycisk OK w oknie dialogowym Tworzenie inspekcji.

      Uwaga

      W przypadku tworzenia inspekcji przy użyciu interfejsu użytkownika programu SQL Server Management Studio zostanie automatycznie utworzone poświadczenie kontenera z kluczem SAS.

Po skonfigurowaniu kontenera obiektów blob jako obiektu docelowego dla dzienników inspekcji utwórz i włącz specyfikację inspekcji serwera lub specyfikację inspekcji bazy danych, tak jak w przypadku programu SQL Server:

Użyj następującej instrukcji języka T-SQL, aby włączyć inspekcję serwera:

ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO

Informacje dodatkowe:

Inspekcja operacji pomoc techniczna firmy Microsoft

Inspekcja operacji pomoc techniczna firmy Microsoft dla usługi SQL Managed Instance umożliwia inspekcję operacji inżynierów pomocy technicznej firmy Microsoft, gdy muszą uzyskać dostęp do serwera podczas żądania pomocy technicznej. Korzystanie z tej funkcji, wraz z inspekcją, zapewnia większą przejrzystość pracowników i pozwala na wykrywanie anomalii, wizualizację trendów i zapobieganie utracie danych.

Aby włączyć inspekcję operacji pomoc techniczna firmy Microsoft, przejdź do >w wystąpieniu zarządzania SQL i wybierz pozycję Operacje pomocy technicznej firmy Microsoft.

Zrzut ekranu przedstawiający ikonę Utwórz inspekcję.

Uwaga

Należy utworzyć oddzielną inspekcję serwera na potrzeby inspekcji operacji firmy Microsoft. Jeśli to pole wyboru zostanie włączone dla istniejącej inspekcji, spowoduje to zastąpienie inspekcji i tylko dzienniki obsługują operacje.

Konfigurowanie inspekcji dla serwera w usłudze Event Hubs lub dziennikach usługi Azure Monitor

Dzienniki inspekcji z wystąpienia zarządzanego SQL można wysyłać do dzienników usługi Azure Event Hubs lub usługi Azure Monitor. W tej sekcji opisano sposób tworzenia tej konfiguracji:

  1. Przejdź w witrynie Azure Portal do wystąpienia zarządzanego SQL.

  2. Wybierz pozycję Ustawienia diagnostyczne.

  3. Wybierz pozycję Włącz diagnostykę. Jeśli diagnostyka jest już włączona, zamiast tego jest dostępne +Dodaj ustawienie diagnostyczne .

  4. Wybierz pozycję SQLSecurityAuditEvents na liście dzienników.

  5. Jeśli konfigurujesz operacje pomocy technicznej firmy Microsoft, wybierz pozycję Dzienniki inspekcji operacji DevOps na liście dzienników.

  6. Wybierz miejsce docelowe zdarzeń inspekcji: Event Hubs, dzienniki usługi Azure Monitor lub oba te elementy. Skonfiguruj dla każdego elementu docelowego wymagane parametry (na przykład obszar roboczy usługi Log Analytics).

  7. Wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający sposób konfigurowania ustawień diagnostycznych.

  8. Połącz się z wystąpieniem zarządzanym SQL przy użyciu programu SQL Server Management Studio (SSMS) lub innego obsługiwanego klienta.

  9. Wykonaj następującą instrukcję języka T-SQL, aby utworzyć inspekcję serwera:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. Utwórz i włącz specyfikację inspekcji serwera lub specyfikację inspekcji bazy danych, tak jak w przypadku programu SQL Server:

  11. Włącz inspekcję serwera utworzoną w kroku 8:

    ALTER SERVER AUDIT [<your_audit_name>]
    WITH (STATE = ON);
    GO
    

Konfigurowanie inspekcji przy użyciu języka T-SQL

-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO

CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditnodevops
    WITH (STATE = ON);
GO

-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]

CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
    WITH (OPERATOR_AUDIT = ON);
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditdevops
    WITH (STATE = ON);
GO

Korzystanie z dzienników inspekcji

Korzystanie z dzienników przechowywanych w usłudze Azure Storage

Istnieje kilka metod, których można użyć do wyświetlania dzienników inspekcji obiektów blob.

  • Aby zwrócić dane dziennika inspekcji w formacie tabelarycznym, można użyć funkcji systemowej sys.fn_get_audit_file (T-SQL ).

  • Dzienniki inspekcji można eksplorować przy użyciu narzędzia takiego jak Eksplorator usługi Azure Storage. W usłudze Azure Storage dzienniki inspekcji są zapisywane jako kolekcja plików obiektów blob w kontenerze zdefiniowanym do przechowywania dzienników inspekcji. Aby uzyskać więcej informacji na temat hierarchii folderu magazynu, konwencji nazewnictwa i formatu dziennika, zobacz Dokumentację formatu dziennika inspekcji obiektów blob.

  • Pełną listę metod użycia dziennika inspekcji można znaleźć w temacie Rozpoczynanie pracy z inspekcją usługi Azure SQL Database.

Korzystanie z dzienników przechowywanych w usłudze Event Hubs

Aby korzystać z danych dzienników inspekcji z usługi Event Hubs, należy skonfigurować strumień, aby korzystać z zdarzeń i zapisywać je w obiekcie docelowym. Aby uzyskać więcej informacji, zobacz dokumentację usługi Azure Event Hubs.

Używanie i analizowanie dzienników przechowywanych w dziennikach usługi Azure Monitor

Jeśli dzienniki inspekcji są zapisywane w dziennikach usługi Azure Monitor, są one dostępne w obszarze roboczym usługi Log Analytics, w którym można uruchamiać zaawansowane wyszukiwania danych inspekcji. Jako punkt wyjścia przejdź do obszaru roboczego usługi Log Analytics. W sekcji Ogólne wybierz pozycję Dzienniki i wprowadź podstawowe zapytanie, takie jak: search "SQLSecurityAuditEvents" aby wyświetlić dzienniki inspekcji.

Dzienniki usługi Azure Monitor umożliwiają uzyskiwanie szczegółowych informacji operacyjnych w czasie rzeczywistym przy użyciu zintegrowanego wyszukiwania i niestandardowych pulpitów nawigacyjnych w celu czytelnego analizowania milionów rekordów we wszystkich obciążeniach i serwerach. Aby uzyskać więcej informacji na temat języka wyszukiwania i poleceń dzienników usługi Azure Monitor, zobacz Dokumentacja wyszukiwania dzienników usługi Azure Monitor.

Inspekcja różnic między bazami danych w usłudze Azure SQL Managed Instance i bazami danych w programie SQL Server

Najważniejsze różnice między inspekcją w bazach danych w usłudze Azure SQL Managed Instance i bazami danych w programie SQL Server są następujące:

  • Dzięki usłudze Azure SQL Managed Instance inspekcja działa na poziomie serwera i przechowuje pliki dziennika w usłudze .xel Azure Blob Storage.
  • W programie SQL Server inspekcja działa na poziomie serwera, ale przechowuje zdarzenia w dziennikach zdarzeń systemu plików i systemu Windows.

Inspekcja XEvent w wystąpieniach zarządzanych obsługuje cele usługi Azure Blob Storage. Dzienniki plików i systemu Windows nie są obsługiwane.

Kluczowe różnice w składni inspekcji w CREATE AUDIT usłudze Azure Blob Storage to:

  • Udostępniono nową składnię TO URL i można określić adres URL kontenera usługi Azure Blob Storage, w .xel którym są umieszczane pliki.
  • Udostępniono nową składnię TO EXTERNAL MONITOR umożliwiającą włączanie obiektów docelowych dziennika usługi Event Hubs i usługi Azure Monitor.
  • Składnia TO FILE nie jest obsługiwana , ponieważ usługa Azure SQL Managed Instance nie może uzyskać dostępu do udziałów plików systemu Windows.
  • Opcja zamykania nie jest obsługiwana.
  • queue_delay wartość 0 nie jest obsługiwana.

Następny krok