Partilhar via


DatabaseBlobAuditingPolicy interface

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

Extends

Propriedades

auditActionsAndGroups

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

isAzureMonitorTargetEnabled

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

isManagedIdentityInUse

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

isStorageSecondaryKeyInUse

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

kind

Tipo de recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

queueDelayMs

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.

retentionDays

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

state

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

storageAccountAccessKey

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
storageAccountSubscriptionId

Especifica a ID da assinatura de armazenamento de blob.

storageEndpoint

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.

Propriedades Herdadas

id

ID do recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

name

Nome do recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

type

Tipo de recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

Detalhes de Propriedade

auditActionsAndGroups

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

auditActionsAndGroups?: string[]

Valor de Propriedade

string[]

isAzureMonitorTargetEnabled

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

isAzureMonitorTargetEnabled?: boolean

Valor de Propriedade

boolean

isManagedIdentityInUse

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

isManagedIdentityInUse?: boolean

Valor de Propriedade

boolean

isStorageSecondaryKeyInUse

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

isStorageSecondaryKeyInUse?: boolean

Valor de Propriedade

boolean

kind

Tipo de recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

kind?: string

Valor de Propriedade

string

queueDelayMs

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.

queueDelayMs?: number

Valor de Propriedade

number

retentionDays

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

retentionDays?: number

Valor de Propriedade

number

state

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

state?: BlobAuditingPolicyState

Valor de Propriedade

storageAccountAccessKey

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
storageAccountAccessKey?: string

Valor de Propriedade

string

storageAccountSubscriptionId

Especifica a ID da assinatura de armazenamento de blob.

storageAccountSubscriptionId?: string

Valor de Propriedade

string

storageEndpoint

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.

storageEndpoint?: string

Valor de Propriedade

string

Detalhes da Propriedade Herdada

id

ID do recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

id?: string

Valor de Propriedade

string

herdado deProxyResource.id

name

Nome do recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

name?: string

Valor de Propriedade

string

herdada deProxyResource.name

type

Tipo de recurso. Observação : esta propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

type?: string

Valor de Propriedade

string

herdado de ProxyResource.type