Indeling van auditlogboeken SQL Database
Van toepassing op: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
Met Azure SQL Database-controle worden databasegebeurtenissen bijgehouden en naar een auditlogboek in uw Azure-opslagaccount geschreven, of verzonden naar Event Hub of Log Analytics voor downstreamverwerking en analyse.
Naamconventies
Blobcontrole
Auditlogboeken die zijn opgeslagen in Azure Blob Storage, worden opgeslagen in een container met de naam sqldbauditlogs
in het Azure-opslagaccount. De maphiërarchie binnen de container is van het formulier <ServerName>/<DatabaseName>/<AuditName>/<Date>/
. De indeling van de blob-bestandsnaam is <CreationTime>_<FileNumberInSession>.xel
, waar CreationTime
de UTC-indeling hh_mm_ss_ms
zich bevindt en FileNumberInSession
een actieve index is voor het geval sessielogboeken meerdere Blob-bestanden omvatten.
Voor de database Database1
op Server1
het volgende is bijvoorbeeld een mogelijk geldig pad:
Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel
Auditlogboeken met het kenmerk Alleen-lezen replica's worden opgeslagen in dezelfde container. De maphiërarchie binnen de container is van het formulier <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/
. De blobbestandsnaam deelt dezelfde indeling. De auditlogboeken van alleen-lezen replica's worden opgeslagen in dezelfde container.
Event Hub
Controlegebeurtenissen worden geschreven naar de naamruimte en Event Hub die tijdens de controleconfiguratie zijn gedefinieerd. Ze worden vastgelegd in de hoofdtekst van Apache Avro-gebeurtenissen en opgeslagen met behulp van een JSON-indeling met UTF-8-codering. Als u de auditlogboeken wilt lezen, kunt u Avro-hulpprogramma's of gelijksoortige hulpmiddelen gebruiken waarmee deze indeling wordt verwerkt.
Log Analytics
Controlegebeurtenissen worden tijdens de controleconfiguratie naar de Log Analytics-werkruimte geschreven, naar de AzureDiagnostics
tabel met de categorie SQLSecurityAuditEvents
en tabel met de categorie DevOpsOperationsAudit
voor Microsoft Ondersteuning Bewerkingen. Zie Naslag voor Log Analytics voor meer nuttige informatie over de zoektaal en -opdrachten in Log Analytics.
Auditlogboekvelden
Naam (blob) | Naam (Event Hubs/Log Analytics) | Omschrijving | Blob-type | Event Hubs/Log Analytics-type |
---|---|---|---|---|
action_id | action_id_s | Id van de actie | varchar(4) | tekenreeks |
action_name | action_name_s | Naam van de actie | N.v.t. | tekenreeks |
additional_information | additional_information_s | Eventuele aanvullende informatie over de gebeurtenis, opgeslagen als XML | nvarchar(4000) | tekenreeks |
affected_rows | affected_rows_d | Aantal rijen dat wordt beïnvloed door de query | bigint | geheel getal (int) |
application_name | application_name_s | Naam van clienttoepassing | nvarchar(128) | tekenreeks |
audit_schema_version | audit_schema_version_d | Altijd 1 | geheel getal (int) | geheel getal (int) |
class_type | class_type_s | Type controleerbare entiteit waarop de controle plaatsvindt | varchar(2) | tekenreeks |
class_type_desc | class_type_description_s | Beschrijving van controleerbare entiteit waarop de controle plaatsvindt | N.v.t. | tekenreeks |
client_ip | client_ip_s | Bron-IP van de clienttoepassing | nvarchar(128) | tekenreeks |
connection_id | N.v.t. | Id van de verbinding op de server | GUID | N.v.t. |
data_sensitivity_information | data_sensitivity_information_s | Informatietypen en vertrouwelijkheidslabels die worden geretourneerd door de gecontroleerde query, op basis van de geclassificeerde kolommen in de database. Meer informatie over het detecteren en classificeren van Azure SQL Database-gegevens | nvarchar(4000) | tekenreeks |
Database_name | database_name_s | De databasecontext waarin de actie heeft plaatsgevonden | sysname | tekenreeks |
database_principal_id | database_principal_id_d | Id van de databasegebruikerscontext waarin de actie wordt uitgevoerd | geheel getal (int) | geheel getal (int) |
database_principal_name | database_principal_name_s | Naam van de databasegebruikerscontext waarin de actie wordt uitgevoerd | sysname | tekenreeks |
duration_milliseconds | duration_milliseconds_d | Uitvoeringsduur van query's in milliseconden | bigint | geheel getal (int) |
event_time | event_time_t | Datum en tijd waarop de controleerbare actie wordt geactiveerd | datetime2 | datum/tijd |
host_name | N.v.t. | Hostnaam van client | tekenreeks | N.v.t. |
is_column_permission | is_column_permission_s | Vlag die aangeeft of dit een machtiging op kolomniveau is. 1 = waar, 0 = onwaar | bit | tekenreeks |
N.v.t. | is_server_level_audit_s | Vlag die aangeeft of deze controle zich op serverniveau bevindt | N.v.t. | tekenreeks |
object_-id | object_id_d | De id van de entiteit waarop de controle heeft plaatsgevonden. Dit omvat: serverobjecten, databases, databaseobjecten en schemaobjecten. 0 als de entiteit de server zelf is of als de controle niet wordt uitgevoerd op objectniveau | geheel getal (int) | geheel getal (int) |
object_name | object_name_s | De naam van de entiteit waarop de controle heeft plaatsgevonden. Dit omvat: serverobjecten, databases, databaseobjecten en schemaobjecten. 0 als de entiteit de server zelf is of als de controle niet wordt uitgevoerd op objectniveau | sysname | tekenreeks |
obo_middle_tier_app_id | obo_middle_tier_app_id_s | De toepassings-id van de middelste laag die is verbonden met SQL Database met behulp van OBO-toegang. | varchar(120) | tekenreeks |
permission_bitmask | permission_bitmask_s | Toont, indien van toepassing, de machtigingen die zijn verleend, geweigerd of ingetrokken | varbinary(16) | tekenreeks |
response_rows | response_rows_d | Aantal rijen dat wordt geretourneerd in de resultatenset | bigint | geheel getal (int) |
schema_name | schema_name_s | De schemacontext waarin de actie heeft plaatsgevonden. NULL voor controles die buiten een schema plaatsvinden | sysname | tekenreeks |
N.v.t. | securable_class_type_s | Beveiligbaar object dat wordt toegewezen aan de class_type die wordt gecontroleerd | N.v.t. | tekenreeks |
sequence_group_id | sequence_group_id_g | Unieke id | varbinary | GUID |
sequence_number | sequence_number_d | Houdt de reeks records in één controlerecord bij die te groot was om in de schrijfbuffer voor controles te passen. Houd er rekening mee dat In Azure SQL Database en Azure Synapse Audit 4000 tekens aan gegevens voor tekenvelden in een auditrecord worden opgeslagen. Als er meer dan 4000 tekens zijn, worden alle gegevens buiten de eerste 4000 tekens afgekapt | geheel getal (int) | geheel getal (int) |
server_instance_name | server_instance_name_s | Naam van het serverexemplaren waarop de controle heeft plaatsgevonden | sysname | tekenreeks |
server_principal_id | server_principal_id_d | Id van de aanmeldingscontext waarin de actie wordt uitgevoerd | geheel getal (int) | geheel getal (int) |
server_principal_name | server_principal_name_s | Huidige aanmelding | sysname | tekenreeks |
server_principal_sid | server_principal_sid_s | Huidige aanmeldings-SID | varbinary | tekenreeks |
session_id | session_id_d | Id van de sessie waarop de gebeurtenis heeft plaatsgevonden | smallint | geheel getal (int) |
session_server_principal_name | session_server_principal_name_s | Server-principal voor sessie | sysname | tekenreeks |
instructie | statement_s | T-SQL-instructie die is uitgevoerd (indien aanwezig) | nvarchar(4000) | tekenreeks |
Geslaagd | succeeded_s | Geeft aan of de actie die de gebeurtenis heeft geactiveerd, is geslaagd. Voor andere gebeurtenissen dan aanmelding en batch rapporteert dit alleen of de machtigingscontrole is geslaagd of mislukt, niet de bewerking. 1 = geslaagd, 0 = fail | bit | tekenreeks |
target_database_principal_id | target_database_principal_id_d | De database-principal waarop de bewerking GRANT/DENY/REVOKE wordt uitgevoerd. 0 indien niet van toepassing | geheel getal (int) | geheel getal (int) |
target_database_principal_name | target_database_principal_name_s | Doelgebruiker van actie. NULL indien niet van toepassing | tekenreeks | tekenreeks |
target_server_principal_id | target_server_principal_id_d | Server-principal waarop de bewerking GRANT/DENY/REVOKE wordt uitgevoerd. Retourneert 0 indien niet van toepassing | geheel getal (int) | geheel getal (int) |
target_server_principal_name | target_server_principal_name_s | Doelaanmelding van actie. NULL indien niet van toepassing | sysname | tekenreeks |
target_server_principal_sid | target_server_principal_sid_s | SID van doelaanmelding. NULL indien niet van toepassing | varbinary | tekenreeks |
transaction_id | transaction_id_d | Alleen SQL Server (vanaf 2016) - 0 voor Azure SQL Database | bigint | geheel getal (int) |
user_defined_event_id | user_defined_event_id_d | Door de gebruiker gedefinieerde gebeurtenis-id doorgegeven als argument aan sp_audit_write. NULL voor systeemgebeurtenissen (standaard) en niet-nul voor door de gebruiker gedefinieerde gebeurtenis. Zie sp_audit_write (Transact-SQL) voor meer informatie | smallint | geheel getal (int) |
user_defined_information | user_defined_information_s | Door de gebruiker gedefinieerde gegevens die zijn doorgegeven als argument aan sp_audit_write. NULL voor systeemgebeurtenissen (standaard) en niet-nul voor door de gebruiker gedefinieerde gebeurtenis. Zie sp_audit_write (Transact-SQL) voor meer informatie | nvarchar(4000) | tekenreeks |
Volgende stappen
Meer informatie over Azure SQL Database-controle.