Auditlogboeken in Azure Database for MariaDB
Belangrijk
Azure Database for MariaDB bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om te migreren naar Azure Database for MySQL. Zie Wat gebeurt er met Azure Database for MariaDB voor meer informatie over migreren naar Azure Database for MySQL.
In Azure Database for MariaDB is het auditlogboek beschikbaar voor gebruikers. Het auditlogboek kan worden gebruikt om activiteit op databaseniveau bij te houden en wordt vaak gebruikt voor naleving.
Auditlogboekregistratie configureren
Belangrijk
Het wordt aanbevolen om alleen de gebeurtenistypen en gebruikers te registreren die vereist zijn voor controledoeleinden. Zo zorgt u ervoor dat de server niet te zwaar wordt belast.
Standaard is het auditlogboek uitgeschakeld. Als u dit wilt inschakelen, stelt u deze in audit_log_enabled
op AAN.
Andere parameters die u kunt aanpassen, zijn:
audit_log_events
: bepaalt de gebeurtenissen die moeten worden vastgelegd. Zie de onderstaande tabel voor specifieke controlegebeurtenissen.audit_log_include_users
: MariaDB-gebruikers die moeten worden opgenomen voor logboekregistratie. De standaardwaarde voor deze parameter is leeg, inclusief alle gebruikers voor logboekregistratie. Dit heeft een hogere prioriteit danaudit_log_exclude_users
. De maximale lengte van de parameter is 512 tekens.audit_log_exclude_users
: MariaDB-gebruikers die moeten worden uitgesloten van logboekregistratie. Staat maximaal vier gebruikers toe. De maximale lengte van de parameter is 256 tekens.
Notitie
audit_log_include_users
heeft een hogere prioriteit dan audit_log_exclude_users
. Als enaudit_log_exclude_users
= demouser
, wordt de gebruiker bijvoorbeeld = audit_log_include_users
demouser
opgenomen in de auditlogboeken omdat audit_log_include_users
deze een hogere prioriteit heeft.
Gebeurtenis | Beschrijving |
---|---|
CONNECTION |
- Start van verbinding (geslaagd of mislukt) - Gebruikersverificatie met verschillende gebruikers/wachtwoorden tijdens de sessie - Beëindiging van verbinding |
DML_SELECT |
SELECT-query's |
DML_NONSELECT |
INSERT/DELETE/UPDATE-query's |
DML |
DML = DML_SELECT + DML_NONSELECT |
DDL |
Query's zoals 'DROP DATABASE' |
DCL |
Query's zoals 'MACHTIGING VERLENEN' |
ADMIN |
Query's zoals 'SHOW STATUS' |
GENERAL |
Alles in DML_SELECT, DML_NONSELECT, DML, DDL, DCL en ADMIN |
Auditlogboeken inzien
Auditlogboeken zijn geïntegreerd in Diagnostische logboeken van Azure Monitor. Zodra u auditlogboeken op uw MariaDB-server hebt ingeschakeld, kunt u ze naar Azure Monitor-logboeken, Event Hubs of Azure Storage verzenden. Zie het artikel in de auditlogboekportal voor meer informatie over het inschakelen van diagnostische logboeken in Azure Portal.
Schema's voor diagnostische logboeken
In de volgende secties wordt beschreven wat er wordt uitgevoerd door MariaDB-auditlogboeken op basis van het gebeurtenistype. Afhankelijk van de uitvoermethode kunnen de velden die zijn opgenomen en de volgorde waarin ze worden weergegeven, variëren.
Connection
Eigenschappen | Beschrijving |
---|---|
TenantId |
Uw tenant-id |
SourceSystem |
Azure |
TimeGenerated [UTC] |
Tijdstempel waarop het logboek is vastgelegd in UTC |
Type |
Type van het logboek. Altijd AzureDiagnostics |
SubscriptionId |
GUID voor het abonnement waartoe de server behoort |
ResourceGroup |
De naam van de resourcegroep waartoe de server behoort |
ResourceProvider |
Naam van de resourceprovider. Altijd MICROSOFT.DBFORMARIADB |
ResourceType |
Servers |
ResourceId |
Resource-URI |
Resource |
Naam van de server |
Category |
MySqlAuditLogs |
OperationName |
LogEvent |
event_class_s |
connection_log |
event_subclass_s |
CONNECT , DISCONNECT |
connection_id_d |
Unieke verbindings-id gegenereerd door MariaDB |
host_s |
Leeg |
ip_s |
IP-adres van client die verbinding maakt met MariaDB |
user_s |
Naam van de gebruiker die de query uitvoert |
db_s |
Naam van de database die is verbonden met |
\_ResourceId |
Resource-URI |
Algemeen
Het onderstaande schema is van toepassing op gebeurtenistypen GENERAL, DML_SELECT, DML_NONSELECT, DML, DDL, DCL en ADMIN.
Notitie
Logboek sql_text
wordt afgekapt als het langer is dan 2048 tekens.
Eigenschappen | Beschrijving |
---|---|
TenantId |
Uw tenant-id |
SourceSystem |
Azure |
TimeGenerated [UTC] |
Tijdstempel waarop het logboek is vastgelegd in UTC |
Type |
Type van het logboek. Altijd AzureDiagnostics |
SubscriptionId |
GUID voor het abonnement waartoe de server behoort |
ResourceGroup |
De naam van de resourcegroep waartoe de server behoort |
ResourceProvider |
Naam van de resourceprovider. Altijd MICROSOFT.DBFORMARIADB |
ResourceType |
Servers |
ResourceId |
Resource-URI |
Resource |
Naam van de server |
Category |
MySqlAuditLogs |
OperationName |
LogEvent |
LogicalServerName_s |
Naam van de server |
event_class_s |
general_log |
event_subclass_s |
LOG , , ERROR RESULT |
event_time |
Query starten seconden in UNIX-tijdstempel |
error_code_d |
Foutcode als de query is mislukt. 0 betekent geen fout |
thread_id_d |
Id van thread die de query heeft uitgevoerd |
host_s |
Leeg |
ip_s |
IP-adres van client die verbinding maakt met MariaDB |
user_s |
Naam van de gebruiker die de query uitvoert |
sql_text_s |
Volledige querytekst |
\_ResourceId |
Resource-URI |
Logboeken analyseren in Azure Monitor-logboeken
Zodra uw auditlogboeken zijn doorgesluisd naar Azure Monitor-logboeken via diagnostische logboeken, kunt u verdere analyse van uw gecontroleerde gebeurtenissen uitvoeren. Hieronder vindt u enkele voorbeeldquery's om u te helpen aan de slag te gaan. Zorg ervoor dat u het onderstaande bijwerkt met de servernaam.
Algemene gebeurtenissen op een bepaalde server vermelden
AzureDiagnostics | where LogicalServerName_s == '<your server name>' | where Category == 'MySqlAuditLogs' and event_class_s == "general_log" | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s | order by TimeGenerated asc nulls last
CONNECTION-gebeurtenissen op een bepaalde server weergeven
AzureDiagnostics | where LogicalServerName_s == '<your server name>' | where Category == 'MySqlAuditLogs' and event_class_s == "connection_log" | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s | order by TimeGenerated asc nulls last
Gecontroleerde gebeurtenissen op een bepaalde server samenvatten
AzureDiagnostics | where LogicalServerName_s == '<your server name>' | where Category == 'MySqlAuditLogs' | project TimeGenerated, LogicalServerName_s, 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, user_s, ip_s
Grafiek van de distributie van het controlegebeurtenistype op een bepaalde server
AzureDiagnostics | where LogicalServerName_s == '<your server name>' | where Category == 'MySqlAuditLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s | summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m) | render timechart
Gecontroleerde gebeurtenissen weergeven op alle MariaDB-servers waarvoor diagnostische logboeken zijn ingeschakeld voor auditlogboeken
AzureDiagnostics | where Category == 'MySqlAuditLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s | order by TimeGenerated asc nulls last