Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Przejdź do portalu Azure.
Utwórz Azure Storage container gdzie są przechowywane dzienniki inspekcji.
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.
Na koncie magazynu przejdź do pozycji Przegląd i wybierz pozycję Obiekty blob.
W górnym menu wybierz pozycję + Kontener , aby utworzyć nowy kontener.
Podaj nazwę kontenera, ustaw poziom dostępu publicznego na Prywatny, a następnie wybierz przycisk OK.
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 ).
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:
Na liście kontenerów wybierz nowo utworzony kontener, a następnie wybierz pozycję Właściwości kontenera.
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>
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.
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).
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.
Ważne
Usuń znak zapytania (
?) z początku tokenu.
Połącz się z zarządzaną instancją SQL przez SQL Server Management Studio lub dowolne inne obsługiwane narzędzie.
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>' GOWykonaj 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_DAYSto 0 (nieograniczony okres przechowywania):CREATE SERVER AUDIT [<your_audit_name>] TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>); GOKontynuuj, 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:
Połącz się z zarządzanym wystąpieniem SQL przy użyciu interfejsu użytkownika SQL Server Management Studio.
Rozwiń notatkę główną Object Explorer.
Rozwiń węzeł Zabezpieczenia, kliknij prawym przyciskiem myszy na węzeł Audyty i wybierz opcję Nowy audyt:
Upewnij się, że w obszarze Docelowe miejsce inspekcji wybrano URL, a następnie wybierz Przeglądaj:
(Opcjonalnie) Zaloguj się do konta Azure:
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 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:
- Przewodnik T-SQL dotyczący tworzenia specyfikacji inspekcji serwera
- Przewodnik T-SQL dotyczący tworzenia specyfikacji inspekcji bazy danych
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:
- Audytowanie różnic między Azure SQL Managed Instance a bazą danych SQL Server
- TWORZENIE INSPEKCJI SERWERA
- ALTER SERVER AUDIT
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.
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:
W portalu Azure przejdź do zarządzanej instancji SQL.
Wybierz pozycję Ustawienia diagnostyczne.
Wybierz pozycję Włącz diagnostykę. Jeśli diagnostyka jest już włączona, zamiast tego jest dostępne +Dodaj ustawienie diagnostyczne .
Wybierz pozycję SQLSecurityAuditEvents na liście dzienników.
Jeśli konfigurujesz operacje obsługi Microsoft, wybierz pozycję Dzienniki inspekcji operacji DevOps na liście dzienników.
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).
Wybierz pozycję Zapisz.
Nawiąż połączenie z wystąpieniem zarządzanym SQL przy użyciu SQL Server Management Studio (SSMS) lub innego obsługiwanego klienta.
Wykonaj następującą instrukcję języka T-SQL, aby utworzyć inspekcję serwera:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GOUtwórz i włącz specyfikację inspekcji serwera lub specyfikację inspekcji bazy danych, tak jak w przypadku SQL Server:
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.
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 Azure Storage Explorer. W usłudze Azure Storage dzienniki inspekcji są zapisywane jako zestaw plików blob w kontenerze przeznaczonym do ich przechowywania. Aby uzyskać więcej informacji na temat hierarchii folderu magazynu, konwencji nazewnictwa i formatu dziennika, zobacz w Dokumentacja Formatu Dziennika Audytu Blob.
Aby uzyskać pełną listę metod wykorzystania dziennika inspekcji, zobacz Rozpocznij pracę z inspekcją 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ń 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.