Compartilhar via


ExtendedDatabaseBlobAuditingPolicy interface

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

Extends

Propriedades

auditActionsAndGroups

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 habilitar a auditoria do 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 com suporte para auditoria são: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

O formulário 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 os últimos casos, os formulários DATABASE::{db_name} e SCHEMA::{schema_name} são usados, respectivamente.

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, consulte Database-Level Ações de Auditoria

isAzureMonitorTargetEnabled

Especifica se os eventos de auditoria são enviados ao 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, 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}.

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

isManagedIdentityInUse

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

isStorageSecondaryKeyInUse

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

predicateExpression

Especifica a condição de onde a cláusula ao criar uma auditoria.

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

storageAccountAccessKey

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 pelo sistema no AAD (Azure Active Directory).
  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 no armazenamento usando a autenticação de Identidade Gerenciada
storageAccountSubscriptionId

Especifica a ID da assinatura do armazenamento de blobs.

storageEndpoint

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.

Propriedades herdadas

id

ID do recurso. OBSERVAÇÃO: essa propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

name

Nome do recurso. OBSERVAÇÃO: essa propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

type

Tipo de recurso. OBSERVAÇÃO: essa propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

Detalhes da propriedade

auditActionsAndGroups

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 habilitar a auditoria do 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 com suporte para auditoria são: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

O formulário 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 os últimos casos, os formulários DATABASE::{db_name} e SCHEMA::{schema_name} são usados, respectivamente.

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, consulte Database-Level Ações de Auditoria

auditActionsAndGroups?: string[]

Valor da propriedade

string[]

isAzureMonitorTargetEnabled

Especifica se os eventos de auditoria são enviados ao 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, 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}.

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

isAzureMonitorTargetEnabled?: boolean

Valor da propriedade

boolean

isManagedIdentityInUse

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

isManagedIdentityInUse?: boolean

Valor da propriedade

boolean

isStorageSecondaryKeyInUse

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

isStorageSecondaryKeyInUse?: boolean

Valor da propriedade

boolean

predicateExpression

Especifica a condição de onde a cláusula ao criar uma auditoria.

predicateExpression?: string

Valor da 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 é 2.147.483.647.

queueDelayMs?: number

Valor da propriedade

number

retentionDays

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

retentionDays?: number

Valor da propriedade

number

state

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

state?: BlobAuditingPolicyState

Valor da propriedade

storageAccountAccessKey

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 pelo sistema no AAD (Azure Active Directory).
  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 no armazenamento usando a autenticação de Identidade Gerenciada
storageAccountAccessKey?: string

Valor da propriedade

string

storageAccountSubscriptionId

Especifica a ID da assinatura do armazenamento de blobs.

storageAccountSubscriptionId?: string

Valor da propriedade

string

storageEndpoint

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.

storageEndpoint?: string

Valor da propriedade

string

Detalhes das propriedades herdadas

id

ID do recurso. OBSERVAÇÃO: essa propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

id?: string

Valor da propriedade

string

herdado deProxyResource.id

name

Nome do recurso. OBSERVAÇÃO: essa propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

name?: string

Valor da propriedade

string

herdado deProxyResource.name

type

Tipo de recurso. OBSERVAÇÃO: essa propriedade não será serializada. Ele só pode ser preenchido pelo servidor.

type?: string

Valor da propriedade

string

herdado deProxyResource.type