Database Blob Auditing Policies - Create Or Update

Skapar eller uppdaterar en databass blob-granskningspolicy.

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

URI-parametrar

Name I Obligatorisk Typ Description
blobAuditingPolicyName
path True

BlobAuditingPolicyName

Namnet på blob-revisionspolicyn.

databaseName
path True

string

Namnet på databasen.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

Namnet på resursgruppen. Namnet är skiftlägesokänsligt.

serverName
path True

string

Namnet på servern.

subscriptionId
path True

string (uuid)

ID för målprenumerationen. Värdet måste vara ett UUID.

api-version
query True

string

minLength: 1

Den API-version som ska användas för den här åtgärden.

Begärandetext

Name Obligatorisk Typ Description
properties.state True

BlobAuditingPolicyState

Anger granskningstillståndet. Om tillståndet är Aktiverat krävs storageEndpoint ellerazureMonitorTargetEnabled.

properties.auditActionsAndGroups

string[]

Anger Actions-Groups och åtgärder som ska granskas.

Den rekommenderade uppsättningen åtgärdsgrupper som ska användas är följande kombination – detta granskar alla frågor och lagrade procedurer som körs mot databasen samt lyckade och misslyckade inloggningar:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Denna ovan nämnda kombination är också den uppsättning som konfigureras som standard när granskning aktiveras från Azure-portalen.

De åtgärdsgrupper som stöds för granskning är (obs! Välj endast specifika grupper som täcker dina granskningsbehov. Användning av onödiga grupper kan leda till mycket stora mängder granskningsposter:

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

Det här är grupper som täcker alla sql-instruktioner och lagrade procedurer som körs mot databasen och som inte ska användas i kombination med andra grupper eftersom detta resulterar i dubbletter av granskningsloggar.

Mer information finns i Database-Level Granskningsåtgärdsgrupper.

För databasgranskningsprincip kan specifika åtgärder också anges (observera att Åtgärder inte kan anges för servergranskningsprincip). De stödda åtgärderna för granskning är: VÄLJ UPPDATERA INFOGA TA BORT KÖR KÖR MOTTAGARREFERENSER

Den allmänna formen för att definiera en åtgärd som ska granskas är: {action} ON {object} BY {principal}

Observera att <objekt> i ovanstående format kan referera till ett objekt som en tabell, vy eller lagrad procedur eller en hel databas eller ett helt schema. I de senare fallen används formulären DATABASE::{db_name} och SCHEMA::{schema_name} .

Till exempel: SELECT på dbo.myTable av public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Mer information finns i Database-Level Granskningsåtgärder

properties.isAzureMonitorTargetEnabled

boolean

Specificerar om revisionshändelser skickas till Azure Monitor. För att skicka händelserna till Azure Monitor, ange 'State' som 'Enabled' och 'IsAzureMonitorTargetEnabled' som sant.

När du använder REST API för att konfigurera granskning bör diagnostikinställningar med diagnostikloggkategorin "SQLSecurityAuditEvents" i databasen också skapas. Observera att för granskning på servernivå bör du använda huvuddatabasen som {databaseName}.

Diagnostikinställningar URI-format: 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

Mer information finns i REST API eller Diagnostikinställningar PowerShell

properties.isManagedIdentityInUse

boolean

Anger om hanterad identitet används för åtkomst till bloblagring

properties.isStorageSecondaryKeyInUse

boolean

Anger om storageAccountAccessKey-värdet är lagringens sekundära nyckel.

properties.queueDelayMs

integer (int32)

Anger hur lång tid i millisekunder som kan förflutit innan granskningsåtgärder tvingas bearbetas. Standardvärdet är 1 000 (1 sekund). Maxvärdet är 2 147 483 647.

properties.retentionDays

integer (int32)

Anger hur många dagar som ska sparas i granskningsloggarna i lagringskontot.

properties.storageAccountAccessKey

string (password)

Anger identifierarnyckeln för granskningslagringskontot. Om tillståndet är Aktiverat och storageEndpoint har angetts används SQL Server systemtilldelad hanterad identitet för att komma åt lagringen genom att inte ange lagringskontotAccountAccessKey. Förutsättningar för att använda hanterad identitetsautentisering:

  1. Tilldela SQL Server en systemtilldelad hanterad identitet i Azure Active Directory (AAD).
  2. Ger SQL Server-identitetsåtkomst till lagringskontot genom att lägga till RBAC-rollen 'Storage Blob Data Contributor' i serveridentiteten. Mer information finns i Granskning till lagring med hjälp av hanterad identitetsautentisering
properties.storageAccountSubscriptionId

string (uuid)

Anger prenumerations-ID för bloblagring.

properties.storageEndpoint

string

Anger bloblagringsslutpunkten (t.ex. https://MyAccount.blob.core.windows.net). Om tillståndet är Aktiverat krävs storageEndpoint ellerazureMonitorTargetEnabled.

Svar

Name Typ Description
200 OK

DatabaseBlobAuditingPolicy

Resursens 'DatabaseBlobAuditingPolicy'-uppdateringsoperation lyckades

201 Created

DatabaseBlobAuditingPolicy

Resursen 'DatabaseBlobAuditingPolicy' skapade en lyckad operation

Other Status Codes

ErrorResponse

Ett oväntat felsvar.

Säkerhet

azure_auth

Azure Active Directory OAuth2 Flow.

Typ: oauth2
Flow: implicit
Auktoriseringswebbadress: https://login.microsoftonline.com/common/oauth2/authorize

Omfattningar

Name Description
user_impersonation personifiera ditt användarkonto

Exempel

Create or update a database's azure monitor auditing policy with minimal parameters
Create or update a database's blob auditing policy with all parameters
Create or update a database's blob auditing policy with minimal parameters

Create or update a database's azure monitor auditing policy with minimal parameters

Exempelbegäran

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=2025-01-01

{
  "properties": {
    "isAzureMonitorTargetEnabled": true,
    "state": "Enabled"
  }
}

Exempelsvar

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000"
  }
}
{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000"
  }
}

