Aracılığıyla paylaş


Database Auditing Settings - Create Or Update

Veritabanının blob denetim ilkesini oluşturur veya güncelleştirir.

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

URI Parametreleri

Name İçinde Gerekli Tür Description
blobAuditingPolicyName
path True

string

Blob denetim ilkesinin adı.

databaseName
path True

string

Veritabanının adı.

resourceGroupName
path True

string

Kaynağı içeren kaynak grubunun adı. Bu değeri Azure Resource Manager API'sinden veya portaldan alabilirsiniz.

serverName
path True

string

Sunucunun adı.

subscriptionId
path True

string

Azure aboneliğini tanımlayan abonelik kimliği.

api-version
query True

string

İstek için kullanılacak API sürümü.

İstek Gövdesi

Name Gerekli Tür Description
properties.state True

BlobAuditingPolicyState

İlkenin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

properties.auditActionsAndGroups

string[]

Denetlenecek Actions-Groups ve Eylemleri belirtir.

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

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Bu yukarıdaki birleşim, Azure portal denetimi etkinleştirilirken varsayılan olarak yapılandırılan kümedir.

Denetlenecek desteklenen eylem grupları şunlardır (not: Yalnızca denetim gereksinimlerinizi karşılayan belirli grupları seçin. Gereksiz grupların kullanılması çok büyük miktarlarda denetim kaydı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_GROUP

Bunlar, veritabanında yürütülen tüm SQL deyimlerini ve saklı yordamları kapsayan gruplardır ve yinelenen denetim günlüklerine neden olacağı için diğer gruplarla birlikte kullanılmamalıdır.

Daha fazla bilgi için bkz. Veritabanı Düzeyinde Denetim Eylem Grupları.

Veritabanı denetim ilkesi için belirli Eylemler de belirtilebilir (Sunucu denetim ilkesi için Eylemler belirtilemez). Denetlenecek desteklenen eylemler şunlardır: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Denetlenecek eylemi tanımlamaya yönelik genel form: {action} ON {object} BY {principal}

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

Örneğin: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Daha fazla bilgi için bkz . Veritabanı Düzeyinde Denetim Eylemleri

properties.isAzureMonitorTargetEnabled

boolean

Denetim olaylarının Azure İzleyici'ye gönderilip gönderilmediğini belirtir. Olayları Azure İzleyici'ye göndermek için 'state' değerini 'Enabled' ve 'isAzureMonitorTargetEnabled' değerini true olarak belirtin.

Denetimi yapılandırmak için REST API kullanılırken veritabanında 'SQLSecurityAuditEvents' tanılama günlükleri kategorisine sahip Tanılama Ayarları da oluşturulmalıdır. Sunucu düzeyinde denetim için 'ana' veritabanını {databaseName} olarak kullanmanız gerektiğini unutmayın.

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

Daha fazla bilgi için bkz . Tanılama Ayarları REST API'si veya Tanılama Ayarları PowerShell

properties.isStorageSecondaryKeyInUse

boolean

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

properties.queueDelayMs

integer

Denetim eylemlerinin işlenmesine zorlanmadan önce geçen süreyi milisaniye cinsinden belirtir. Varsayılan en düşük değer 1000 'dir (1 saniye). Maksimum değer 2.147.483.647'dir.

properties.retentionDays

integer

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

properties.storageAccountAccessKey

string

Denetim depolama hesabının tanımlayıcı anahtarını belirtir. Durum Etkinse ve storageEndpoint belirtilirse storageAccountAccessKey belirtilmediğinde depolamaya erişmek için SQL server sistem tarafından atanan yönetilen kimlik kullanılır. Yönetilen kimlik kimlik doğrulamasını kullanmak için önkoşullar:

  1. SQL Server Azure Active Directory'de (AAD) sistem tarafından atanan yönetilen kimliği atayın.
  2. Sunucu kimliğine 'Depolama Blob Verileri Katkıda Bulunanı' RBAC rolü ekleyerek depolama hesabına SQL Server kimlik erişimi verin. Daha fazla bilgi için bkz. Yönetilen Kimlik kimlik doğrulamasını kullanarak depolamada denetim yapma
properties.storageAccountSubscriptionId

string

Blob depolama abonelik kimliğini belirtir.

properties.storageEndpoint

string

Blob depolama uç noktasını belirtir (örneğin https://MyAccount.blob.core.windows.net). Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

Yanıtlar

Name Tür Description
200 OK

DatabaseBlobAuditingPolicy

Veritabanı blobu denetim ilkesini başarıyla ayarlayın.

201 Created

DatabaseBlobAuditingPolicy

Veritabanı 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 InvalidDatabaseBlobAuditingPolicyCreateRequest - Veritabanı blobu oluşturma denetim ilkesi isteği yok veya özellik nesnesi yok.

  • 400 InvalidBlobAuditActionsAndGroups - Geçersiz denetim eylemleri veya eylem grupları.

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

  • 400 BlobAuditingInvalidStorageAccountName - Sağlanan depolama hesabı geçerli değil veya yok.

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

  • 400 BlobAuditingInvalidStorageAccountCredentials - Sağlanan depolama hesabı veya erişim anahtarı geçerli değil.

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

  • 400 BlobAuditingNoServerIdentity - Sunucu kimliği doğru yapılandırılmamış.

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

  • 400 BlobAuditingInsufficientStorageAccountPermissions - Sağlanan depolama hesabında yeterli okuma veya yazma izni yok.

  • 400 BlobAuditingStorageAccountIsDisabled - Sağlanan depolama hesabı devre dışı bırakıldı.

  • 400 InsufficientDiskSpaceForAuditing - Veritabanında denetim meta verilerini kaydetmek için yetersiz disk alanı

  • 400 InvalidBlobAuditActions - Geçersiz denetim eylemi

  • 404 SourceDatabaseNotFound - Kaynak veritabanı yok.

  • 404 DatabaseDoesNotExist - Kullanıcı bu sunucu örneğinde var olmayan bir veritabanı adı belirtti.

  • 500 DatabaseIsUnavailable - Yükleme başarısız oldu. Lütfen daha sonra yeniden deneyin.

Örnekler

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

Örnek isteği

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=2015-05-01-preview

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

Örnek yanıt

{
  "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",
    "isStorageSecondaryKeyInUse": false,
    "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",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ]
  }
}

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

