Freigeben über


Workspace Managed Sql Server Blob Auditing Policies - Create Or Update

Erstellen oder aktualisieren Sie die Blobüberwachungsrichtlinie des Servers.
Erstellen oder aktualisieren Sie die Blobüberwachungsrichtlinie eines verwalteten Sql Server-Arbeitsbereichs.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/auditingSettings/default?api-version=2021-06-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. Für den Namen wird die Groß-/Kleinschreibung nicht beachtet.

subscriptionId
path True

string

Hierbei handelt es sich um die ID des Zielabonnements.

workspaceName
path True

string

Den Namen des Arbeitsbereichs

api-version
query True

string

Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version.

Anforderungstext

Name Erforderlich Typ Beschreibung
properties.state True

BlobAuditingPolicyState

Gibt den Status der Richtlinie 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 für die Verwendung ist die folgende Kombination: Dadurch werden alle Abfragen und gespeicherten Prozeduren, die für die Datenbank ausgeführt werden, sowie erfolgreiche und fehlgeschlagene Anmeldungen überwacht:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Diese obige Kombination ist auch die Gruppe, die standardmäßig konfiguriert wird, wenn die Überwachung über die Azure-Portal aktiviert wird.

Die zu überwachenden Aktionsgruppen sind (Hinweis: Wählen Sie nur bestimmte Gruppen aus, die Ihre Überwachungsanforderungen abdecken. Die Verwendung unnötiger Gruppen kann zu sehr großen Mengen an Ü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

Dies sind Gruppen, die alle sql-Anweisungen und gespeicherten Prozeduren abdecken, die für die Datenbank ausgeführt werden und nicht in Kombination mit anderen Gruppen verwendet werden sollten, da dies zu doppelten Überwachungsprotokollen führt.

Weitere Informationen finden Sie unter Überwachungsaktionsgruppen auf Datenbankebene.

Für die Datenbanküberwachungsrichtlinie können auch bestimmte Aktionen angegeben werden (beachten Sie, dass Aktionen nicht für die Serverüberwachungsrichtlinie angegeben werden können). Die zu überwachenden Aktionen werden unterstützt: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Das allgemeine Formular zum Definieren einer zu überwachenden Aktion ist: {action} ON {object} BY {principal}

Beachten Sie, dass im obigen Format auf ein Objekt wie eine Tabelle, Eine Sicht oder eine gespeicherte Prozedur oder eine gesamte Datenbank oder ein schema verweisen kann. Für letztere Fälle werden jeweils 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 Überwachungsaktionen auf Datenbankebene.

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.

Wenn Sie die REST-API zum Konfigurieren der Überwachung verwenden, 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 für 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.

Wenn Sie die REST-API zum Konfigurieren der Überwachung verwenden, sollten auch Diagnoseeinstellungen mit der Diagnoseprotokollkategorie "DevOpsOperationsAudit" für die master Datenbank erstellt werden.

URI-Format für 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.isStorageSecondaryKeyInUse

boolean

Gibt an, ob der Wert storageAccountAccessKey der sekundäre Schlüssel des Speichers ist.

properties.queueDelayMs

integer

Gibt in Millisekunden den Zeitraum an, der verstreichen kann, bevor die Verarbeitung von Überwachungsaktionen erzwungen wird. Der standardmäßige Mindestwert beträgt 1000 (1 Sekunde). Das Maximum beträgt 2.147.483.647.

properties.retentionDays

integer

Gibt die Anzahl der Tage an, die in den Überwachungsprotokollen im Speicherkonto aufbewahrt werden sollen.

properties.storageAccountAccessKey

string

Gibt den Bezeichnerschlüssel des Überwachungsspeicherkontos an. Wenn der Status Aktiviert und storageEndpoint angegeben ist, wird die vom SQL Server systemseitig zugewiesene verwaltete Identität für den Zugriff auf den Speicher nicht angegeben. Voraussetzungen für die Verwendung der Authentifizierung mit verwalteter Identität:

  1. Weisen Sie SQL Server einer systemseitig 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 Überwachen des Speichers mithilfe der Authentifizierung mit verwalteter Identität.
properties.storageAccountSubscriptionId

string

Gibt die Blob Storage-Abonnement-ID an.

properties.storageEndpoint

string

Gibt den Blobspeicherendpunkt 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

Akzeptiert

Other Status Codes

Fehlerantworten: ***

  • 400 InvalidServerBlobAuditingPolicyCreateRequest: Die Richtlinienanforderung zum Erstellen der Serverblobüberwachung ist nicht vorhanden oder weist kein Eigenschaftenobjekt auf.

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

  • 400 DataSecurityInvalidUserSuppliedParameter: Vom Client wurde ein ungültiger Parameterwert bereitgestellt.

  • 400 BlobAuditingInvalidStorageAccountCredentials: Das angegebene Speicherkonto oder der angegebene 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.

  • 409 UnsupportedWorkspaceType : Nicht unterstützte Operation für den Arbeitsbereichstyp.

  • 500 InternalServerError: Es ist ein Fehler aufgetreten.

Beispiele

Create or update blob auditing policy of workspace managed Sql Server with minimal parameters
Create or update blob auditing policy of workspace SQL Server with all parameters

Create or update blob auditing policy of workspace managed Sql Server with minimal parameters

Beispielanforderung

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default?api-version=2021-06-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/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/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"
    ]
  }
}

