Bagikan melalui


DatabaseBlobAuditingPolicy interface

Kebijakan audit blob database.

Memperluas

Properti

auditActionsAndGroups

Menentukan Actions-Groups dan Tindakan yang akan diaudit.

Kumpulan grup tindakan yang direkomendasikan untuk digunakan adalah kombinasi berikut - ini akan mengaudit semua kueri dan prosedur tersimpan yang dijalankan terhadap database, serta masuk yang berhasil dan gagal:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Kombinasi di atas ini juga merupakan set yang dikonfigurasi secara default saat mengaktifkan audit dari portal Microsoft Azure.

Grup tindakan yang didukung untuk diaudit adalah (catatan: pilih hanya grup tertentu yang mencakup kebutuhan audit Anda. Menggunakan grup yang tidak perlu dapat menyebabkan jumlah catatan audit yang sangat besar):

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

Ini adalah grup yang mencakup semua pernyataan sql dan prosedur tersimpan yang dijalankan terhadap database, dan tidak boleh digunakan dalam kombinasi dengan grup lain karena ini akan menghasilkan log audit duplikat.

Untuk informasi selengkapnya, lihat Database-Level Grup Tindakan Audit.

Untuk kebijakan audit Database, Tindakan tertentu juga dapat ditentukan (perhatikan bahwa Tindakan tidak dapat ditentukan untuk Kebijakan audit server). Tindakan yang didukung untuk audit adalah: PILIH PERBARUI INSERT DELETE EXECUTE RECEIVE REFERENCES

Formulir umum untuk menentukan tindakan yang akan diaudit adalah: {action} ON {object} BY {principal}

Perhatikan bahwa <objek> dalam format di atas dapat merujuk ke objek seperti tabel, tampilan, atau prosedur tersimpan, atau seluruh database atau skema. Untuk kasus terakhir, formulir DATABASE::{db_name} dan SKEMA::{schema_name} masing-masing digunakan.

Misalnya: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Untuk informasi selengkapnya, lihat Database-Level Tindakan Audit

isAzureMonitorTargetEnabled

Menentukan apakah peristiwa audit dikirim ke Azure Monitor. Untuk mengirim peristiwa ke Azure Monitor, tentukan 'State' sebagai 'Enabled' dan 'IsAzureMonitorTargetEnabled' sebagai true.

Saat menggunakan REST API untuk mengonfigurasi audit, Pengaturan Diagnostik dengan kategori log diagnostik 'SQLSecurityAuditEvents' pada database juga harus dibuat. Perhatikan bahwa untuk audit tingkat server, Anda harus menggunakan database 'master' sebagai {databaseName}.

Format URI Pengaturan Diagnostik: 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

Untuk informasi selengkapnya, lihat Pengaturan Diagnostik REST API atau Pengaturan Diagnostik PowerShell

isManagedIdentityInUse

Menentukan apakah Identitas Terkelola digunakan untuk mengakses penyimpanan blob

isStorageSecondaryKeyInUse

Menentukan apakah nilai storageAccountAccessKey adalah kunci sekunder penyimpanan.

kind

Jenis sumber daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

queueDelayMs

Menentukan jumlah waktu dalam milidetik yang dapat berlalu sebelum tindakan audit dipaksa untuk diproses. Nilai minimum default adalah 1000 (1 detik). Maksimum adalah 2.147.483.647.

retentionDays

Menentukan jumlah hari untuk disimpan dalam log audit di akun penyimpanan.

state

Menentukan status audit. Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan.

storageAccountAccessKey

Menentukan kunci pengidentifikasi akun penyimpanan audit. Jika status Diaktifkan dan storageEndpoint ditentukan, tidak menentukan storageAccountAccessKey akan menggunakan identitas terkelola yang ditetapkan sistem server SQL untuk mengakses penyimpanan. Prasyarat untuk menggunakan autentikasi identitas terkelola:

  1. Tetapkan SQL Server identitas terkelola yang ditetapkan sistem di Azure Active Directory (AAD).
  2. Berikan akses identitas SQL Server ke akun penyimpanan dengan menambahkan peran RBAC 'Kontributor Data Blob Penyimpanan' ke identitas server. Untuk informasi selengkapnya, lihat audit ke penyimpanan menggunakan autentikasi Identitas Terkelola
storageAccountSubscriptionId

Menentukan Id langganan penyimpanan blob.

storageEndpoint

