Partilhar via


Server Blob Auditing Policies - Create Or Update

Cria ou atualiza a política de auditoria de blob de um servidor.

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

Parâmetros do URI

Name Em Necessário Tipo Description
blobAuditingPolicyName
path True

blobAuditingPolicyName

O nome da política de auditoria de blob.

resourceGroupName
path True

string

O nome do grupo de recursos que contém o recurso. Você pode obter esse valor da API do Azure Resource Manager ou do portal.

serverName
path True

string

O nome do servidor.

subscriptionId
path True

string

A ID de assinatura que identifica uma assinatura do Azure.

api-version
query True

string

A versão da API a ser usada para a solicitaçã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.

Essa combinação acima também é o conjunto configurado por padrão ao habilitar a auditoria do portal do 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 para auditoria são: SELECIONE ATUALIZAR INSERIR EXCLUIR EXECUTAR RECEBER REFERÊNCIAS

A forma geral para definir uma ação a ser auditada é: {action} ON {object} BY {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 público SELECT em DATABASE::myDatabase por público 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 true.

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

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

properties.isDevopsAuditEnabled

boolean

Especifica o estado da auditoria devops. Se o estado estiver Habilitado, os logs de devops serão enviados para o Azure Monitor. Para enviar os eventos para o Azure Monitor, especifique 'State' como 'Enabled', 'IsAzureMonitorTargetEnabled' como true e 'IsDevopsAuditEnabled' como true

Ao usar a API REST para configurar a auditoria, a categoria Configurações de diagnóstico com logs de diagnóstico 'DevOpsOperationsAudit' no banco de dados mestre também deve ser criada.

Formato URI das configurações de diagnóstico: 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

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

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. Atribua ao SQL Server uma identidade gerenciada atribuída pelo sistema no Azure Ative Directory (AAD).
  2. Conceda acesso à identidade do SQL Server à conta de armazenamento adicionando a função RBAC 'Colaborador de Dados de Blob de Armazenamento' à 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

ServerBlobAuditingPolicy

Atualizadas com êxito as configurações de auditoria.

202 Accepted

A atualização das configurações de auditoria está em andamento.

Cabeçalhos

Location: string

Other Status Codes

ErrorResponse

Respostas de erro: ***

  • 400 ManagedInstanceStoppingOrStopped - Operação conflitante enviada enquanto a instância está no estado de parada/parada

  • 400 ManagedInstanceStarting - Operação conflitante enviada enquanto a instância está no estado inicial

  • 400 InvalidServerBlobAuditingPolicyCreateRequest - A solicitação de política de auditoria de blob de servidor de criação não existe ou não tem nenhum objeto de propriedades.

  • 400 InvalidBlobAuditActionsAndGroups - Ações de auditoria ou grupos de ação inválidos.

  • 400 DataSecurityInvalidUserSuppliedParameter - Um valor de parâmetro inválido foi fornecido pelo cliente.

  • 400 BlobAuditingInvalidPolicyLength - Comprimento de política inválido, deve estar dentro de 200 caracteres.

  • 400 InvalidBlobAuditActionsAndGroups - Ações de auditoria ou grupos de ação inválidos.

  • 400 BlobAuditingNetworkSecurityPerimeterNotAllowed - Perímetro de Segurança de Rede bloqueou a solicitação de saída para a Conta de Armazenamento

  • 400 BlobAuditingInvalidStorageAccountCredentials - A conta de armazenamento ou a chave de acesso fornecida não é válida.

  • 400 BlobAuditingStorageOutboundFirewallNotAllowed - A conta de armazenamento não está na lista de FQDNs permitidos e, portanto, as regras de firewall de saída bloquearão a solicitação.

  • 400 InsufficientDiskSpaceForAuditing - Espaço em disco insuficiente para salvar metadados de auditoria no banco de dados

  • 400 InvalidBlobAuditActions - Ação de auditoria inválida

  • 404 ServerNotInSubscriptionResourceGroup - O servidor especificado não existe no grupo de recursos e na assinatura especificados.

  • 404 SubscriptionDoesNotHaveServer - O servidor solicitado não foi encontrado

  • 404 OperationIdNotFound - A operação com Id não existe.

  • 409 ServerBlobAuditingPolicyInProgress - A auditoria de blob de servidor de conjunto já está em andamento.

  • 409 CannotCancelOperation - A operação de gerenciamento está em um estado que não pode ser cancelado.

  • 409 OperationCancelled - A operação foi cancelada pelo usuário.

  • 409 OperationInterrupted - A operação no recurso não pôde ser concluída porque foi interrompida por outra operação no mesmo recurso.

  • 429 SubscriptionTooManyCreateUpdateRequests - Solicitações além do máximo de solicitações que podem ser processadas pelos recursos disponíveis.

  • 429 SubscriptionTooManyRequests - Solicitações além do máximo de solicitações que podem ser processadas pelos recursos disponíveis.

  • 500 OperationTimedOut - A operação atingiu o tempo limite e foi revertida automaticamente. Por favor, tente novamente a operação.

  • 503 TooManyRequests - Solicitações além do máximo de solicitações que podem ser processadas pelos recursos disponíveis.

Exemplos

Update a server's blob auditing policy with all parameters
Update a server's blob auditing policy with minimal parameters

Update a server'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/auditingSettings/default?api-version=2023-08-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
  }
}

Resposta da amostra

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

Update a server'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/auditingSettings/default?api-version=2023-08-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/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/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"
    ]
  }
}

Definições

Name Description
blobAuditingPolicyName

O nome da política de auditoria de blob.

BlobAuditingPolicyState

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

ErrorAdditionalInfo

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

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

ServerBlobAuditingPolicy

Uma política de auditoria de blob de servidor.

blobAuditingPolicyName

O nome da política de auditoria de blob.

Valor Description
default

BlobAuditingPolicyState

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

Valor Description
Enabled
Disabled

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 destino do erro.

ErrorResponse

Resposta de erro

Name Tipo Description
error

ErrorDetail

O objeto de erro.

ServerBlobAuditingPolicy

Uma política de auditoria de blob de servidor.

Name Tipo Description
id

string

ID do recurso.

name

string

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.

Essa combinação acima também é o conjunto configurado por padrão ao habilitar a auditoria do portal do 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 para auditoria são: SELECIONE ATUALIZAR INSERIR EXCLUIR EXECUTAR RECEBER REFERÊNCIAS

A forma geral para definir uma ação a ser auditada é: {action} ON {object} BY {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 público SELECT em DATABASE::myDatabase por público 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 true.

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

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

properties.isDevopsAuditEnabled

boolean

Especifica o estado da auditoria devops. Se o estado estiver Habilitado, os logs de devops serão enviados para o Azure Monitor. Para enviar os eventos para o Azure Monitor, especifique 'State' como 'Enabled', 'IsAzureMonitorTargetEnabled' como true e 'IsDevopsAuditEnabled' como true

Ao usar a API REST para configurar a auditoria, a categoria Configurações de diagnóstico com logs de diagnóstico 'DevOpsOperationsAudit' no banco de dados mestre também deve ser criada.

Formato URI das configurações de diagnóstico: 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

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

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. Atribua ao SQL Server uma identidade gerenciada atribuída pelo sistema no Azure Ative Directory (AAD).
  2. Conceda acesso à identidade do SQL Server à conta de armazenamento adicionando a função RBAC 'Colaborador de Dados de Blob de Armazenamento' à 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.

type

string

Tipo de recurso.