Freigeben über


Server Blob Auditing Policies - Create Or Update

Erstellt oder aktualisiert die BLOB-Überwachungsrichtlinie eines Servers.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default?api-version=2021-11-01

URI-Parameter

Name In Erforderlich Typ Beschreibung
blobAuditingPolicyName
path True

blobAuditingPolicyName

Der Name der Blobüberwachungsrichtlinie.

resourceGroupName
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.

serverName
path True

string

Der Name des Servers.

subscriptionId
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

BlobAuditingPolicyState

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.isDevopsAuditEnabled

boolean

Gibt den Status der Devops-Überwachung an. Wenn der Status aktiviert ist, werden Devops-Protokolle an Azure Monitor gesendet. Um die Ereignisse an Azure Monitor zu senden, geben Sie "State" als "Enabled", "IsAzureMonitorTargetEnabled" als "true" und "IsDevopsAuditEnabled" als "true" an.

Bei Verwendung der REST-API zum Konfigurieren der Überwachung sollten auch Diagnoseeinstellungen mit der Diagnoseprotokollkategorie "DevOpsOperationsAudit" in der Masterdatenbank erstellt werden.

URI-Format der Diagnoseeinstellungen: PUT-https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/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:

  1. Weisen Sie SQL Server einer vom System zugewiesenen verwalteten Identität in Azure Active Directory (AAD) zu.
  2. Gewähren Sie SQL Server-Identitätszugriff auf das Speicherkonto, indem Sie der Serveridentität die RBAC-Rolle "Storage Blob Data Contributor" hinzufügen. Weitere Informationen finden Sie unter Überwachung des Speichers mit verwalteter 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

ServerBlobAuditingPolicy

Die Überwachungseinstellungen wurden erfolgreich aktualisiert.

202 Accepted

Das Aktualisieren der Überwachungseinstellungen wird ausgeführt.

Other Status Codes

Fehlerantworten: ***

  • 400 InvalidServerBlobAuditingPolicyCreateRequest – Die Anforderung zur Server-BLOB-Überwachung ist nicht vorhanden oder verfügt über kein Eigenschaftenobjekt.

  • 400 InvalidBlobAuditActionsAndGroups – Ungültige Überwachungsaktionen oder Aktionsgruppen.

  • 400 DataSecurityInvalidUserSuppliedParameter – Ein ungültiger Parameterwert wurde vom Client bereitgestellt.

  • 400 BlobAuditingInvalidStorageAccountCredentials – Das bereitgestellte Speicherkonto oder zugriffsschlüssel ist ungültig.

  • 400 InvalidBlobAuditActionsAndGroups – Ungültige Überwachungsaktionen oder Aktionsgruppen.

  • 400 InsufficientDiskSpaceForAuditing – Unzureichender Speicherplatz zum Speichern von Überwachungsmetadaten in der Datenbank

  • 400 InvalidBlobAuditActions – Ungültige Überwachungsaktion

  • 404 SubscriptionDoesNotHaveServer – Der angeforderte Server wurde nicht gefunden.

  • 404 ServerNotInSubscriptionResourceGroup – Der angegebene Server ist in der angegebenen Ressourcengruppe und dem angegebenen Abonnement nicht vorhanden.

  • 404 OperationIdNotFound – Der Vorgang mit der ID ist nicht vorhanden.

  • 409 ServerBlobAuditingPolicyInProgress – Die Server-BLOB-Überwachung wird bereits ausgeführt.

  • 409 OperationCancelled – Der Vorgang wurde vom Benutzer abgebrochen.

  • 409 OperationInterrupted – Der Vorgang für die Ressource konnte nicht abgeschlossen werden, weil er durch einen anderen Vorgang in derselben Ressource unterbrochen wurde.

  • 429 SubscriptionTooManyCreateUpdateRequests – Anforderungen über max. Anforderungen hinaus, die von verfügbaren Ressourcen verarbeitet werden können.

  • 429 SubscriptionTooManyRequests – Anforderungen über max. Anforderungen hinaus, die von verfügbaren Ressourcen verarbeitet werden können.

  • 500 OperationTimedOut – Timeout des Vorgangs und automatisches Zurücksetzen. Versuchen Sie den Vorgang erneut.

  • 503 TooManyRequests – Anforderungen über max. Anforderungen hinaus, die von verfügbaren Ressourcen verarbeitet werden können.

Beispiele

Update a server's blob auditing policy with all parameters
Update a server's blob auditing policy with minimal parameters

Update a server'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/auditingSettings/default?api-version=2021-11-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": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Beispiel für eine Antwort

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/auditingSettings",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Update a server'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/auditingSettings/default?api-version=2021-11-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/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/auditingSettings",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ]
  }
}

Definitionen

Name Beschreibung
blobAuditingPolicyName

Der Name der Blobüberwachungsrichtlinie.

BlobAuditingPolicyState

Gibt den Status der Überwachung an. Wenn der Status aktiviert ist, sind "storageEndpoint" oder "isAzureMonitorTargetEnabled" erforderlich.

ServerBlobAuditingPolicy

Eine Server-BLOB-Überwachungsrichtlinie.

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

ServerBlobAuditingPolicy

Eine Server-BLOB-Überwachungsrichtlinie.

Name Typ Beschreibung
id

string

Ressourcen-ID.

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.isDevopsAuditEnabled

boolean

Gibt den Status der Devops-Überwachung an. Wenn der Status aktiviert ist, werden Devops-Protokolle an Azure Monitor gesendet. Um die Ereignisse an Azure Monitor zu senden, geben Sie "State" als "Enabled", "IsAzureMonitorTargetEnabled" als "true" und "IsDevopsAuditEnabled" als "true" an.

Bei Verwendung der REST-API zum Konfigurieren der Überwachung sollten auch Diagnoseeinstellungen mit der Diagnoseprotokollkategorie "DevOpsOperationsAudit" in der Masterdatenbank erstellt werden.

URI-Format der Diagnoseeinstellungen: PUT-https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/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

BlobAuditingPolicyState

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:

  1. Weisen Sie SQL Server einer vom System zugewiesenen verwalteten Identität in Azure Active Directory (AAD) zu.
  2. Gewähren Sie SQL Server-Identitätszugriff auf das Speicherkonto, indem Sie der Serveridentität die RBAC-Rolle "Storage Blob Data Contributor" hinzufügen. Weitere Informationen finden Sie unter Überwachung des Speichers mit verwalteter 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.