Aracılığıyla paylaş


ExtendedServerBlobAuditingPolicy interface

Genişletilmiş sunucu blobu denetim ilkesi.

Extends

Özellikler

auditActionsAndGroups

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ından denetimi etkinleştirirken 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 miktarda 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. denetim eylem gruplarını Database-Level.

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çimdeki nesnenin> 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 durumlarda sırasıyla DATABASE::{db_name} ve SCHEMA::{schema_name} formları kullanılır.

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

Daha fazla bilgi için bkz. denetim eylemleri Database-Level

isAzureMonitorTargetEnabled

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 veya Tanılama Ayarları PowerShell

isDevopsAuditEnabled

Devops denetiminin durumunu belirtir. Durum Etkinse 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 veya Tanılama Ayarları PowerShell

isManagedIdentityInUse

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

isStorageSecondaryKeyInUse

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

predicateExpression

Denetim oluştururken where yan tümcesinin koşulunu belirtir.

queueDelayMs

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.

retentionDays

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

state

Denetimin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

storageAccountAccessKey

Denetim depolama hesabının tanımlayıcı anahtarını belirtir. Durum Etkinse ve storageEndpoint belirtilirse, 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'a Azure Active Directory'de (AAD) sistem tarafından atanan bir yönetilen kimlik atayın.
  2. Sunucu kimliğine 'Depolama Blob Verileri Katkıda Bulunanı' RBAC rolü ekleyerek SQL Server kimliğine depolama hesabına erişim izni verin. Daha fazla bilgi için bkz. Yönetilen Kimlik kimlik doğrulaması kullanarak depolama için denetim
storageAccountSubscriptionId

Blob depolama aboneliği kimliğini belirtir.

storageEndpoint

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

Devralınan Özellikler

id

Kaynak Kimliği. NOT: Bu özellik serileştirilmeyecek. Yalnızca sunucu tarafından doldurulabilir.

name

Kaynak adı. NOT: Bu özellik serileştirilmeyecek. Yalnızca sunucu tarafından doldurulabilir.

type

Kaynak türü. NOT: Bu özellik serileştirilmeyecek. Yalnızca sunucu tarafından doldurulabilir.

Özellik Ayrıntıları

auditActionsAndGroups

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ından denetimi etkinleştirirken 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 miktarda 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. denetim eylem gruplarını Database-Level.

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çimdeki nesnenin> 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 durumlarda sırasıyla DATABASE::{db_name} ve SCHEMA::{schema_name} formları kullanılır.

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

Daha fazla bilgi için bkz. denetim eylemleri Database-Level

auditActionsAndGroups?: string[]

Özellik Değeri

string[]

isAzureMonitorTargetEnabled

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 veya Tanılama Ayarları PowerShell

isAzureMonitorTargetEnabled?: boolean

Özellik Değeri

boolean

isDevopsAuditEnabled

Devops denetiminin durumunu belirtir. Durum Etkinse 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 veya Tanılama Ayarları PowerShell

isDevopsAuditEnabled?: boolean

Özellik Değeri

boolean

isManagedIdentityInUse

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

isManagedIdentityInUse?: boolean

Özellik Değeri

boolean

isStorageSecondaryKeyInUse

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

isStorageSecondaryKeyInUse?: boolean

Özellik Değeri

boolean

predicateExpression

Denetim oluştururken where yan tümcesinin koşulunu belirtir.

predicateExpression?: string

Özellik Değeri

string

queueDelayMs

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.

queueDelayMs?: number

Özellik Değeri

number

retentionDays

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

retentionDays?: number

Özellik Değeri

number

state

Denetimin durumunu belirtir. Durum Etkinse storageEndpoint veya IsAzureMonitorTargetEnabled gereklidir.

state?: BlobAuditingPolicyState

Özellik Değeri

storageAccountAccessKey

Denetim depolama hesabının tanımlayıcı anahtarını belirtir. Durum Etkinse ve storageEndpoint belirtilirse, 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'a Azure Active Directory'de (AAD) sistem tarafından atanan bir yönetilen kimlik atayın.
  2. Sunucu kimliğine 'Depolama Blob Verileri Katkıda Bulunanı' RBAC rolü ekleyerek SQL Server kimliğine depolama hesabına erişim izni verin. Daha fazla bilgi için bkz. Yönetilen Kimlik kimlik doğrulaması kullanarak depolama için denetim
storageAccountAccessKey?: string

Özellik Değeri

string

storageAccountSubscriptionId

Blob depolama aboneliği kimliğini belirtir.

storageAccountSubscriptionId?: string

Özellik Değeri

string

storageEndpoint

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

storageEndpoint?: string

Özellik Değeri

string

Devralınan Özellik Detayları

id

Kaynak Kimliği. NOT: Bu özellik serileştirilmeyecek. Yalnızca sunucu tarafından doldurulabilir.

id?: string

Özellik Değeri

string

ProxyResource.id Devralındı

name

Kaynak adı. NOT: Bu özellik serileştirilmeyecek. Yalnızca sunucu tarafından doldurulabilir.

name?: string

Özellik Değeri

string

ProxyResource.name'dan Devralınan

type

Kaynak türü. NOT: Bu özellik serileştirilmeyecek. Yalnızca sunucu tarafından doldurulabilir.

type?: string

Özellik Değeri

string

ProxyResource.typeDevralındı