Sql Pool Blob Auditing Policies - Create Or Update

Bir SQL havuzunun blob denetim ilkesini oluşturur veya güncelleştirir
Bir SQL havuzunun blob denetim ilkesini oluşturur veya güncelleştirir.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/auditingSettings/default?api-version=2019-06-01-preview

URI Parametreleri

Name In Required Type Description
blobAuditingPolicyName
path True
  • string

Blob denetim ilkesinin adı.

resourceGroupName
path True
  • string

Kaynak grubunun adı. Ad büyük/küçük harfe duyarlıdır.

Regex pattern: ^[-\w\._\(\)]+$

sqlPoolName
path True
  • string

SQL havuzu adı

subscriptionId
path True
  • string

Hedef aboneliğin KIMLIĞI.

workspaceName
path True
  • string

Çalışma alanının adı

api-version
query True
  • string

Bu işlem için kullanılacak API sürümü.

İstek Gövdesi

Name Required Type Description
properties.auditActionsAndGroups
  • string[]

Denetlenecek eylemleri-grupları ve eylemleri belirtir.

Kullanılacak önerilen eylem grupları kümesi aşağıdaki bileşimdir. Bu işlem, veritabanında yürütülen tüm sorguları ve saklı yordamları, başarılı ve başarısız oturum açmaları denetler:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP.

Yukarıdaki bu birleşim, Azure portal denetimi etkinleştirilirken varsayılan olarak yapılandırılan bir kümesidir.

Denetim için desteklenen eylem grupları şunlardır (unutmayın: yalnızca denetim gereksinimlerinizi kapsayan belirli grupları seçin. Gereksiz grupların kullanılması çok büyük miktarlarda denetim kayıtlarına yol açabilir):

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_ GRUBU

Bunlar, veritabanında yürütülen tüm SQL deyimlerini ve saklı yordamları kapsayan gruplarıdır ve bu, yinelenen denetim günlüklerinin oluşmasına neden olacak şekilde diğer gruplarla birlikte kullanılmamalıdır.

Daha fazla bilgi için bkz. veritabanı düzeyi denetim eylemi grupları.

Veritabanı denetim ilkesi için belirli eylemler de belirlenebilir (sunucu denetim ilkesi için eylemlerin belirtilmediğini unutmayın). Denetlenecek desteklenen eylemler şunlardır: GÜNCELLEŞTIRME ekleme ekle SILME yürütme alma BAŞVURULARı

Denetlenecek eylemi tanımlamaya yönelik genel form: {Principal} tarafından {Object} ÜZERINDE {Action}

Yukarıdaki biçimde bir tablo, görünüm veya saklı yordam ya da tüm veritabanı ya da şema gibi bir nesneye başvurabileceğini unutmayın. İkinci durumda, sırasıyla:: {db_name} ve SCHEMA:: {schema_name} Forms VERITABANı kullanılır.

Örneğin: bkz. dbo. myTable on public Select on DATABASE:: myDatabase for the ÞEMADA Select SCHEMA:: mySchema with public

Daha fazla bilgi için bkz. veritabanı düzeyinde denetim eylemleri

properties.isAzureMonitorTargetEnabled
  • boolean

Denetim olaylarının Azure Izleyici 'ye gönderilip gönderilmeyeceğini belirtir. Olayları Azure Izleyici 'ye göndermek için, "State" öğesini ' Enabled ' ve ' isAzureMonitorTargetEnabled ' değerini true olarak belirtin.

Denetimi yapılandırmak için REST API kullanırken, veritabanında ' SQLSecurityAuditEvents ' tanılama günlükleri kategorisi ile Tanılama ayarları da oluşturulmalıdır. Sunucu düzeyi denetimi için ' Ana ' veritabanını {databaseName} olarak kullanmanız gerektiğini unutmayın.

Tanılama ayarları URI biçimi: PUThttps://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

Daha fazla bilgi için bkz. Tanılama ayarları REST API veya Tanılama ayarları PowerShell

properties.isStorageSecondaryKeyInUse
  • boolean

StorageAccountAccessKey değerinin depolamanın ikincil anahtarı olup olmadığını belirtir.

properties.retentionDays
  • integer

