Extended Server Blob Auditing Policies - Create Or Update
Membuat atau memperbarui kebijakan audit blob server yang diperluas.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/default?api-version=2021-11-01
Parameter URI
Nama | Dalam | Diperlukan | Jenis | Deskripsi |
---|---|---|---|---|
blob
|
path | True |
Nama kebijakan audit blob. |
|
resource
|
path | True |
string |
Nama grup sumber daya yang berisi sumber daya. Anda dapat memperoleh nilai ini dari Azure Resource Manager API atau portal. |
server
|
path | True |
string |
Nama server. |
subscription
|
path | True |
string |
ID langganan yang mengidentifikasi langganan Azure. |
api-version
|
query | True |
string |
Versi API yang digunakan untuk permintaan. |
Isi Permintaan
Nama | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
properties.state | True |
Menentukan status audit. Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan. |
|
properties.auditActionsAndGroups |
string[] |
Menentukan Actions-Groups dan Tindakan untuk diaudit. Kumpulan grup tindakan yang direkomendasikan untuk digunakan adalah kombinasi berikut - ini akan mengaudit semua kueri dan prosedur tersimpan yang dijalankan terhadap database, serta login 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 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 Grup Tindakan Audit Tingkat Database. 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: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Formulir umum untuk menentukan tindakan yang akan diaudit adalah: {action} ON {object} BY {principal} Perhatikan bahwa 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: PILIH di dbo.myTable oleh SELECT publik di DATABASE::myDatabase oleh SELECT publik di SCHEMA::mySchema menurut publik Untuk informasi selengkapnya, lihat Tindakan Audit Tingkat Database |
|
properties.isAzureMonitorTargetEnabled |
boolean |
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 Rest API Pengaturan Diagnostik atau PowerShell Pengaturan Diagnostik |
|
properties.isDevopsAuditEnabled |
boolean |
Menentukan status audit devops. Jika status Diaktifkan, log devops akan dikirim ke Azure Monitor. Untuk mengirim peristiwa ke Azure Monitor, tentukan 'State' sebagai 'Enabled', 'IsAzureMonitorTargetEnabled' sebagai true dan 'IsDevopsAuditEnabled' sebagai true Saat menggunakan REST API untuk mengonfigurasi audit, Pengaturan Diagnostik dengan kategori log diagnostik 'DevOpsOperationsAudit' pada database master juga harus dibuat. Format URI Pengaturan Diagnostik: 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 Untuk informasi selengkapnya, lihat Rest API Pengaturan Diagnostik atau PowerShell Pengaturan Diagnostik |
|
properties.isManagedIdentityInUse |
boolean |
Menentukan apakah Identitas Terkelola digunakan untuk mengakses penyimpanan blob |
|
properties.isStorageSecondaryKeyInUse |
boolean |
Menentukan apakah nilai storageAccountAccessKey adalah kunci sekunder penyimpanan. |
|
properties.predicateExpression |
string |
Menentukan kondisi klausa where saat membuat audit. |
|
properties.queueDelayMs |
integer |
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. |
|
properties.retentionDays |
integer |
Menentukan jumlah hari untuk disimpan dalam log audit di akun penyimpanan. |
|
properties.storageAccountAccessKey |
string |
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:
|
|
properties.storageAccountSubscriptionId |
string |
Menentukan Id langganan penyimpanan blob. |
|
properties.storageEndpoint |
string |
Menentukan titik akhir penyimpanan blob (misalnya https://MyAccount.blob.core.windows.net). Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan. |
Respons
Nama | Jenis | Deskripsi |
---|---|---|
200 OK |
Berhasil memperbarui pengaturan audit yang diperluas. |
|
202 Accepted |
Memperbarui pengaturan audit yang diperluas sedang berlangsung. |
|
Other Status Codes |
Respons Kesalahan: ***
|
Contoh
Update a server's extended blob auditing policy with all parameters |
Update a server's extended blob auditing policy with minimal parameters |
Update a server's extended blob auditing policy with all parameters
Permintaan sampel
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/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"
],
"predicateExpression": "object_name = 'SensitiveData'",
"isAzureMonitorTargetEnabled": true
}
}
Respon sampel
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default",
"name": "default",
"type": "Microsoft.Sql/servers/extendedAuditingSettings",
"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"
],
"predicateExpression": "object_name = 'SensitiveData'",
"isAzureMonitorTargetEnabled": true
}
}
Update a server's extended blob auditing policy with minimal parameters
Permintaan sampel
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net"
}
}
Respon sampel
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default",
"name": "default",
"type": "Microsoft.Sql/servers/extendedAuditingSettings",
"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"
],
"isAzureMonitorTargetEnabled": false
}
}
Definisi
Nama | Deskripsi |
---|---|
blob |
Nama kebijakan audit blob. |
Blob |
Menentukan status audit. Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan. |
Extended |
Kebijakan audit blob server yang diperluas. |
blobAuditingPolicyName
Nama kebijakan audit blob.
Nama | Jenis | Deskripsi |
---|---|---|
default |
string |
BlobAuditingPolicyState
Menentukan status audit. Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan.
Nama | Jenis | Deskripsi |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ExtendedServerBlobAuditingPolicy
Kebijakan audit blob server yang diperluas.
Nama | Jenis | Deskripsi |
---|---|---|
id |
string |
ID Sumber Daya. |
name |
string |
Nama sumber daya. |
properties.auditActionsAndGroups |
string[] |
Menentukan Actions-Groups dan Tindakan untuk diaudit. Kumpulan grup tindakan yang direkomendasikan untuk digunakan adalah kombinasi berikut - ini akan mengaudit semua kueri dan prosedur tersimpan yang dijalankan terhadap database, serta login 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 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 Grup Tindakan Audit Tingkat Database. 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: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Formulir umum untuk menentukan tindakan yang akan diaudit adalah: {action} ON {object} BY {principal} Perhatikan bahwa 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: PILIH di dbo.myTable oleh SELECT publik di DATABASE::myDatabase oleh SELECT publik di SCHEMA::mySchema menurut publik Untuk informasi selengkapnya, lihat Tindakan Audit Tingkat Database |
properties.isAzureMonitorTargetEnabled |
boolean |
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 Rest API Pengaturan Diagnostik atau PowerShell Pengaturan Diagnostik |
properties.isDevopsAuditEnabled |
boolean |
Menentukan status audit devops. Jika status Diaktifkan, log devops akan dikirim ke Azure Monitor. Untuk mengirim peristiwa ke Azure Monitor, tentukan 'State' sebagai 'Enabled', 'IsAzureMonitorTargetEnabled' sebagai true dan 'IsDevopsAuditEnabled' sebagai true Saat menggunakan REST API untuk mengonfigurasi audit, Pengaturan Diagnostik dengan kategori log diagnostik 'DevOpsOperationsAudit' pada database master juga harus dibuat. Format URI Pengaturan Diagnostik: 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 Untuk informasi selengkapnya, lihat Rest API Pengaturan Diagnostik atau PowerShell Pengaturan Diagnostik |
properties.isManagedIdentityInUse |
boolean |
Menentukan apakah Identitas Terkelola digunakan untuk mengakses penyimpanan blob |
properties.isStorageSecondaryKeyInUse |
boolean |
Menentukan apakah nilai storageAccountAccessKey adalah kunci sekunder penyimpanan. |
properties.predicateExpression |
string |
Menentukan kondisi klausa where saat membuat audit. |
properties.queueDelayMs |
integer |
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. |
properties.retentionDays |
integer |
Menentukan jumlah hari untuk disimpan dalam log audit di akun penyimpanan. |
properties.state |
Menentukan status audit. Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan. |
|
properties.storageAccountAccessKey |
string |
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:
|
properties.storageAccountSubscriptionId |
string |
Menentukan Id langganan penyimpanan blob. |
properties.storageEndpoint |
string |
Menentukan titik akhir penyimpanan blob (misalnya https://MyAccount.blob.core.windows.net). Jika status Diaktifkan, storageEndpoint atau isAzureMonitorTargetEnabled diperlukan. |
type |
string |
Jenis sumber daya |