Database Blob Auditing Policies - Create Or Update
Erstellt oder aktualisiert die BLOB-Überwachungsrichtlinie einer Datenbank.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2023-08-01
URI-Parameter
Name | In | Erforderlich | Typ | Beschreibung |
---|---|---|---|---|
blob
|
path | True |
Der Name der Blobüberwachungsrichtlinie. |
|
database
|
path | True |
string |
Der Name der Datenbank. |
resource
|
path | True |
string |
Der Name der Ressourcengruppe, die die Ressource enthält. Sie können diesen Wert aus der Azure Resource Manager-API oder dem Portal abrufen. |
server
|
path | True |
string |
Der Name des Servers. |
subscription
|
path | True |
string |
Die Abonnement-ID, die ein Azure-Abonnement identifiziert. |
api-version
|
query | True |
string |
Die API-Version, die für die Anforderung verwendet werden soll. |
Anforderungstext
Name | Erforderlich | Typ | Beschreibung |
---|---|---|---|
properties.state | True |
Gibt den Status der Überwachung an. Wenn der Status aktiviert ist, sind "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich. |
|
properties.auditActionsAndGroups |
string[] |
Gibt die zu überwachenden Actions-Groups und Aktionen an. Die empfohlene Gruppe von Aktionsgruppen ist die folgende Kombination : Dadurch werden alle Abfragen und gespeicherten Prozeduren überwacht, die für die Datenbank ausgeführt werden, sowie erfolgreiche und fehlgeschlagene Anmeldungen: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Diese oben genannte Kombination ist auch der Satz, der standardmäßig konfiguriert ist, wenn die Überwachung über das Azure-Portal aktiviert wird. Die unterstützten Aktionsgruppen für die Überwachung sind (Hinweis: Wählen Sie nur bestimmte Gruppen aus, die Ihre Überwachungsanforderungen abdecken. Die Verwendung unnötiger Gruppen könnte zu sehr großen Mengen von Überwachungsdatensätzen führen: APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_ OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Dies sind Gruppen, die alle sql-Anweisungen und gespeicherten Prozeduren abdecken, die für die Datenbank ausgeführt werden, und sollten nicht in Kombination mit anderen Gruppen verwendet werden, da dies zu doppelten Überwachungsprotokollen führt. Weitere Informationen finden Sie unter Database-Level Überwachen von Aktionsgruppen. Für die Datenbanküberwachungsrichtlinie können auch bestimmte Aktionen angegeben werden (beachten Sie, dass Aktionen für die Serverüberwachungsrichtlinie nicht angegeben werden können). Die unterstützten Aktionen zum Überwachen sind: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Das allgemeine Formular zum Definieren einer zu überwachenden Aktion lautet: {action} ON {object} BY {principal} Beachten Sie, dass im obigen Format auf ein Objekt wie eine Tabelle, Ansicht oder gespeicherte Prozedur oder eine gesamte Datenbank oder ein gesamtes Schema verweisen kann. In letzteren Fällen werden die Formulare DATABASE::{db_name} und SCHEMA::{schema_name} verwendet. Beispiel: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Weitere Informationen finden Sie unter Database-Level Überwachungsaktionen |
|
properties.isAzureMonitorTargetEnabled |
boolean |
Gibt an, ob Überwachungsereignisse an Azure Monitor gesendet werden. Um die Ereignisse an Azure Monitor zu senden, geben Sie "State" als "Enabled" und "IsAzureMonitorTargetEnabled" als "true" an. Bei Verwendung der REST-API zum Konfigurieren der Überwachung sollten auch Diagnoseeinstellungen mit der Diagnoseprotokollkategorie "SQLSecurityAuditEvents" in der Datenbank erstellt werden. Beachten Sie, dass Sie für die Überwachung auf Serverebene die Datenbank "master" als {databaseName} verwenden sollten. URI-Format der Diagnoseeinstellungen: PUT-https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview Weitere Informationen finden Sie unter REST-API für Diagnoseeinstellungen oder Diagnoseeinstellungen powerShell- |
|
properties.isManagedIdentityInUse |
boolean |
Gibt an, ob verwaltete Identität für den Zugriff auf BLOB-Speicher verwendet wird. |
|
properties.isStorageSecondaryKeyInUse |
boolean |
Gibt an, ob storageAccountAccessKey-Wert der Sekundärschlüssel des Speichers ist. |
|
properties.queueDelayMs |
integer (int32) |
Gibt die Zeitspanne in Millisekunden an, die verstrichen werden kann, bevor Überwachungsaktionen verarbeitet werden müssen. Der Standardwert ist 1000 (1 Sekunde). Das Maximum beträgt 2.147.483.647. |
|
properties.retentionDays |
integer (int32) |
Gibt die Anzahl der Tage an, die in den Überwachungsprotokollen im Speicherkonto gespeichert werden sollen. |
|
properties.storageAccountAccessKey |
string |
Gibt den Bezeichnerschlüssel des Überwachungsspeicherkontos an. Wenn der Status aktiviert ist und "storageEndpoint" angegeben ist, verwendet "storageAccountAccessKey" nicht die vom Sql Server zugewiesene verwaltete Identität für den Zugriff auf den Speicher. Voraussetzungen für die Verwendung der verwalteten Identitätsauthentifizierung:
|
|
properties.storageAccountSubscriptionId |
string (uuid) |
Gibt die BLOB-Speicherabonnement-ID an. |
|
properties.storageEndpoint |
string |
Gibt den BLOB-Speicherendpunkt an (z. B. https://MyAccount.blob.core.windows.net). Wenn der Status aktiviert ist, ist "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich. |
Antworten
Name | Typ | Beschreibung |
---|---|---|
200 OK |
Die Richtlinie für die Datenbank-BLOB-Überwachung wurde erfolgreich festgelegt. |
|
201 Created |
Die Richtlinie für die Datenbank-BLOB-Überwachung wurde erfolgreich erstellt. |
|
Other Status Codes |
Fehlerantworten: ***
|
Beispiele
Create or update a database's azure monitor auditing policy with minimal parameters
Beispielanforderung
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2023-08-01
{
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true
}
}
Beispiel für eine Antwort
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
Create or update a database's blob auditing policy with all parameters
Beispielanforderung
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2023-08-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 6,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Beispiel für eine Antwort
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Create or update a database's blob auditing policy with minimal parameters
Beispielanforderung
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2023-08-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net"
}
}
Beispiel für eine Antwort
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
Definitionen
Name | Beschreibung |
---|---|
blob |
Der Name der Blobüberwachungsrichtlinie. |
Blob |
Gibt den Status der Überwachung an. Wenn der Status aktiviert ist, sind "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich. |
Database |
Eine Richtlinie für die Datenbank-BLOB-Überwachung. |
Error |
Der Ressourcenverwaltungsfehler zusätzliche Informationen. |
Error |
Das Fehlerdetails. |
Error |
Fehlerantwort |
blobAuditingPolicyName
Der Name der Blobüberwachungsrichtlinie.
Wert | Beschreibung |
---|---|
default |
BlobAuditingPolicyState
Gibt den Status der Überwachung an. Wenn der Status aktiviert ist, sind "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich.
Wert | Beschreibung |
---|---|
Disabled | |
Enabled |
DatabaseBlobAuditingPolicy
Eine Richtlinie für die Datenbank-BLOB-Überwachung.
Name | Typ | Beschreibung |
---|---|---|
id |
string |
Ressourcen-ID. |
kind |
string |
Ressourcentyp. |
name |
string |
Ressourcenname. |
properties.auditActionsAndGroups |
string[] |
Gibt die zu überwachenden Actions-Groups und Aktionen an. Die empfohlene Gruppe von Aktionsgruppen ist die folgende Kombination : Dadurch werden alle Abfragen und gespeicherten Prozeduren überwacht, die für die Datenbank ausgeführt werden, sowie erfolgreiche und fehlgeschlagene Anmeldungen: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Diese oben genannte Kombination ist auch der Satz, der standardmäßig konfiguriert ist, wenn die Überwachung über das Azure-Portal aktiviert wird. Die unterstützten Aktionsgruppen für die Überwachung sind (Hinweis: Wählen Sie nur bestimmte Gruppen aus, die Ihre Überwachungsanforderungen abdecken. Die Verwendung unnötiger Gruppen könnte zu sehr großen Mengen von Überwachungsdatensätzen führen: APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_ OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Dies sind Gruppen, die alle sql-Anweisungen und gespeicherten Prozeduren abdecken, die für die Datenbank ausgeführt werden, und sollten nicht in Kombination mit anderen Gruppen verwendet werden, da dies zu doppelten Überwachungsprotokollen führt. Weitere Informationen finden Sie unter Database-Level Überwachen von Aktionsgruppen. Für die Datenbanküberwachungsrichtlinie können auch bestimmte Aktionen angegeben werden (beachten Sie, dass Aktionen für die Serverüberwachungsrichtlinie nicht angegeben werden können). Die unterstützten Aktionen zum Überwachen sind: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Das allgemeine Formular zum Definieren einer zu überwachenden Aktion lautet: {action} ON {object} BY {principal} Beachten Sie, dass im obigen Format auf ein Objekt wie eine Tabelle, Ansicht oder gespeicherte Prozedur oder eine gesamte Datenbank oder ein gesamtes Schema verweisen kann. In letzteren Fällen werden die Formulare DATABASE::{db_name} und SCHEMA::{schema_name} verwendet. Beispiel: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Weitere Informationen finden Sie unter Database-Level Überwachungsaktionen |
properties.isAzureMonitorTargetEnabled |
boolean |
Gibt an, ob Überwachungsereignisse an Azure Monitor gesendet werden. Um die Ereignisse an Azure Monitor zu senden, geben Sie "State" als "Enabled" und "IsAzureMonitorTargetEnabled" als "true" an. Bei Verwendung der REST-API zum Konfigurieren der Überwachung sollten auch Diagnoseeinstellungen mit der Diagnoseprotokollkategorie "SQLSecurityAuditEvents" in der Datenbank erstellt werden. Beachten Sie, dass Sie für die Überwachung auf Serverebene die Datenbank "master" als {databaseName} verwenden sollten. URI-Format der Diagnoseeinstellungen: PUT-https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview Weitere Informationen finden Sie unter REST-API für Diagnoseeinstellungen oder Diagnoseeinstellungen powerShell- |
properties.isManagedIdentityInUse |
boolean |
Gibt an, ob verwaltete Identität für den Zugriff auf BLOB-Speicher verwendet wird. |
properties.isStorageSecondaryKeyInUse |
boolean |
Gibt an, ob storageAccountAccessKey-Wert der Sekundärschlüssel des Speichers ist. |
properties.queueDelayMs |
integer (int32) |
Gibt die Zeitspanne in Millisekunden an, die verstrichen werden kann, bevor Überwachungsaktionen verarbeitet werden müssen. Der Standardwert ist 1000 (1 Sekunde). Das Maximum beträgt 2.147.483.647. |
properties.retentionDays |
integer (int32) |
Gibt die Anzahl der Tage an, die in den Überwachungsprotokollen im Speicherkonto gespeichert werden sollen. |
properties.state |
Gibt den Status der Überwachung an. Wenn der Status aktiviert ist, sind "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich. |
|
properties.storageAccountAccessKey |
string |
Gibt den Bezeichnerschlüssel des Überwachungsspeicherkontos an. Wenn der Status aktiviert ist und "storageEndpoint" angegeben ist, verwendet "storageAccountAccessKey" nicht die vom Sql Server zugewiesene verwaltete Identität für den Zugriff auf den Speicher. Voraussetzungen für die Verwendung der verwalteten Identitätsauthentifizierung:
|
properties.storageAccountSubscriptionId |
string (uuid) |
Gibt die BLOB-Speicherabonnement-ID an. |
properties.storageEndpoint |
string |
Gibt den BLOB-Speicherendpunkt an (z. B. https://MyAccount.blob.core.windows.net). Wenn der Status aktiviert ist, ist "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich. |
type |
string |
Ressourcentyp. |
ErrorAdditionalInfo
Der Ressourcenverwaltungsfehler zusätzliche Informationen.
Name | Typ | Beschreibung |
---|---|---|
info |
object |
Die zusätzlichen Informationen. |
type |
string |
Der zusätzliche Informationstyp. |
ErrorDetail
Das Fehlerdetails.
Name | Typ | Beschreibung |
---|---|---|
additionalInfo |
Die zusätzlichen Informationen des Fehlers. |
|
code |
string |
Der Fehlercode. |
details |
Die Fehlerdetails. |
|
message |
string |
Die Fehlermeldung. |
target |
string |
Das Fehlerziel. |
ErrorResponse
Fehlerantwort
Name | Typ | Beschreibung |
---|---|---|
error |
Das Fehlerobjekt. |