Menentukan titik akhir penyimpanan blob (misalnya https://MyAccount.blob.core.windows.net). Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan.

Properti yang Diwariskan

id

ID Sumber Daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

name

Nama sumber daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

type

Jenis sumber daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

Detail Properti

auditActionsAndGroups

Menentukan Actions-Groups dan Tindakan yang akan diaudit.

Kumpulan grup tindakan yang direkomendasikan untuk digunakan adalah kombinasi berikut - ini akan mengaudit semua kueri dan prosedur tersimpan yang dijalankan terhadap database, serta masuk yang berhasil dan gagal:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Kombinasi di atas ini juga merupakan set yang dikonfigurasi secara default saat mengaktifkan audit dari portal Microsoft Azure.

Grup tindakan yang didukung untuk diaudit adalah (catatan: pilih hanya grup tertentu yang mencakup kebutuhan audit Anda. Menggunakan grup yang tidak perlu dapat menyebabkan jumlah catatan audit yang sangat besar):

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

Ini adalah grup yang mencakup semua pernyataan sql dan prosedur tersimpan yang dijalankan terhadap database, dan tidak boleh digunakan dalam kombinasi dengan grup lain karena ini akan menghasilkan log audit duplikat.

Untuk informasi selengkapnya, lihat Database-Level Grup Tindakan Audit.

Untuk kebijakan audit Database, Tindakan tertentu juga dapat ditentukan (perhatikan bahwa Tindakan tidak dapat ditentukan untuk Kebijakan audit server). Tindakan yang didukung untuk audit adalah: PILIH PERBARUI INSERT DELETE EXECUTE RECEIVE REFERENCES

Formulir umum untuk menentukan tindakan yang akan diaudit adalah: {action} ON {object} BY {principal}

Perhatikan bahwa <objek> dalam format di atas dapat merujuk ke objek seperti tabel, tampilan, atau prosedur tersimpan, atau seluruh database atau skema. Untuk kasus terakhir, formulir DATABASE::{db_name} dan SKEMA::{schema_name} masing-masing digunakan.

Misalnya: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Untuk informasi selengkapnya, lihat Database-Level Tindakan Audit

auditActionsAndGroups?: string[]

Nilai Properti

string[]

isAzureMonitorTargetEnabled

Menentukan apakah peristiwa audit dikirim ke Azure Monitor. Untuk mengirim peristiwa ke Azure Monitor, tentukan 'State' sebagai 'Enabled' dan 'IsAzureMonitorTargetEnabled' sebagai true.

Saat menggunakan REST API untuk mengonfigurasi audit, Pengaturan Diagnostik dengan kategori log diagnostik 'SQLSecurityAuditEvents' pada database juga harus dibuat. Perhatikan bahwa untuk audit tingkat server, Anda harus menggunakan database 'master' sebagai {databaseName}.

Format URI Pengaturan Diagnostik: 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

Untuk informasi selengkapnya, lihat Pengaturan Diagnostik REST API atau Pengaturan Diagnostik PowerShell

isAzureMonitorTargetEnabled?: boolean

Nilai Properti

boolean

isManagedIdentityInUse

Menentukan apakah Identitas Terkelola digunakan untuk mengakses penyimpanan blob

isManagedIdentityInUse?: boolean

Nilai Properti

boolean

isStorageSecondaryKeyInUse

Menentukan apakah nilai storageAccountAccessKey adalah kunci sekunder penyimpanan.

isStorageSecondaryKeyInUse?: boolean

Nilai Properti

boolean

kind

Jenis sumber daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

kind?: string

Nilai Properti

string

queueDelayMs

Menentukan jumlah waktu dalam milidetik yang dapat berlalu sebelum tindakan audit dipaksa untuk diproses. Nilai minimum default adalah 1000 (1 detik). Maksimum adalah 2.147.483.647.

queueDelayMs?: number

Nilai Properti

number

retentionDays

Menentukan jumlah hari untuk disimpan dalam log audit di akun penyimpanan.

retentionDays?: number

Nilai Properti

number

state

Menentukan status audit. Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan.

state?: BlobAuditingPolicyState

Nilai Properti

storageAccountAccessKey

Menentukan kunci pengidentifikasi akun penyimpanan audit. Jika status Diaktifkan dan storageEndpoint ditentukan, tidak menentukan storageAccountAccessKey akan menggunakan identitas terkelola yang ditetapkan sistem server SQL untuk mengakses penyimpanan. Prasyarat untuk menggunakan autentikasi identitas terkelola:

  1. Tetapkan SQL Server identitas terkelola yang ditetapkan sistem di Azure Active Directory (AAD).
  2. Berikan akses identitas SQL Server ke akun penyimpanan dengan menambahkan peran RBAC 'Kontributor Data Blob Penyimpanan' ke identitas server. Untuk informasi selengkapnya, lihat audit ke penyimpanan menggunakan autentikasi Identitas Terkelola
storageAccountAccessKey?: string

Nilai Properti

string

storageAccountSubscriptionId

Menentukan Id langganan penyimpanan blob.

storageAccountSubscriptionId?: string

Nilai Properti

string

storageEndpoint

Menentukan titik akhir penyimpanan blob (misalnya https://MyAccount.blob.core.windows.net). Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan.

storageEndpoint?: string

Nilai Properti

string

Detail Properti yang Diwariskan

id

ID Sumber Daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

id?: string

Nilai Properti

string

Diwariskan DariProxyResource.id

name

Nama sumber daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

name?: string

Nilai Properti

string

Diwariskan DariProxyResource.name

type

Jenis sumber daya. CATATAN: Properti ini tidak akan diserialisasikan. Ini hanya dapat diisi oleh server.

type?: string

Nilai Properti

string

Diwariskan DariProxyResource.type