Självstudie: Konfigurera granskningsloggar med hjälp av Azure Database for MySQL – flexibel server
Du kan använda Azure Database for MySQL – flexibel server för att konfigurera granskningsloggar. Granskningsloggar kan användas för att spåra aktiviteter på databasnivå, inklusive händelser på anslutning, administration, datadefinitionsspråk (DDL) och datamanipuleringsspråk (DML). Den här typen av loggar används ofta för att uppfylla efterlevnadskrav. Du använder vanligtvis databasgranskning för att:
- Ta hänsyn till alla åtgärder som inträffar inom ett visst schema, en tabell eller en rad eller som påverkar specifikt innehåll.
- Förhindra användare (eller andra) från olämpliga åtgärder baserat på deras ansvarsskyldighet.
- Undersök misstänkt aktivitet.
- Övervaka och samla in data om specifika databasaktiviteter.
I den här artikeln beskrivs hur du använder MySQL-granskningsloggar, Log Analytics-verktyg eller en arbetsboksmall för att visualisera granskningsinformation för Azure Database for MySQL – flexibel server.
I den här självstudien får du lära dig att:
- Konfigurera granskning med hjälp av Azure Portal eller Azure CLI
- Konfigurera diagnostik
- Visa granskningsloggar med hjälp av Log Analytics
- Visa granskningsloggar med hjälp av arbetsböcker
Förutsättningar
- Snabbstart: Skapa en instans av Azure Database for MySQL med Azure Portal.
- Skapa en Log Analytics-arbetsyta.
Konfigurera granskning med hjälp av Azure Portal
Logga in på Azure-portalen.
Välj din flexibla serverinstans.
Välj Serverparametrar under Inställningar i den vänstra rutan.
För parametern audit_log_enabled väljer du PÅ.
För parametern audit_log_events går du till listrutan och väljer de händelsetyper som ska loggas.
För parametrarna audit_log_exclude_users och audit_log_include_users anger du alla MySQL-användare som ska inkluderas eller undantas från loggning genom att ange sina MySQL-användarnamn.
Välj Spara.
Konfigurera granskning med hjälp av Azure CLI
Du kan också aktivera och konfigurera granskning för din flexibla server från Azure CLI genom att köra följande kommando:
# Enable audit logs
az mysql flexible-server parameter set \
--name audit_log_enabled \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
Konfigurera diagnostik
Granskningsloggar är integrerade med Diagnostikinställningar för Azure Monitor så att du kan skicka loggarna till någon av tre datamottagare:
- En Log Analytics-arbetsyta
- En händelsehubb
- Ett lagringskonto
Kommentar
Du bör skapa dina datamottagare innan du konfigurerar diagnostikinställningarna. Du kan komma åt granskningsloggarna i de datamottagare som du har konfigurerat. Det kan ta upp till 10 minuter innan loggarna visas.
Välj Diagnostikinställningar under Övervakning i den vänstra rutan.
I fönstret Diagnostikinställningar väljer du Lägg till diagnostikinställning.
I rutan Namn anger du ett namn för diagnostikinställningen.
Ange vilka mål (Log Analytics-arbetsyta, en händelsehubb eller ett lagringskonto) som granskningsloggarna ska skickas till genom att markera motsvarande kryssrutor.
Kommentar
I den här självstudien skickar du granskningsloggarna till en Log Analytics-arbetsyta.
Under Logg väljer du kryssrutan MySqlAuditLogs för loggtypen.
När du har konfigurerat datamottagare att skicka spårningsloggarna till väljer du Spara.
Visa granskningsloggar med hjälp av Log Analytics
I Log Analytics går du till den vänstra rutan under Övervakning och väljer Loggar.
Stäng fönstret Frågor .
I frågefönstret kan du skriva frågan som ska köras. För att till exempel hitta en sammanfattning av granskade händelser på en viss server har vi använt följande fråga:
AzureDiagnostics |where Category =='MySqlAuditLogs' |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s |summarize count() by event_class_s,event_subclass_s |order by event_class_s
Visa granskningsloggar med hjälp av arbetsböcker
Den arbetsboksmall som du använder för granskning kräver att du skapar diagnostikinställningar för att skicka plattformsloggar.
Välj Aktivitetslogg i den vänstra rutan i Azure Monitor och välj sedan Diagnostikinställningar.
I fönstret Diagnostikinställning kan du lägga till en ny inställning eller redigera en befintlig. Varje inställning får inte ha mer än en av varje måltyp.
Kommentar
Du kan komma åt de långsamma frågeloggarna i datamottagare (Log Analytics-arbetsyta, lagringskonto eller händelsehubb) som du redan har konfigurerat. Det kan ta upp till 10 minuter innan loggarna visas.
I Azure Portal går du till den vänstra rutan under Övervakning för din Azure Database for MySQL – flexibel serverinstans och väljer Arbetsböcker.
Välj arbetsboken Granskning .
I arbetsboken kan du visa följande visualiseringar:
- Administrativa åtgärder för tjänsten
- Granskningssammanfattning
- Granska sammanfattning av anslutningshändelser
- Granska anslutningshändelser
- Sammanfattning av tabellåtkomst
- Identifierade fel
Kommentar
- Du kan också redigera dessa mallar och anpassa dem efter dina behov. Mer information finns i avsnittet "Redigeringsläge" i Azure-arbetsböcker.
- För en snabbvy kan du även fästa arbetsböckerna eller Log Analytics-frågan på instrumentpanelen. Mer information finns i Skapa en instrumentpanel i Azure Portal.
I vyn Administrativa åtgärder i tjänstvyn får du information om aktivitet som utförs på tjänsten. Det hjälper till att fastställa vad, vem och när för skrivåtgärder (PUT, POST, DELETE) som utförs på resurserna i din prenumeration.
Du kan använda andra visualiseringar för att förstå information om databasaktivitet. Databassäkerhet har fyra delar:
- Serversäkerhet: Ansvarig för att förhindra obehörig personal från att komma åt databasen.
- Databasanslutning: Administratören bör kontrollera om några databasuppdateringar har utförts av behörig personal.
- Tabellåtkomstkontroll: Visar åtkomstnycklarna för behöriga användare och vilka tabeller i databasen som var och en har behörighet att hantera.
- Begränsning av databasåtkomst: Särskilt viktigt för dem som har laddat upp en databas till Internet och hjälper till att förhindra att externa källor får åtkomst till databasen.