Compartilhar via


Database Blob Auditing Policies - Create Or Update

Cria ou atualiza a política de auditoria de blobs de um banco de dados.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2025-01-01

Parâmetros de URI

Nome Em Obrigatório Tipo Description
blobAuditingPolicyName
path True

BlobAuditingPolicyName

O nome da política de auditoria de blobs.

databaseName
path True

string

O nome do banco de dados.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

O nome do grupo de recursos. O nome não diferencia maiúsculas de minúsculas.

serverName
path True

string

O nome do servidor.

subscriptionId
path True

string (uuid)

A ID da assinatura de destino. O valor deve ser uma UUID.

api-version
query True

string

minLength: 1

A versão da API a ser usada para esta operação.

Corpo da solicitação

Nome Obrigatório Tipo Description
properties.state True

BlobAuditingPolicyState

Especifica o estado da auditoria. Se o estado estiver habilitado, storageEndpoint ou isAzureMonitorTargetEnabled serão necessários.

properties.auditActionsAndGroups

string[]

Especifica o Actions-Groups e as Ações a serem auditádas.

O conjunto recomendado de grupos de ações a ser usado é a seguinte combinação: isso auditará todas as consultas e procedimentos armazenados executados no banco de dados, bem como logons bem-sucedidos e com falha:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Essa combinação acima também é o conjunto configurado por padrão ao ativar a auditoria pelo portal do Azure.

Os grupos de ações com suporte para auditoria são (observação: escolha apenas grupos específicos que abrangem suas necessidades de auditoria. O uso de grupos desnecessários pode levar a grandes quantidades de registros 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

Esses são grupos que abrangem todas as instruções sql e procedimentos armazenados executados no banco de dados e não devem ser usados em combinação com outros grupos, pois isso resultará em logs de auditoria duplicados.

Para obter mais informações, consulte Database-Level Grupos de Ações de Auditoria.

Para a política de auditoria de banco de dados, ações específicas também podem ser especificadas (observe que ações não podem ser especificadas para a política de auditoria do servidor). As ações suportadas para auditoria são: SELECIONAR ATUALIZAR, INSERIR EXCLUIR EXECUTAR RECEBER REFERÊNCIAS

A forma geral para definir uma ação a ser auditada é: {ação} EM {objeto} POR {principal}

Observe que <objeto> no formato acima pode se referir a um objeto como uma tabela, exibição ou procedimento armazenado ou um banco de dados ou esquema inteiro. Para os últimos casos, os formulários DATABASE::{db_name} e SCHEMA::{schema_name} são usados, respectivamente.

Por exemplo: SELECT em dbo.myTable por public SELECT em DATABASE::myDatabase por public SELECT em SCHEMA::mySchema por public

Para obter mais informações, consulte Database-Level Ações de Auditoria

properties.isAzureMonitorTargetEnabled

boolean

Especifica se 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 usar a API REST para configurar a auditoria, as Configurações de Diagnóstico com a categoria de logs de diagnóstico 'SQLSecurityAuditEvents' no banco de dados também devem ser criadas. Observe que, para auditoria no nível do servidor, você deve usar o banco de dados 'mestre' como {databaseName}.

Configurações de diagnóstico Formato URI: 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, consulte configurações de diagnóstico da API REST ou configurações de diagnóstico do PowerShell

properties.isManagedIdentityInUse

boolean

Especifica se a Identidade Gerenciada é usada para acessar o armazenamento de blobs

properties.isStorageSecondaryKeyInUse

boolean

Especifica se o valor storageAccountAccessKey é a chave secundária do armazenamento.

properties.queueDelayMs

integer (int32)

Especifica a quantidade de tempo em milissegundos que pode decorrer antes que as ações de auditoria sejam forçadas a serem processadas. O valor mínimo padrão é 1000 (1 segundo). O máximo é 2.147.483.647.

properties.retentionDays

integer (int32)

Especifica o número de dias a serem mantidos nos logs de auditoria na conta de armazenamento.

properties.storageAccountAccessKey

string (password)

Especifica a chave do identificador da conta de armazenamento de auditoria. Se o estado estiver habilitado e o storageEndpoint for especificado, não especificar o storageAccountAccessKey usará a identidade gerenciada atribuída pelo sistema do SQL Server para acessar o armazenamento. Pré-requisitos para usar a autenticação de identidade gerenciada:

  1. Atribua ao SQL Server uma identidade gerenciada atribuída ao sistema no Azure Active Directory (AAD).
  2. Conceda à identidade do SQL Server acesso à conta de armazenamento adicionando o papel de RBAC 'Storage Blob Data Contributor' à identidade do servidor. Para obter mais informações, consulte Auditoria no armazenamento usando a autenticação de Identidade Gerenciada
properties.storageAccountSubscriptionId

string (uuid)

Especifica a ID da assinatura do armazenamento de blobs.

properties.storageEndpoint

string

Especifica o ponto de extremidade de armazenamento de blobs (por exemplo, https://MyAccount.blob.core.windows.net). Se o estado estiver habilitado, storageEndpoint ou isAzureMonitorTargetEnabled será necessário.

Respostas

Nome Tipo Description
200 OK

DatabaseBlobAuditingPolicy

Operação de atualização do recurso 'DatabaseBlobAuditingPolicy' bem-sucedida

201 Created

DatabaseBlobAuditingPolicy

Recurso 'DatabaseBlobAuditingPolicy' criar operação bem-sucedida

Other Status Codes

ErrorResponse

Uma resposta de erro inesperada.

Segurança

azure_auth

Azure Active Directory OAuth2 Flow.

Tipo: oauth2
Flow: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Escopos

Nome Description
user_impersonation representar sua conta de usuário

Exemplos

Create or update a database's azure monitor auditing policy with minimal parameters
Create or update a database's blob auditing policy with all parameters
Create or update a database's blob auditing policy with minimal parameters

Create or update a database's azure monitor auditing policy with minimal parameters

Solicitação de exemplo

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=2025-01-01

{
  "properties": {
    "isAzureMonitorTargetEnabled": true,
    "state": "Enabled"
  }
}

Resposta de exemplo

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000"
  }
}
{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000"
  }
}