Create or update a database's blob auditing policy with all parameters

Exempelbegäran

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=2025-01-01

{
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 6,
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Exempelsvar

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}
{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Create or update a database's blob auditing policy with minimal parameters

Exempelbegäran

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=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Exempelsvar

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

Definitioner

Name Description
BlobAuditingPolicyName
BlobAuditingPolicyState

Anger granskningstillståndet. Om tillståndet är Aktiverat krävs storageEndpoint ellerazureMonitorTargetEnabled.

createdByType

Den typ av identitet som skapade resursen.

DatabaseBlobAuditingPolicy

En databasblobgranskningsprincip.

ErrorAdditionalInfo

Resurshanteringsfelet ytterligare information.

ErrorDetail

Detaljerna om felet.

ErrorResponse

Felsvar

systemData

Metadata som rör skapande och senaste ändring av resursen.

BlobAuditingPolicyName

Värde Description
default

default

BlobAuditingPolicyState

Anger granskningstillståndet. Om tillståndet är Aktiverat krävs storageEndpoint ellerazureMonitorTargetEnabled.

Värde Description
Enabled

Aktiverad

Disabled

Inaktiverad

createdByType

Den typ av identitet som skapade resursen.

Värde Description
User
Application
ManagedIdentity
Key

DatabaseBlobAuditingPolicy

En databasblobgranskningsprincip.

Name Typ Description
id

string (arm-id)

Fullständigt kvalificerat resurs-ID för resursen. T.ex. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"

kind

string

Resurstyp.

name

string

Namnet på resursen

properties.auditActionsAndGroups

string[]

Anger Actions-Groups och åtgärder som ska granskas.

Den rekommenderade uppsättningen åtgärdsgrupper som ska användas är följande kombination – detta granskar alla frågor och lagrade procedurer som körs mot databasen samt lyckade och misslyckade inloggningar:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Denna ovan nämnda kombination är också den uppsättning som konfigureras som standard när granskning aktiveras från Azure-portalen.

De åtgärdsgrupper som stöds för granskning är (obs! Välj endast specifika grupper som täcker dina granskningsbehov. Användning av onödiga grupper kan leda till mycket stora mängder granskningsposter:

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

Det här är grupper som täcker alla sql-instruktioner och lagrade procedurer som körs mot databasen och som inte ska användas i kombination med andra grupper eftersom detta resulterar i dubbletter av granskningsloggar.

Mer information finns i Database-Level Granskningsåtgärdsgrupper.

För databasgranskningsprincip kan specifika åtgärder också anges (observera att Åtgärder inte kan anges för servergranskningsprincip). De stödda åtgärderna för granskning är: VÄLJ UPPDATERA INFOGA TA BORT KÖR KÖR MOTTAGARREFERENSER

Den allmänna formen för att definiera en åtgärd som ska granskas är: {action} ON {object} BY {principal}

Observera att <objekt> i ovanstående format kan referera till ett objekt som en tabell, vy eller lagrad procedur eller en hel databas eller ett helt schema. I de senare fallen används formulären DATABASE::{db_name} och SCHEMA::{schema_name} .

Till exempel: SELECT på dbo.myTable av public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Mer information finns i Database-Level Granskningsåtgärder

properties.isAzureMonitorTargetEnabled

boolean

Specificerar om revisionshändelser skickas till Azure Monitor. För att skicka händelserna till Azure Monitor, ange 'State' som 'Enabled' och 'IsAzureMonitorTargetEnabled' som sant.

När du använder REST API för att konfigurera granskning bör diagnostikinställningar med diagnostikloggkategorin "SQLSecurityAuditEvents" i databasen också skapas. Observera att för granskning på servernivå bör du använda huvuddatabasen som {databaseName}.

Diagnostikinställningar URI-format: 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

Mer information finns i REST API eller Diagnostikinställningar PowerShell

properties.isManagedIdentityInUse

boolean

Anger om hanterad identitet används för åtkomst till bloblagring

properties.isStorageSecondaryKeyInUse

boolean

Anger om storageAccountAccessKey-värdet är lagringens sekundära nyckel.

properties.queueDelayMs

integer (int32)

Anger hur lång tid i millisekunder som kan förflutit innan granskningsåtgärder tvingas bearbetas. Standardvärdet är 1 000 (1 sekund). Maxvärdet är 2 147 483 647.

properties.retentionDays

integer (int32)

Anger hur många dagar som ska sparas i granskningsloggarna i lagringskontot.

properties.state

BlobAuditingPolicyState

Anger granskningstillståndet. Om tillståndet är Aktiverat krävs storageEndpoint ellerazureMonitorTargetEnabled.

properties.storageAccountAccessKey

string (password)

Anger identifierarnyckeln för granskningslagringskontot. Om tillståndet är Aktiverat och storageEndpoint har angetts används SQL Server systemtilldelad hanterad identitet för att komma åt lagringen genom att inte ange lagringskontotAccountAccessKey. Förutsättningar för att använda hanterad identitetsautentisering:

  1. Tilldela SQL Server en systemtilldelad hanterad identitet i Azure Active Directory (AAD).
  2. Ger SQL Server-identitetsåtkomst till lagringskontot genom att lägga till RBAC-rollen 'Storage Blob Data Contributor' i serveridentiteten. Mer information finns i Granskning till lagring med hjälp av hanterad identitetsautentisering
properties.storageAccountSubscriptionId

string (uuid)

Anger prenumerations-ID för bloblagring.

properties.storageEndpoint

string

Anger bloblagringsslutpunkten (t.ex. https://MyAccount.blob.core.windows.net). Om tillståndet är Aktiverat krävs storageEndpoint ellerazureMonitorTargetEnabled.

systemData

systemData

Azure Resource Manager-metadata som innehåller creationBy och modifiedBy-information.

type

string

Resurstypen. T.ex. "Microsoft. Compute/virtualMachines" eller "Microsoft. Storage/storageAccounts"

ErrorAdditionalInfo

Resurshanteringsfelet ytterligare information.

Name Typ Description
info

object

Den ytterligare informationen.

type

string

Typen av ytterligare information.

ErrorDetail

Detaljerna om felet.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Felet ytterligare information.

code

string

Felkoden.

details

ErrorDetail[]

Felinformationen.

message

string

Felmeddelandet.

target

string

Felmålet.

ErrorResponse

Felsvar

Name Typ Description
error

ErrorDetail

Felet objektet.

systemData

Metadata som rör skapande och senaste ändring av resursen.

Name Typ Description
createdAt

string (date-time)

Tidsstämpeln för resursskapande (UTC).

createdBy

string

Identiteten som skapade resursen.

createdByType

createdByType

Den typ av identitet som skapade resursen.

lastModifiedAt

string (date-time)

Tidsstämpeln för senaste ändring av resurs (UTC)

lastModifiedBy

string

Identiteten som senast ändrade resursen.

lastModifiedByType

createdByType

Den typ av identitet som senast ändrade resursen.