Aracılığıyla paylaş


Server Blob Auditing Policies - Create Or Update

Sunucunun blob denetim ilkesini oluşturur veya güncelleştirir.

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

URI Parametreleri

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

blobAuditingPolicyName

Blob denetim ilkesinin 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

Denetimin 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ın yanı sıra başarılı ve başarısız oturum açma işlemlerini de denetler:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

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 DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_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 Eylemlerin belirtilemeyeceğini unutmayın). 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ı ya da ş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.isDevopsAuditEnabled

boolean

Devops denetiminin durumunu belirtir. Durum Etkin ise devops günlükleri Azure İzleyici'ye gönderilir. Olayları Azure İzleyici'ye göndermek için 'State' değerini 'Enabled', 'IsAzureMonitorTargetEnabled' değerini true ve 'IsDevopsAuditEnabled' değerini true olarak belirtin

Denetimi yapılandırmak için REST API kullanılırken, ana veritabanında 'DevOpsOperationsAudit' tanılama günlükleri kategorisine sahip Tanılama Ayarları da oluşturulmalıdır.

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

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

properties.isManagedIdentityInUse

boolean

Yönetilen Kimliğin blob depolamaya erişmek için kullanılıp kullanılmayacağını belirtir

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 belirtildiyse, storageAccountAccessKey belirtilmemesi depolamaya erişmek için SQL server sistem tarafından atanan yönetilen kimliği kullanır. Yönetilen kimlik kimlik doğrulamasını kullanma önkoşulları:

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

string

Blob depolama abonelik kimliğini belirtir.

properties.storageEndpoint

string

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

Yanıtlar

Name Tür Description
200 OK

ServerBlobAuditingPolicy

Denetim ayarları başarıyla güncelleştirildi.

202 Accepted

Denetim ayarlarını güncelleştirme işlemi devam ediyor.

Other Status Codes

Hata Yanıtları: **

  • 400 InvalidServerBlobAuditingPolicyCreateRequest - Sunucu 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 BlobAuditingInvalidStorageAccountCredentials - Sağlanan depolama hesabı veya erişim anahtarı geçerli değil.

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

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

  • 400 InvalidBlobAuditActions - Geçersiz denetim eylemi

  • 404 SubscriptionDoesNotHaveServer - İstenen sunucu bulunamadı

  • 404 ServerNotInSubscriptionResourceGroup - Belirtilen sunucu belirtilen kaynak grubunda ve abonelikte yok.

  • 404 OperationIdNotFound - Kimliği olan işlem yok.

  • 409 ServerBlobAuditingPolicyInProgress - Sunucu blob denetimini ayarlama işlemi zaten devam ediyor.

  • 409 OperationCancelled - İşlem kullanıcı tarafından iptal edildi.

  • 409 İşlem Kesildi - Aynı kaynakta başka bir işlem tarafından kesintiye uğradığından kaynak üzerindeki işlem tamamlanamadı.

  • 429 SubscriptionTooManyCreateUpdateRequests - Kullanılabilir kaynaklar tarafından işlenebilen maksimum istekler dışında istekler.

  • 429 SubscriptionTooManyRequests - Kullanılabilir kaynaklar tarafından işlenebilen maksimum istekler dışında istekler.

  • 500 OperationTimedOut - İşlem zaman aşımına uğradı ve otomatik olarak geri alındı. Lütfen işlemi yeniden deneyin.

  • 503 TooManyRequests - Kullanılabilir kaynaklar tarafından işlenebilen maksimum isteğin ötesindeki istekler.

Örnekler

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

Örnek isteği

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

Örnek yanıt

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

Örnek isteği

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

Örnek yanıt

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

Tanımlar

Name Description
blobAuditingPolicyName

Blob denetim ilkesinin adı.

BlobAuditingPolicyState

Denetimin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

ServerBlobAuditingPolicy

Sunucu blobu denetim ilkesi.

blobAuditingPolicyName

Blob denetim ilkesinin adı.

Name Tür Description
default

string

BlobAuditingPolicyState

Denetimin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

Name Tür Description
Disabled

string

Enabled

string

ServerBlobAuditingPolicy

Sunucu blobu denetim ilkesi.

Name Tür Description
id

string

Kaynak Kimliği.

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ın yanı sıra başarılı ve başarısız oturum açma işlemlerini de denetler:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

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 DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_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 Eylemlerin belirtilemeyeceğini unutmayın). 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ı ya da ş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.isDevopsAuditEnabled

boolean

Devops denetiminin durumunu belirtir. Durum Etkin ise devops günlükleri Azure İzleyici'ye gönderilir. Olayları Azure İzleyici'ye göndermek için 'State' değerini 'Enabled', 'IsAzureMonitorTargetEnabled' değerini true ve 'IsDevopsAuditEnabled' değerini true olarak belirtin

Denetimi yapılandırmak için REST API kullanılırken, ana veritabanında 'DevOpsOperationsAudit' tanılama günlükleri kategorisine sahip Tanılama Ayarları da oluşturulmalıdır.

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

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

properties.isManagedIdentityInUse

boolean

Yönetilen Kimliğin blob depolamaya erişmek için kullanılıp kullanılmayacağını belirtir

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

Denetimin 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 belirtildiyse, storageAccountAccessKey belirtilmemesi depolamaya erişmek için SQL server sistem tarafından atanan yönetilen kimliği kullanır. Yönetilen kimlik kimlik doğrulamasını kullanma önkoşulları:

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

string

Blob depolama abonelik kimliğini belirtir.

properties.storageEndpoint

string

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

type

string

Kaynak türü.