Extended Database Blob Auditing Policies - Create Or Update

Cria ou atualiza a política de auditoria de blobs de uma base de dados alargada.

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

Parâmetros do URI

Name Em Necessá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 um UUID.

api-version
query True

string

minLength: 1

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

Corpo do Pedido

Name Necessário Tipo Description
properties.state True

BlobAuditingPolicyState

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

properties.auditActionsAndGroups

string[]

Especifica os Actions-Groups e as Ações a serem auditadas.

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

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Esta combinação acima é também o conjunto configurado por defeito ao ativar a auditoria a partir do portal Azure.

Os grupos de ações suportados para auditoria são (observação: escolha apenas grupos específicos que cubram suas necessidades de auditoria. A utilização de grupos desnecessários pode conduzir 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

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ção 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 a auditar são: SELECIONAR ATUALIZAR INSERIR ELIMINAR EXECUTAR RECEBER REFERÊNCIAS

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

Observe que <objeto> no formato acima pode se referir a um objeto como uma tabela, exibição ou procedimento armazenado ou a um banco de dados ou esquema inteiro. Para estes ú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 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 usar a API REST para configurar a auditoria, a categoria de logs de diagnóstico 'SQLSecurityAuditEvents' no banco de dados também deve ser criada. Observe que, para auditoria no nível do servidor, você deve usar o banco de dados 'master' como {databaseName}.

Definiçõ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 API REST de configurações de diagnóstico ou Configurações de diagnóstico PowerShell

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.predicateExpression

string

Especifica a condição da cláusula where ao criar uma auditoria.

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 é de 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 identificador da conta de armazenamento de auditoria. Se state for Enabled e 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. Atribuir ao SQL Server uma identidade gerida atribuída pelo sistema no Azure Active Directory (AAD).
  2. Conceda acesso à identidade do SQL Server à conta de armazenamento adicionando o papel RBAC 'Storage Blob Data Contributor' à identidade do servidor. Para obter mais informações, consulte Auditoria de armazenamento usando autenticação de identidade gerenciada
properties.storageAccountSubscriptionId

string (uuid)

Especifica a ID da assinatura de armazenamento de blob.

properties.storageEndpoint

string

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

Respostas

Name Tipo Description
200 OK

ExtendedDatabaseBlobAuditingPolicy

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

201 Created

ExtendedDatabaseBlobAuditingPolicy

Recurso 'ExtendedDatabaseBlobAuditingPolicy' 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
Fluxo: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Âmbitos

Name Description
user_impersonation personificar a sua conta de utilizador

Exemplos

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

Create or update an extended 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/extendedAuditingSettings/default?api-version=2025-01-01

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

Resposta da amostra

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "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/extendedAuditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "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 an extended 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/extendedAuditingSettings/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,
    "predicateExpression": "statement = 'select 1'",
    "queueDelayMs": 4000,
    "retentionDays": 6,
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Resposta da amostra

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "predicateExpression": "statement = 'select 1'",
    "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/extendedAuditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "properties": {
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "predicateExpression": "statement = 'select 1'",
    "queueDelayMs": 4000,
    "retentionDays": 0,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Create or update an extended 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/extendedAuditingSettings/default?api-version=2025-01-01

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

Resposta da amostra

{
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "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/extendedAuditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "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

Name Description
BlobAuditingPolicyName
BlobAuditingPolicyState

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

createdByType

O tipo de identidade que criou o recurso.

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

ExtendedDatabaseBlobAuditingPolicy

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

systemData

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

BlobAuditingPolicyName

Valor Description
default

predefinição

BlobAuditingPolicyState

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

Valor Description
Enabled

Ativado

Disabled

Disabled

createdByType

O tipo de identidade que criou o recurso.

Valor Description
User
Application
ManagedIdentity
Key

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O alvo do erro.

ErrorResponse

Resposta de erro

Name Tipo Description
error

ErrorDetail

O objeto de erro.

ExtendedDatabaseBlobAuditingPolicy

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

Name Tipo Description
id

string (arm-id)

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

name

string

O nome do recurso

properties.auditActionsAndGroups

string[]

Especifica os Actions-Groups e as Ações a serem auditadas.

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

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Esta combinação acima é também o conjunto configurado por defeito ao ativar a auditoria a partir do portal Azure.

Os grupos de ações suportados para auditoria são (observação: escolha apenas grupos específicos que cubram suas necessidades de auditoria. A utilização de grupos desnecessários pode conduzir 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

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ção 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 a auditar são: SELECIONAR ATUALIZAR INSERIR ELIMINAR EXECUTAR RECEBER REFERÊNCIAS

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

Observe que <objeto> no formato acima pode se referir a um objeto como uma tabela, exibição ou procedimento armazenado ou a um banco de dados ou esquema inteiro. Para estes ú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 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 usar a API REST para configurar a auditoria, a categoria de logs de diagnóstico 'SQLSecurityAuditEvents' no banco de dados também deve ser criada. Observe que, para auditoria no nível do servidor, você deve usar o banco de dados 'master' como {databaseName}.

Definiçõ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 API REST de configurações de diagnóstico ou Configurações de diagnóstico PowerShell

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.predicateExpression

string

Especifica a condição da cláusula where ao criar uma auditoria.

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 é de 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 for Enabled, storageEndpoint ou isAzureMonitorTargetEnabled serão necessários.

properties.storageAccountAccessKey

string (password)

Especifica a chave identificador da conta de armazenamento de auditoria. Se state for Enabled e 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. Atribuir ao SQL Server uma identidade gerida atribuída pelo sistema no Azure Active Directory (AAD).
  2. Conceda acesso à identidade do SQL Server à conta de armazenamento adicionando o papel RBAC 'Storage Blob Data Contributor' à identidade do servidor. Para obter mais informações, consulte Auditoria de armazenamento usando autenticação de identidade gerenciada
properties.storageAccountSubscriptionId

string (uuid)

Especifica a ID da assinatura de armazenamento de blob.

properties.storageEndpoint

string

Especifica o ponto de extremidade de armazenamento de blob (por exemplo, https://MyAccount.blob.core.windows.net). Se o estado for Enabled, 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. Computação/Máquinas Virtuais" ou "Microsoft. ContasArmazenamento/Armazenamento"

systemData

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

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