Create or update blob auditing policy of workspace SQL Server with all parameters

Beispielanforderung

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default?api-version=2021-06-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/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/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
  }
}

Definitionen

Name Beschreibung
BlobAuditingPolicyName

Der Name der Blobüberwachungsrichtlinie.

BlobAuditingPolicyState

Gibt den Status der Richtlinie an. Wenn der Status Aktiviert ist, sind storageEndpoint oder isAzureMonitorTargetEnabled erforderlich.

ServerBlobAuditingPolicy

Eine Serverblobüberwachungsrichtlinie.

BlobAuditingPolicyName

Der Name der Blobüberwachungsrichtlinie.

Name Typ Beschreibung
default

string

BlobAuditingPolicyState

Gibt den Status der Richtlinie an. Wenn der Status Aktiviert ist, sind storageEndpoint oder isAzureMonitorTargetEnabled erforderlich.

Name Typ Beschreibung
Disabled

string

Enabled

string

ServerBlobAuditingPolicy

Eine Serverblobüberwachungsrichtlinie.

Name Typ Beschreibung
id

string

Vollqualifizierte Ressourcen-ID für die Ressource. Beispiel: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Der Name der Ressource

properties.auditActionsAndGroups

string[]

Gibt die zu überwachenden Actions-Groups und Aktionen an.

Die empfohlene Gruppe von Aktionsgruppen für die Verwendung ist die folgende Kombination: Dadurch werden alle Abfragen und gespeicherten Prozeduren, die für die Datenbank ausgeführt werden, sowie erfolgreiche und fehlgeschlagene Anmeldungen überwacht:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Diese obige Kombination ist auch die Gruppe, die standardmäßig konfiguriert wird, wenn die Überwachung über die Azure-Portal aktiviert wird.

Die zu überwachenden Aktionsgruppen sind (Hinweis: Wählen Sie nur bestimmte Gruppen aus, die Ihre Überwachungsanforderungen abdecken. Die Verwendung unnötiger Gruppen kann zu sehr großen Mengen an Ü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

Dies sind Gruppen, die alle sql-Anweisungen und gespeicherten Prozeduren abdecken, die für die Datenbank ausgeführt werden und nicht in Kombination mit anderen Gruppen verwendet werden sollten, da dies zu doppelten Überwachungsprotokollen führt.

Weitere Informationen finden Sie unter Überwachungsaktionsgruppen auf Datenbankebene.

Für die Datenbanküberwachungsrichtlinie können auch bestimmte Aktionen angegeben werden (beachten Sie, dass Aktionen nicht für die Serverüberwachungsrichtlinie angegeben werden können). Die zu überwachenden Aktionen werden unterstützt: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Das allgemeine Formular zum Definieren einer zu überwachenden Aktion ist: {action} ON {object} BY {principal}

Beachten Sie, dass im obigen Format auf ein Objekt wie eine Tabelle, Eine Sicht oder eine gespeicherte Prozedur oder eine gesamte Datenbank oder ein schema verweisen kann. Für letztere Fälle werden jeweils 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 Überwachungsaktionen auf Datenbankebene.

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.

Wenn Sie die REST-API zum Konfigurieren der Überwachung verwenden, 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 für 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.

Wenn Sie die REST-API zum Konfigurieren der Überwachung verwenden, sollten auch Diagnoseeinstellungen mit der Diagnoseprotokollkategorie "DevOpsOperationsAudit" für die master Datenbank erstellt werden.

URI-Format für 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.isStorageSecondaryKeyInUse

boolean

Gibt an, ob der Wert storageAccountAccessKey der sekundäre Schlüssel des Speichers ist.

properties.queueDelayMs

integer

Gibt in Millisekunden den Zeitraum an, der verstreichen kann, bevor die Verarbeitung von Überwachungsaktionen erzwungen wird. Der standardmäßige Mindestwert beträgt 1000 (1 Sekunde). Das Maximum beträgt 2.147.483.647.

properties.retentionDays

integer

Gibt die Anzahl der Tage an, die in den Überwachungsprotokollen im Speicherkonto aufbewahrt werden sollen.

properties.state

BlobAuditingPolicyState

Gibt den Status der Richtlinie 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 und storageEndpoint angegeben ist, wird die vom SQL Server systemseitig zugewiesene verwaltete Identität für den Zugriff auf den Speicher nicht angegeben. Voraussetzungen für die Verwendung der Authentifizierung mit verwalteter Identität:

  1. Weisen Sie SQL Server einer systemseitig 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 Überwachen des Speichers mithilfe der Authentifizierung mit verwalteter Identität.
properties.storageAccountSubscriptionId

string

Gibt die Blob Storage-Abonnement-ID an.

properties.storageEndpoint

string

Gibt den Blobspeicherendpunkt an (z. B. https://MyAccount.blob.core.windows.net). Wenn der Status Aktiviert ist, ist storageEndpoint oder isAzureMonitorTargetEnabled erforderlich.

type

string

Der Typ der Ressource. Z. B. "Microsoft.Compute/virtualMachines" oder "Microsoft.Storage/storageAccounts"