Create or update a database's blob auditing policy with all parameters

Solicitação de exemplo

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=2025-01-01

{
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 6,
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Resposta de exemplo

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}
{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Create or update a database's blob auditing policy with minimal parameters

Solicitação de exemplo

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=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Resposta de exemplo

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": false,
    "isStorageSecondaryKeyInUse": false,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}
{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "kind": "V12",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": false,
    "isStorageSecondaryKeyInUse": false,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Definições

Nome Description
BlobAuditingPolicyName
BlobAuditingPolicyState

Especifica o estado da auditoria. Se o estado estiver habilitado, storageEndpoint ou isAzureMonitorTargetEnabled serão necessários.

createdByType

O tipo de identidade que criou o recurso.

DatabaseBlobAuditingPolicy

Uma política de auditoria de blob de banco de dados.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

systemData

Metadados relativos à criação e última modificação do recurso.

BlobAuditingPolicyName

Valor Description
default

padrão

BlobAuditingPolicyState

Especifica o estado da auditoria. Se o estado estiver habilitado, storageEndpoint ou isAzureMonitorTargetEnabled serão necessários.

Valor Description
Enabled

Habilitado

Disabled

Desactivado

createdByType

O tipo de identidade que criou o recurso.

Valor Description
User
Application
ManagedIdentity
Key

DatabaseBlobAuditingPolicy

Uma política de auditoria de blob de banco de dados.

Nome Tipo Description
id

string (arm-id)

ID de recurso totalmente qualificada para o recurso. Por exemplo, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"

kind

string

Tipo de recurso.

name

string

O nome do recurso

properties.auditActionsAndGroups

string[]

Especifica o Actions-Groups e as Ações a serem auditádas.

O conjunto recomendado de grupos de ações a ser usado é a seguinte combinação: isso auditará todas as consultas e procedimentos armazenados executados no banco de dados, bem como logons bem-sucedidos e com falha:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Essa combinação acima também é o conjunto configurado por padrão ao ativar a auditoria pelo portal do Azure.

Os grupos de ações com suporte para auditoria são (observação: escolha apenas grupos específicos que abrangem suas necessidades de auditoria. O uso de grupos desnecessários pode levar a grandes quantidades de registros 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

Esses são grupos que abrangem todas as instruções sql e procedimentos armazenados executados no banco de dados e não devem ser usados em combinação com outros grupos, pois isso resultará em logs de auditoria duplicados.

Para obter mais informações, consulte Database-Level Grupos de Ações de Auditoria.

Para a política de auditoria de banco de dados, ações específicas também podem ser especificadas (observe que ações não podem ser especificadas para a política de auditoria do servidor). As ações suportadas para auditoria são: SELECIONAR ATUALIZAR, INSERIR EXCLUIR EXECUTAR RECEBER REFERÊNCIAS

A forma geral para definir uma ação a ser auditada é: {ação} EM {objeto} POR {principal}

Observe que <objeto> no formato acima pode se referir a um objeto como uma tabela, exibição ou procedimento armazenado ou um banco de dados ou esquema inteiro. Para os últimos casos, os formulários DATABASE::{db_name} e SCHEMA::{schema_name} são usados, respectivamente.

Por exemplo: SELECT em dbo.myTable por public SELECT em DATABASE::myDatabase por public SELECT em SCHEMA::mySchema por public

Para obter mais informações, consulte Database-Level Ações de Auditoria

properties.isAzureMonitorTargetEnabled

boolean

Especifica se 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 usar a API REST para configurar a auditoria, as Configurações de Diagnóstico com a categoria de logs de diagnóstico 'SQLSecurityAuditEvents' no banco de dados também devem ser criadas. Observe que, para auditoria no nível do servidor, você deve usar o banco de dados 'mestre' como {databaseName}.

Configurações de diagnóstico Formato URI: 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, consulte configurações de diagnóstico da API REST ou configurações de diagnóstico do PowerShell

properties.isManagedIdentityInUse

boolean

Especifica se a Identidade Gerenciada é usada para acessar o armazenamento de blobs

properties.isStorageSecondaryKeyInUse

boolean

Especifica se o valor storageAccountAccessKey é a chave secundária do armazenamento.

properties.queueDelayMs

integer (int32)

Especifica a quantidade de tempo em milissegundos que pode decorrer antes que as ações de auditoria sejam forçadas a serem processadas. O valor mínimo padrão é 1000 (1 segundo). O máximo é 2.147.483.647.

properties.retentionDays

integer (int32)

Especifica o número de dias a serem mantidos nos logs de auditoria na conta de armazenamento.

properties.state

BlobAuditingPolicyState

Especifica o estado da auditoria. Se o estado estiver habilitado, storageEndpoint ou isAzureMonitorTargetEnabled serão necessários.

properties.storageAccountAccessKey

string (password)

Especifica a chave do identificador da conta de armazenamento de auditoria. Se o estado estiver habilitado e o storageEndpoint for especificado, não especificar o storageAccountAccessKey usará a identidade gerenciada atribuída pelo sistema do SQL Server para acessar o armazenamento. Pré-requisitos para usar a autenticação de identidade gerenciada:

  1. Atribua ao SQL Server uma identidade gerenciada atribuída ao sistema no Azure Active Directory (AAD).
  2. Conceda à identidade do SQL Server acesso à conta de armazenamento adicionando o papel de RBAC 'Storage Blob Data Contributor' à identidade do servidor. Para obter mais informações, consulte Auditoria no armazenamento usando a autenticação de Identidade Gerenciada
properties.storageAccountSubscriptionId

string (uuid)

Especifica a ID da assinatura do armazenamento de blobs.

properties.storageEndpoint

string

Especifica o ponto de extremidade de armazenamento de blobs (por exemplo, https://MyAccount.blob.core.windows.net). Se o estado estiver habilitado, storageEndpoint ou isAzureMonitorTargetEnabled será necessário.

systemData

systemData

Metadados do Azure Resource Manager contendo informações createdBy e modifiedBy.

type

string

O tipo do recurso. Por exemplo, "Microsoft. Compute/virtualMachines" ou "Microsoft. ContasArmazenamento/Armazenamento"

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

systemData

Metadados relativos à criação e última modificação do recurso.

Nome Tipo Description
createdAt

string (date-time)

O carimbo de data/hora da criação de recursos (UTC).

createdBy

string

A identidade que criou o recurso.

createdByType

createdByType

O tipo de identidade que criou o recurso.

lastModifiedAt

string (date-time)

O carimbo de data/hora da última modificação do recurso (UTC)

lastModifiedBy

string

A identidade que modificou o recurso pela última vez.

lastModifiedByType

createdByType

O tipo de identidade que modificou o recurso pela última vez.