Depolama hesabındaki denetim günlüklerinde tutulacak gün sayısını belirtir.

properties.state True

İlkenin durumunu belirtir. Durum etkinse, storageEndpoint veya isAzureMonitorTargetEnabled gereklidir.

properties.storageAccountAccessKey
  • string

Denetim depolama hesabının tanımlayıcı anahtarını belirtir. Durum etkinse ve storageEndpoint belirtilmişse storageAccountAccessKey gerekir.

properties.storageAccountSubscriptionId
  • string

BLOB depolama abonelik kimliğini belirtir.

properties.storageEndpoint
  • string

BLOB depolama uç noktasını belirtir ( https://MyAccount.blob.core.windows.net) ör. Durum etkinse storageEndpoint gereklidir.

Yanıtlar

Name Type Description
200 OK

SQL havuzu blobu denetim ilkesi başarıyla ayarlandı

201 Created

SQL havuzu blobu denetim ilkesi başarıyla oluşturuldu.

Other Status Codes

Hata yanıtları: * * *

  • 400 BlobAuditingIsNotSupportedOnResourceType-blob denetimi şu anda bu kaynak türü için desteklenmiyor.

  • 400 ınvaliddatabaseblobauditingpolicycreaterequest-create database blob denetim ilkesi isteği yok veya hiçbir özellik nesnesine sahip değil.

  • 400 ınvalidblobauditactionsandgroups-geçersiz Denetim eylemleri veya eylem grupları.

  • 400 DataSecurityInvalidUserSuppliedParameter-istemci tarafından geçersiz parametre değeri sağlandı.

  • 400 Blobauditingınvalidstorageaccountname-belirtilen depolama hesabı geçerli değil veya yok.

  • 400 UpdateNotAllowedOnPausedDatabase-Kullanıcı duraklatılmış bir veritabanında bir güncelleştirme gerçekleştirmeye çalıştı.

  • 400 Blobauditingınvalidstorageaccountcredentials-belirtilen depolama hesabı veya erişim anahtarı geçerli değil.

  • 400 BlobAuditingIsNotSupportedOnGeoDr-blob denetimi yalnızca birincil veritabanlarında yapılandırılabilir.

  • 400 ınvalidblobaudıtactionsandgroupsfordw-DW için desteklenmeyen denetim eylemleri veya eylem grupları.

  • 400 BlobAuditingInsufficientStorageAccountPermissions-belirtilen depolama hesabında okuma veya yazma izinleri yetersiz.

  • 400 Blobauditingstorageaccountıdısabled-belirtilen depolama hesabı devre dışı.

  • 400 ınvalidblobaudıtactions-geçersiz denetim eylemi

  • 404 SourceDatabaseNotFound-kaynak veritabanı yok.

  • 404 Databaseıtexist-Kullanıcı, bu sunucu örneğinde mevcut olmayan bir veritabanı adı belirtti.

  • 500 Databaseıunavailable-yükleme başarısız oldu. Lütfen daha sonra yeniden deneyin.

Örnekler

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 blob auditing policy with all parameters

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb/auditingSettings/default?api-version=2019-06-01-preview
{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "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.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "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

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb/auditingSettings/default?api-version=2019-06-01-preview
{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/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.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/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
  }
}

Tanımlar

BlobAuditingPolicyState

İlkenin durumunu belirtir. Durum etkinse, storageEndpoint veya isAzureMonitorTargetEnabled gereklidir.

SqlPoolBlobAuditingPolicy

Bir SQL havuzu blobu denetim ilkesi.

BlobAuditingPolicyState

İlkenin durumunu belirtir. Durum etkinse, storageEndpoint veya isAzureMonitorTargetEnabled gereklidir.

Name Type Description
Disabled
  • string
Enabled
  • string

SqlPoolBlobAuditingPolicy

Bir SQL havuzu blobu denetim ilkesi.

Name Type Description
id
  • string

Kaynak için tam kaynak kimliği. EX-/Subscriptions/{SubscriptionID}/ResourceGroups/{resourcegroupname}/Providers/{resourceprovidernamespace}/{resourcettypeınfo}/{resourceName}

kind
  • string

Kaynak türü.

name
  • string

Kaynağın adı

properties.auditActionsAndGroups
  • string[]

Denetlenecek eylemleri-grupları ve eylemleri belirtir.

Kullanılacak önerilen eylem grupları kümesi aşağıdaki bileşimdir. Bu işlem, veritabanında yürütülen tüm sorguları ve saklı yordamları, başarılı ve başarısız oturum açmaları denetler:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP.

Yukarıdaki bu birleşim, Azure portal denetimi etkinleştirilirken varsayılan olarak yapılandırılan bir kümesidir.

Denetim için desteklenen eylem grupları şunlardır (unutmayın: yalnızca denetim gereksinimlerinizi kapsayan belirli grupları seçin. Gereksiz grupların kullanılması çok büyük miktarlarda denetim kayıtlarına yol açabilir):

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_ GRUBU

Bunlar, veritabanında yürütülen tüm SQL deyimlerini ve saklı yordamları kapsayan gruplarıdır ve bu, yinelenen denetim günlüklerinin oluşmasına neden olacak şekilde diğer gruplarla birlikte kullanılmamalıdır.

Daha fazla bilgi için bkz. veritabanı düzeyi denetim eylemi grupları.

Veritabanı denetim ilkesi için belirli eylemler de belirlenebilir (sunucu denetim ilkesi için eylemlerin belirtilmediğini unutmayın). Denetlenecek desteklenen eylemler şunlardır: GÜNCELLEŞTIRME ekleme ekle SILME yürütme alma BAŞVURULARı

Denetlenecek eylemi tanımlamaya yönelik genel form: {Principal} tarafından {Object} ÜZERINDE {Action}

Yukarıdaki biçimde bir tablo, görünüm veya saklı yordam ya da tüm veritabanı ya da şema gibi bir nesneye başvurabileceğini unutmayın. İkinci durumda, sırasıyla:: {db_name} ve SCHEMA:: {schema_name} Forms VERITABANı kullanılır.

Örneğin: bkz. dbo. myTable on public Select on DATABASE:: myDatabase for the ÞEMADA Select SCHEMA:: mySchema with public

Daha fazla bilgi için bkz. veritabanı düzeyinde denetim eylemleri

properties.isAzureMonitorTargetEnabled
  • boolean

Denetim olaylarının Azure Izleyici 'ye gönderilip gönderilmeyeceğini belirtir. Olayları Azure Izleyici 'ye göndermek için, "State" öğesini ' Enabled ' ve ' isAzureMonitorTargetEnabled ' değerini true olarak belirtin.

Denetimi yapılandırmak için REST API kullanırken, veritabanında ' SQLSecurityAuditEvents ' tanılama günlükleri kategorisi ile Tanılama ayarları da oluşturulmalıdır. Sunucu düzeyi denetimi için ' Ana ' veritabanını {databaseName} olarak kullanmanız gerektiğini unutmayın.

Tanılama ayarları URI biçimi: PUThttps://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

Daha fazla bilgi için bkz. Tanılama ayarları REST API veya Tanılama ayarları PowerShell

properties.isStorageSecondaryKeyInUse
  • boolean

StorageAccountAccessKey değerinin depolamanın ikincil anahtarı olup olmadığını belirtir.

properties.retentionDays
  • integer

Depolama hesabındaki denetim günlüklerinde tutulacak gün sayısını belirtir.

properties.state

İlkenin durumunu belirtir. Durum etkinse, storageEndpoint veya isAzureMonitorTargetEnabled gereklidir.

properties.storageAccountAccessKey
  • string

Denetim depolama hesabının tanımlayıcı anahtarını belirtir. Durum etkinse ve storageEndpoint belirtilmişse storageAccountAccessKey gerekir.

properties.storageAccountSubscriptionId
  • string

BLOB depolama abonelik kimliğini belirtir.

properties.storageEndpoint
  • string

BLOB depolama uç noktasını belirtir ( https://MyAccount.blob.core.windows.net) ör. Durum etkinse storageEndpoint gereklidir.

type
  • string

Kaynağın türü. EX-Microsoft. COMPUTE/virtualMachines veya Microsoft. Storage/storageAccounts.