Bagikan melalui


Workspace Managed Sql Server Blob Auditing Policies - Create Or Update

Membuat atau Memperbarui kebijakan audit blob server.
Membuat atau Memperbarui kebijakan audit blob server sql terkelola ruang kerja.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/auditingSettings/default?api-version=2021-06-01

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
blobAuditingPolicyName
path True

BlobAuditingPolicyName

Nama kebijakan audit blob.

resourceGroupName
path True

string

Nama grup sumber daya. Nama tidak peka huruf besar/kecil.

subscriptionId
path True

string

ID langganan target.

workspaceName
path True

string

Nama ruang kerja.

api-version
query True

string

Versi API yang digunakan untuk operasi ini.

Isi Permintaan

Nama Diperlukan Jenis Deskripsi
properties.state True

BlobAuditingPolicyState

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

properties.auditActionsAndGroups

string[]

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

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: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

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 Pengaturan Diagnostik REST API atau Pengaturan Diagnostik PowerShell

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 Pengaturan Diagnostik REST API atau Pengaturan Diagnostik PowerShell

properties.isStorageSecondaryKeyInUse

boolean

Menentukan apakah nilai storageAccountAccessKey adalah kunci sekunder penyimpanan.

properties.queueDelayMs

integer

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

properties.retentionDays

integer

Menentukan jumlah hari yang akan 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:

  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 Mengaudit ke penyimpanan 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

ServerBlobAuditingPolicy

Berhasil memperbarui pengaturan audit.

202 Accepted

Diterima

Other Status Codes

Respons Kesalahan: ***

  • 400 InvalidServerBlobAuditingPolicyCreateRequest - Permintaan kebijakan audit blob server buat tidak ada atau tidak memiliki objek properti.

  • 400 InvalidBlobAuditActionsAndGroups - Tindakan audit atau grup tindakan tidak valid.

  • 400 DataSecurityInvalidUserSuppliedParameter - Nilai parameter yang tidak valid disediakan oleh klien.

  • 400 BlobAuditingInvalidStorageAccountCredentials - Akun penyimpanan atau kunci akses yang disediakan tidak valid.

  • 400 InvalidBlobAuditActionsAndGroups - Tindakan audit atau grup tindakan tidak valid.

  • 400 InsufficientDiskSpaceForAuditing - Ruang disk tidak memadai untuk menyimpan metadata audit dalam database

400 InvalidBlobAuditActions - Tindakan audit tidak valid.

  • 404 SubscriptionDoesNotHaveServer - Server yang diminta tidak ditemukan

  • 404 ServerNotInSubscriptionResourceGroup - Server yang ditentukan tidak ada di grup sumber daya dan langganan yang ditentukan.

  • 409 UnsupportedWorkspaceType - Operasi yang tidak didukung untuk jenis ruang kerja.

  • 500 InternalServerError - Terjadi kesalahan.

Contoh

Create or update blob auditing policy of workspace managed Sql Server with minimal parameters
Create or update blob auditing policy of workspace SQL Server with all parameters

Create or update blob auditing policy of workspace managed Sql Server with minimal parameters

Permintaan sampel

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default?api-version=2021-06-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/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/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"
    ]
  }
}

Create or update blob auditing policy of workspace SQL Server with all parameters

Permintaan sampel

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default?api-version=2021-06-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
  }
}

Respon sampel

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/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
  }
}

Definisi

Nama Deskripsi
BlobAuditingPolicyName

Nama kebijakan audit blob.

BlobAuditingPolicyState

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

ServerBlobAuditingPolicy

Kebijakan audit blob server.

BlobAuditingPolicyName

Nama kebijakan audit blob.

Nama Jenis Deskripsi
default

string

BlobAuditingPolicyState

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

Nama Jenis Deskripsi
Disabled

string

Enabled

string

ServerBlobAuditingPolicy

Kebijakan audit blob server.

Nama Jenis Deskripsi
id

string

ID sumber daya yang sepenuhnya memenuhi syarat untuk sumber daya. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Nama sumber daya.

properties.auditActionsAndGroups

string[]

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

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: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

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 Pengaturan Diagnostik REST API atau Pengaturan Diagnostik PowerShell

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 Pengaturan Diagnostik REST API atau Pengaturan Diagnostik PowerShell

properties.isStorageSecondaryKeyInUse

boolean

Menentukan apakah nilai storageAccountAccessKey adalah kunci sekunder penyimpanan.

properties.queueDelayMs

integer

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

properties.retentionDays

integer

Menentukan jumlah hari yang akan disimpan dalam log audit di akun penyimpanan.

properties.state

BlobAuditingPolicyState

Menentukan status kebijakan. 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:

  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 Mengaudit ke penyimpanan 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. Misalnya "Microsoft.Compute/virtualMachines" atau "Microsoft.Storage/storageAccounts"