Rozpocznij korzystanie z inspekcji w Azure SQL Managed Instance

Dotyczy:Azure SQL Managed Instance

W tym artykule nauczysz się konfigurować auditing przy użyciu inspekcji SQL Server w Azure SQL Managed Instance. Audyt śledzi zdarzenia bazy danych i zapisuje je w dzienniku audytu na koncie przechowywania Azure.

Skonfiguruj audytowanie dla wystąpienia do Azure Storage

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

  1. Przejdź do portalu Azure.

  2. Utwórz Azure Storage container gdzie są przechowywane dzienniki inspekcji.

    1. Przejdź do konta magazynu Azure, na którym chcesz przechowywać dzienniki inspekcji.

      • Użyj konta magazynowego w tym samym regionie, co zarządzane wystąpienie SQL, aby uniknąć operacji odczytu/zapisu między regionami.
      • Jeśli konto magazynowe znajduje się za siecią wirtualną albo zaporą sieciową, zobacz Przyznaj dostęp 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 Azure Blob.

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

      Zrzut ekranu przedstawiający ikonę Utwórz kontener 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 blob container.

    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 instrukcje udostępniane przez 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 obiektu docelowego dla dzienników inspekcji: za pomocą języka T-SQL lub za pomocą interfejsu użytkownika 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 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 Blob.

    3. Wygeneruj token SAS dla usługi Azure Storage, aby umożliwić instancji zarządzanej SQL audyt dostępności do konta magazynu.

      • Przejdź do konta magazynu Azure, na którym utworzono kontener w poprzednim kroku.

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

        Ikona podpisu dostępu współdzielonego w menu konfiguracji przechowywania.

      • Skonfiguruj SAS w następujący sposób:

        • Dozwolone usługi: 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 SAS (sygnaturę dostępu współdzielonego).

          Zrzut ekranu przedstawiający konfigurację SAS.

      • 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 zarządzaną instancją SQL przez SQL Server Management Studio lub dowolne inne obsługiwane narzędzie.

    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.

  • Konfiguruj magazyn obiektów blob dla dzienników inspekcji przy użyciu SQL Server Management Studio 18 i nowszych wersji:

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

    2. Rozwiń notatkę główną Object Explorer.

    3. Rozwiń węzeł Zabezpieczenia, kliknij prawym przyciskiem myszy na węzeł Audyty i wybierz opcję Nowy audyt:

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

    4. Upewnij się, że w obszarze Docelowe miejsce inspekcji wybrano URL, a następnie wybierz Przeglądaj:

      Screenshot przedstawiający sposób przeglądania Azure Storage.

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

      Screenshot przedstawiający sposób logowania się do 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 subskrypcję Azure, konto magazynowe i kontener blob.

    7. Wybierz OK w oknie dialogowym Tworzenie inspekcji.

      Uwaga

      Gdy w przypadku tworzenia inspekcji przy użyciu interfejsu użytkownika SQL Server Management Studio automatycznie tworzone jest poświadczenie dla 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 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 Microsoft Support

Inspekcja operacji Microsoft Support dla SQL Managed Instance umożliwia inspekcję operacji inżynierów Microsoft support, gdy muszą uzyskać dostęp do serwera podczas żądania pomocy technicznej. Korzystanie z tej funkcji, wraz z audytem, zapewnia większą przejrzystość działania zespołu i umożliwia wykrywanie anomalii, wizualizację trendów i zapobieganie utracie danych.

Aby włączyć inspekcję operacji Microsoft Support, przejdź do Utwórz inspekcję w obszarze Zabezpieczenia>Inspekcja w zarządzanym wystąpieniu SQL i wybierz operacje Microsoft Support.

Zrzut ekranu przedstawiający ikonę do tworzenia inspekcji.

Uwaga

Należy utworzyć oddzielną inspekcję serwera na potrzeby inspekcji operacji Microsoft. Jeśli włączysz to pole wyboru dla istniejącej inspekcji, spowoduje to zastąpienie inspekcji i zapisanie tylko operacji wsparcia.

Skonfiguruj audyt serwera w usłudze Event Hubs lub dziennikach usługi Azure Monitor

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

  1. W portalu Azure przejdź do zarządzanej instancji 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 obsługi Microsoft, wybierz pozycję Dzienniki inspekcji operacji DevOps na liście dzienników.

  6. Wybierz lokalizację docelową zdarzeń inspekcji: Event Hubs, dzienniki Azure Monitor lub oba te elementy. Skonfiguruj dla każdego elementu docelowego wymagane parametry (na przykład Log Analytics workspace).

  7. Wybierz pozycję Zapisz.

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

  8. Nawiąż połączenie z wystąpieniem zarządzanym SQL przy użyciu 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 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

Wykorzystywanie dzienników przechowywanych w usłudze Azure Storage

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

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ń do przetwarzania zdarzeń i zapisywania ich w miejscu docelowym. Aby uzyskać więcej informacji, zobacz dokumentację Azure Event Hubs.

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

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

Dzienniki Azure Monitor dostarczają szczegółowe informacje operacyjne w czasie rzeczywistym, wykorzystując zintegrowane wyszukiwanie i niestandardowe pulpity nawigacyjne, co umożliwia łatwe analizowanie milionów rekordów w wielu obciążeniach i serwerach. Aby uzyskać więcej informacji na temat języka wyszukiwania dzienników oraz poleceń Azure Monitor, odwiedź Azure Monitor dokumentacja dotycząca wyszukiwania dzienników.