Örnek isteği

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=2015-05-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,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Örnek yanıt

{
  "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

Örnek isteği

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=2015-05-01-preview

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

Örnek yanıt

{
  "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
  }
}

Tanımlar

Name Description
BlobAuditingPolicyState

İlkenin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

DatabaseBlobAuditingPolicy

Veritabanı blobu denetim ilkesi.

BlobAuditingPolicyState

İlkenin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

Name Tür Description
Disabled

string

Enabled

string

DatabaseBlobAuditingPolicy

Veritabanı blobu denetim ilkesi.

Name Tür Description
id

string

Kaynak Kimliği.

kind

string

Kaynak türü.

name

string

Kaynak adı.

properties.auditActionsAndGroups

string[]

Denetlenecek Actions-Groups ve Eylemleri belirtir.

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

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Bu yukarıdaki birleşim, Azure portal denetimi etkinleştirilirken varsayılan olarak yapılandırılan kümedir.

Denetlenecek desteklenen eylem grupları şunlardır (not: Yalnızca denetim gereksinimlerinizi karşılayan belirli grupları seçin. Gereksiz grupların kullanılması çok büyük miktarlarda denetim kaydı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_GROUP

Bunlar, veritabanında yürütülen tüm SQL deyimlerini ve saklı yordamları kapsayan gruplardır ve yinelenen denetim günlüklerine neden olacağı için diğer gruplarla birlikte kullanılmamalıdır.

Daha fazla bilgi için bkz. Veritabanı Düzeyinde Denetim Eylem Grupları.

Veritabanı denetim ilkesi için belirli Eylemler de belirtilebilir (Sunucu denetim ilkesi için Eylemler belirtilemez). Denetlenecek desteklenen eylemler şunlardır: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Denetlenecek eylemi tanımlamaya yönelik genel form: {action} ON {object} BY {principal}

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

Örneğin: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Daha fazla bilgi için bkz . Veritabanı Düzeyinde Denetim Eylemleri

properties.isAzureMonitorTargetEnabled

boolean

Denetim olaylarının Azure İzleyici'ye gönderilip gönderilmediğini belirtir. Olayları Azure İzleyici'ye göndermek için 'state' değerini 'Enabled' ve 'isAzureMonitorTargetEnabled' değerini true olarak belirtin.

Denetimi yapılandırmak için REST API kullanılırken veritabanında 'SQLSecurityAuditEvents' tanılama günlükleri kategorisine sahip Tanılama Ayarları da oluşturulmalıdır. Sunucu düzeyinde denetim için 'ana' veritabanını {databaseName} olarak kullanmanız gerektiğini unutmayın.

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

Daha fazla bilgi için bkz . Tanılama Ayarları REST API'si veya Tanılama Ayarları PowerShell

properties.isStorageSecondaryKeyInUse

boolean

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

properties.queueDelayMs

integer

Denetim eylemlerinin işlenmesine zorlanmadan önce geçen süreyi milisaniye cinsinden belirtir. Varsayılan en düşük değer 1000 'dir (1 saniye). Maksimum değer 2.147.483.647'dir.

properties.retentionDays

integer

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

properties.state

BlobAuditingPolicyState

İ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 belirtilirse storageAccountAccessKey belirtilmediğinde depolamaya erişmek için SQL server sistem tarafından atanan yönetilen kimlik kullanılır. Yönetilen kimlik kimlik doğrulamasını kullanmak için önkoşullar:

  1. SQL Server Azure Active Directory'de (AAD) sistem tarafından atanan yönetilen kimliği atayın.
  2. Sunucu kimliğine 'Depolama Blob Verileri Katkıda Bulunanı' RBAC rolü ekleyerek depolama hesabına SQL Server kimlik erişimi verin. Daha fazla bilgi için bkz. Yönetilen Kimlik kimlik doğrulamasını kullanarak depolamada denetim yapma
properties.storageAccountSubscriptionId

string

Blob depolama abonelik kimliğini belirtir.

properties.storageEndpoint

string

Blob depolama uç noktasını belirtir (örneğin https://MyAccount.blob.core.windows.net). Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

type

string

Kaynak türü.