Database Blob Auditing Policies - Create Or Update
Cria ou atualiza a política de auditoria de blobs de uma base de dados.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2021-11-01
Parâmetros do URI
Name | Em | Necessário | Tipo | Description |
---|---|---|---|---|
blob
|
path | True |
O nome da política de auditoria de blobs. |
|
database
|
path | True |
string |
O nome da base de dados. |
resource
|
path | True |
string |
O nome do grupo de recursos que contém o recurso. Pode obter este valor a partir da API do Azure Resource Manager ou do portal. |
server
|
path | True |
string |
O nome do servidor. |
subscription
|
path | True |
string |
O ID da subscrição que identifica uma subscrição do Azure. |
api-version
|
query | True |
string |
A versão da API a utilizar para o pedido. |
Corpo do Pedido
Name | Necessário | Tipo | Description |
---|---|---|---|
properties.state | True |
Especifica o estado da auditoria. Se o estado estiver Ativado, é necessário storageEndpoint ou éAzureMonitorTargetEnabled. |
|
properties.auditActionsAndGroups |
string[] |
Especifica os Actions-Groups e Ações a auditar. O conjunto recomendado de grupos de ações a utilizar é a seguinte combinação. Esta ação irá auditar todas as consultas e procedimentos armazenados executados na base de dados, bem como inícios de sessão bem-sucedidos e falhados: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Esta combinação acima também é o conjunto configurado por predefinição ao ativar a auditoria a partir do portal do Azure. Os grupos de ações suportados para auditoria são (nota: escolha apenas grupos específicos que abordem as suas necessidades de auditoria. A utilização de grupos desnecessários pode levar a grandes quantidades de registos de auditoria): 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 Estes são grupos que abrangem todas as instruções sql e procedimentos armazenados executados na base de dados e não devem ser utilizados em combinação com outros grupos, uma vez que tal resultará em registos de auditoria duplicados. Para obter mais informações, veja Grupos de Ações de Auditoria ao Nível da Base de Dados. Para a política de auditoria da base de dados, também é possível especificar Ações específicas (tenha em atenção que não é possível especificar ações para a política de auditoria do servidor). As ações suportadas para auditoria são: SELECIONAR ATUALIZAR INSERIR ELIMINAR EXECUTAR RECEBER REFERÊNCIAS O formulário geral para definir uma ação a ser auditada é: {action} ON {object} BY {principal} Tenha em atenção que, no formato acima, pode referir-se a um objeto, como uma tabela, vista ou procedimento armazenado, ou a uma base de dados ou esquema inteiro. Nos últimos casos, são utilizados os formulários DATABASE::{db_name} e SCHEMA::{schema_name}, respetivamente. Por exemplo: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Para obter mais informações, veja Ações de Auditoria ao Nível da Base de Dados |
|
properties.isAzureMonitorTargetEnabled |
boolean |
Especifica se os eventos de auditoria são enviados para o Azure Monitor. Para enviar os eventos para o Azure Monitor, especifique "State" como "Enabled" e "IsAzureMonitorTargetEnabled" como verdadeiros. Ao utilizar a API REST para configurar a auditoria, as Definições de Diagnóstico com a categoria de registos de diagnóstico "SQLSecurityAuditEvents" na base de dados também devem ser criadas. Tenha em atenção que, para a auditoria ao nível do servidor, deve utilizar a base de dados "mestra" como {databaseName}. Formato URI das Definições de Diagnóstico: 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 Para obter mais informações, veja API REST de Definições de Diagnóstico ou Definições de Diagnóstico do PowerShell |
|
properties.isManagedIdentityInUse |
boolean |
Especifica se a Identidade Gerida é utilizada para aceder ao armazenamento de blobs |
|
properties.isStorageSecondaryKeyInUse |
boolean |
Especifica se o valor storageAccountAccessKey é a chave secundária do armazenamento. |
|
properties.queueDelayMs |
integer |
Especifica a quantidade de tempo em milissegundos que pode decorrer antes de as ações de auditoria serem forçadas a ser processadas. O valor mínimo predefinido é 1000 (1 segundo). O máximo é 2.147.483.647. |
|
properties.retentionDays |
integer |
Especifica o número de dias a manter nos registos de auditoria na conta de armazenamento. |
|
properties.storageAccountAccessKey |
string |
Especifica a chave de identificador da conta de armazenamento de auditoria. Se o estado estiver Ativado e o storageEndpoint for especificado, não especificar o storageAccountAccessKey utilizará a identidade gerida atribuída pelo sistema do SQL Server para aceder ao armazenamento. Pré-requisitos para utilizar a autenticação de identidade gerida:
|
|
properties.storageAccountSubscriptionId |
string |
Especifica o ID da subscrição do armazenamento de blobs. |
|
properties.storageEndpoint |
string |
Especifica o ponto final de armazenamento de blobs (por exemplo, https://MyAccount.blob.core.windows.net). Se o estado estiver Ativado, é necessário storageEndpoint ou éAzureMonitorTargetEnabled. |
Respostas
Name | Tipo | Description |
---|---|---|
200 OK |
Definir com êxito a política de auditoria de blobs de bases de dados. |
|
201 Created |
A política de auditoria de blobs de bases de dados foi criada com êxito. |
|
Other Status Codes |
Respostas de Erro: ***
|
Exemplos
Create or update a database's azure monitor auditing policy with minimal parameters
Pedido de amostra
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true
}
}
Resposta da amostra
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
Create or update a database's blob auditing policy with all parameters
Pedido de amostra
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/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": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Resposta da amostra
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Create or update a database's blob auditing policy with minimal parameters
Pedido de amostra
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net"
}
}
Resposta da amostra
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
Definições
Name | Description |
---|---|
blob |
O nome da política de auditoria de blobs. |
Blob |
Especifica o estado da auditoria. Se o estado estiver Ativado, é necessário storageEndpoint ou éAzureMonitorTargetEnabled. |
Database |
Uma política de auditoria de blobs de base de dados. |
blobAuditingPolicyName
O nome da política de auditoria de blobs.
Name | Tipo | Description |
---|---|---|
default |
string |
BlobAuditingPolicyState
Especifica o estado da auditoria. Se o estado estiver Ativado, é necessário storageEndpoint ou éAzureMonitorTargetEnabled.
Name | Tipo | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
DatabaseBlobAuditingPolicy
Uma política de auditoria de blobs de base de dados.
Name | Tipo | Description |
---|---|---|
id |
string |
ID do Recurso. |
kind |
string |
Tipo de recurso. |
name |
string |
Nome do recurso. |
properties.auditActionsAndGroups |
string[] |
Especifica os Actions-Groups e Ações a auditar. O conjunto recomendado de grupos de ações a utilizar é a seguinte combinação. Esta ação irá auditar todas as consultas e procedimentos armazenados executados na base de dados, bem como inícios de sessão bem-sucedidos e falhados: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Esta combinação acima também é o conjunto configurado por predefinição ao ativar a auditoria a partir do portal do Azure. Os grupos de ações suportados para auditoria são (nota: escolha apenas grupos específicos que abordem as suas necessidades de auditoria. A utilização de grupos desnecessários pode levar a grandes quantidades de registos de auditoria): 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 Estes são grupos que abrangem todas as instruções sql e procedimentos armazenados executados na base de dados e não devem ser utilizados em combinação com outros grupos, uma vez que tal resultará em registos de auditoria duplicados. Para obter mais informações, veja Grupos de Ações de Auditoria ao Nível da Base de Dados. Para a política de auditoria da base de dados, também é possível especificar Ações específicas (tenha em atenção que não é possível especificar ações para a política de auditoria do servidor). As ações suportadas para auditoria são: SELECIONAR ATUALIZAR INSERIR ELIMINAR EXECUTAR RECEBER REFERÊNCIAS O formulário geral para definir uma ação a ser auditada é: {action} ON {object} BY {principal} Tenha em atenção que, no formato acima, pode referir-se a um objeto, como uma tabela, vista ou procedimento armazenado, ou a uma base de dados ou esquema inteiro. Nos últimos casos, são utilizados os formulários DATABASE::{db_name} e SCHEMA::{schema_name}, respetivamente. Por exemplo: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Para obter mais informações, veja Ações de Auditoria ao Nível da Base de Dados |
properties.isAzureMonitorTargetEnabled |
boolean |
Especifica se os eventos de auditoria são enviados para o Azure Monitor. Para enviar os eventos para o Azure Monitor, especifique "State" como "Enabled" e "IsAzureMonitorTargetEnabled" como verdadeiros. Ao utilizar a API REST para configurar a auditoria, as Definições de Diagnóstico com a categoria de registos de diagnóstico "SQLSecurityAuditEvents" na base de dados também devem ser criadas. Tenha em atenção que, para a auditoria ao nível do servidor, deve utilizar a base de dados "mestra" como {databaseName}. Formato URI das Definições de Diagnóstico: 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 Para obter mais informações, veja API REST de Definições de Diagnóstico ou Definições de Diagnóstico do PowerShell |
properties.isManagedIdentityInUse |
boolean |
Especifica se a Identidade Gerida é utilizada para aceder ao armazenamento de blobs |
properties.isStorageSecondaryKeyInUse |
boolean |
Especifica se o valor storageAccountAccessKey é a chave secundária do armazenamento. |
properties.queueDelayMs |
integer |
Especifica a quantidade de tempo em milissegundos que pode decorrer antes de as ações de auditoria serem forçadas a ser processadas. O valor mínimo predefinido é 1000 (1 segundo). O máximo é 2.147.483.647. |
properties.retentionDays |
integer |
Especifica o número de dias a manter nos registos de auditoria na conta de armazenamento. |
properties.state |
Especifica o estado da auditoria. Se o estado estiver Ativado, é necessário storageEndpoint ou éAzureMonitorTargetEnabled. |
|
properties.storageAccountAccessKey |
string |
Especifica a chave de identificador da conta de armazenamento de auditoria. Se o estado estiver Ativado e o storageEndpoint for especificado, não especificar o storageAccountAccessKey utilizará a identidade gerida atribuída pelo sistema do SQL Server para aceder ao armazenamento. Pré-requisitos para utilizar a autenticação de identidade gerida:
|
properties.storageAccountSubscriptionId |
string |
Especifica o ID da subscrição do armazenamento de blobs. |
properties.storageEndpoint |
string |
Especifica o ponto final de armazenamento de blobs (por exemplo, https://MyAccount.blob.core.windows.net). Se o estado estiver Ativado, é necessário storageEndpoint ou éAzureMonitorTargetEnabled. |
type |
string |
Tipo de recurso. |