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ług Azure SQL Database, Azure Synapse i Azure SQL Managed Instance jest zoptymalizowana pod kątem dostępności i wydajności. Podczas bardzo dużej aktywności lub dużego obciążenia sieciowego usługa Azure SQL Database, azure Synapse i usługa Azure SQL Managed Instance umożliwiają kontynuowanie operacji i mogą nie rejestrować niektórych zdarzeń inspekcji.

Konfigurowanie inspekcji dla serwera w usłudze Azure Storage

W poniższej sekcji opisano konfigurację inspekcji wystąpienia zarządzanego.

  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, 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 stosowane tylko do dzienników zapisanych po zmianie wartości przechowywania (dzienniki zapisane w okresie, w którym okres przechowywania został ustawiony na nieograniczony , są zachowywane nawet po włączeniu przechowywania).
    2. Na koncie magazynu przejdź do pozycji Przegląd i wybierz pozycję Obiekty blob.

      Screenshot showing the Azure Blobs widget.

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

      Screenshot showing the Create blob container icon.

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

      Screenshot showing the Create blob container configuration.

    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 wybrano Zezwalaj na dodatkowe dołączania podczas konfigurowania niezmiennego magazynu obiektów blob).

  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.

        Screenshot showing the Blob container properties button.

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

        Screenshot showing the Blob container copy URL.

      3. Wygeneruj token SAS usługi Azure Storage, aby udzielić wystąpienia zarządzanego 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.

          Shared access signature icon in storage settings menu.

        • 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

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

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

            Screenshot showing the SAS configuration.

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

          Screenshot showing how to copy SAS token.

          Ważne

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

      4. Połączenie do wystąpienia zarządzanego za pośrednictwem programu SQL Server Management Studio lub 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łączenie do wystąpienia zarządzanego przy użyciu interfejsu użytkownika programu SQL Server Management Studio.

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

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

        Screenshot showing how to Expand security and audit node.

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

        Screenshot showing how to Browse Azure Storage.

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

        Screenshot showing how to Sign in to 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:

        Select Azure subscription, storage account, and blob container.

      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 do kontenera z kluczem SAS.

      8. 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:

    • Przewodnik T-SQL dotyczący tworzenia specyfikacji inspekcji serwera

    • Przewodnik T-SQL dotyczący tworzenia specyfikacji inspekcji bazy danych

  4. Włącz inspekcję serwera utworzoną w kroku 3:

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

Dodatkowe informacje:

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 pozycji Utwórz inspekcję w obszarze Inspekcja zabezpieczeń>w wystąpieniu zarządzania SQL i wybierz pozycję Operacje pomocy technicznej firmy Microsoft.

Screenshot showing the Create audit icon.

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 operacje obsługi dzienników.

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

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

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

  2. Wybierz pozycję Ustawienia diagnostyczne.

  3. Wybierz pozycję Włącz diagnostykę. Jeśli diagnostyka jest już włączona, zostanie wyświetlone ustawienie +Dodaj diagnostykę.

  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.

    Screenshot showing how to configure diagnostic settings.

  8. Połączenie do wystąpienia zarządzanego przy użyciu polecenia SQL Server Management Studio (SSMS) lub inny obsługiwany klient.

  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.

  • Użyj funkcji sys.fn_get_audit_file systemowej (T-SQL), aby zwrócić dane dziennika inspekcji w formacie tabelarycznym. Aby uzyskać więcej informacji na temat korzystania z tej funkcji, zobacz dokumentację sys.fn_get_audit_file.

  • 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ń w celu korzystania z zdarzeń i zapisywania ich 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 na 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.

Uwaga

Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dziennika są nadal przechowywane w obszarze roboczym usługi Log Analytics i są nadal zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zmiany terminologii 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ępne kroki

  • Pełną listę metod użycia dziennika inspekcji można znaleźć w temacie Rozpoczynanie pracy z inspekcją usługi Azure SQL Database.
  • Aby uzyskać więcej informacji na temat programów platformy Azure obsługujących zgodność ze standardami, zobacz Centrum zaufania Azure, gdzie można znaleźć najbardziej aktualną listę certyfikatów zgodności.