Compartir a través de


ExtendedDatabaseBlobAuditingPolicy interface

Una directiva de auditoría de blobs de base de datos extendida.

Extends

Propiedades

auditActionsAndGroups

Especifica el Actions-Groups y las acciones que se van a auditar.

El conjunto recomendado de grupos de acciones que se van a usar es la siguiente combinación: esto auditará todas las consultas y procedimientos almacenados ejecutados en la base de datos, así como inicios de sesión correctos y con errores:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Esta combinación anterior también es el conjunto que se configura de forma predeterminada al habilitar la auditoría desde Azure Portal.

Los grupos de acciones admitidos que se van a auditar son (nota: elija solo grupos específicos que cubran las necesidades de auditoría. El uso de grupos innecesarios podría dar lugar a grandes cantidades de registros de auditoría):

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

Estos son grupos que cubren todas las instrucciones SQL y los procedimientos almacenados ejecutados en la base de datos y no deben usarse en combinación con otros grupos, ya que esto dará lugar a registros de auditoría duplicados.

Para obtener más información, consulte Database-Level Auditar grupos de acciones.

Para la directiva de auditoría de base de datos, también se pueden especificar acciones específicas (tenga en cuenta que las acciones no se pueden especificar para la directiva de auditoría del servidor). Las acciones admitidas para auditar son: SELECT UPDATE INSERT INSERT DELETE EXECUTE RECEIVE REFERENCES

El formulario general para definir una acción que se va a auditar es: {action} ON {object} BY {principal}

Tenga en cuenta que, en el formato anterior, puede hacer referencia a un objeto como una tabla, una vista o un procedimiento almacenado, o a una base de datos o esquema completo. En los últimos casos, se usan los formularios DATABASE::{db_name} y SCHEMA::{schema_name}, respectivamente.

Por ejemplo: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public public

Para obtener más información, consulte Database-Level Acciones de auditoría.

isAzureMonitorTargetEnabled

Especifica si los eventos de auditoría se envían a Azure Monitor. Para enviar los eventos a Azure Monitor, especifique "State" como "Enabled" y "IsAzureMonitorTargetEnabled" como true.

Al usar la API REST para configurar la auditoría, también se debe crear la categoría de registros de diagnóstico "SQLSecurityAuditEvents" en la base de datos. Tenga en cuenta que para la auditoría de nivel de servidor debe usar la base de datos "master" como {databaseName}.

Formato de URI de configuración 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 obtener más información, consulte configuración de diagnóstico DE API REST o Configuración de diagnóstico de PowerShell

isManagedIdentityInUse

Especifica si la identidad administrada se usa para acceder al almacenamiento de blobs.

isStorageSecondaryKeyInUse

Especifica si el valor storageAccountAccessKey es la clave secundaria del almacenamiento.

predicateExpression

Especifica la condición where de la cláusula al crear una auditoría.

queueDelayMs

Especifica la cantidad de tiempo en milisegundos que pueden transcurrir antes de que se procesen las acciones de auditoría. El valor mínimo predeterminado es 1000 (1 segundo). El máximo es 2.147.483.647.

retentionDays

Especifica el número de días que se mantendrán en los registros de auditoría de la cuenta de almacenamiento.

state

Especifica el estado de la auditoría. Si el estado es Habilitado, se requieren storageEndpoint o isAzureMonitorTargetEnabled.

storageAccountAccessKey

Especifica la clave de identificador de la cuenta de almacenamiento de auditoría. Si se especifica state is Enabled and storageEndpoint, not specifying the storageAccountAccessKey will use SQL Server system-assigned managed identity to access the storage. Requisitos previos para usar la autenticación de identidad administrada:

  1. Asigne a SQL Server una identidad administrada asignada por el sistema en Azure Active Directory (AAD).
  2. Conceda a la identidad de SQL Server acceso a la cuenta de almacenamiento agregando el rol RBAC "Colaborador de datos de blobs de almacenamiento" a la identidad del servidor. Para obtener más información, consulte Auditoría en el almacenamiento mediante la autenticación de identidad administrada
storageAccountSubscriptionId

Especifica el identificador de suscripción de Blob Storage.

storageEndpoint

Especifica el punto de conexión de Blob Storage (por ejemplo, https://MyAccount.blob.core.windows.net). Si el estado es Enabled, storageEndpoint o isAzureMonitorTargetEnabled es obligatorio.

Propiedades heredadas

id

Identificador de recurso. NOTA: Esta propiedad no se serializará. Solo el servidor puede rellenarlo.

name

Nombre del recurso. NOTA: Esta propiedad no se serializará. Solo el servidor puede rellenarlo.

type

Tipo de recurso. NOTA: Esta propiedad no se serializará. Solo el servidor puede rellenarlo.

Detalles de las propiedades

auditActionsAndGroups

Especifica el Actions-Groups y las acciones que se van a auditar.

El conjunto recomendado de grupos de acciones que se van a usar es la siguiente combinación: esto auditará todas las consultas y procedimientos almacenados ejecutados en la base de datos, así como inicios de sesión correctos y con errores:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Esta combinación anterior también es el conjunto que se configura de forma predeterminada al habilitar la auditoría desde Azure Portal.

Los grupos de acciones admitidos que se van a auditar son (nota: elija solo grupos específicos que cubran las necesidades de auditoría. El uso de grupos innecesarios podría dar lugar a grandes cantidades de registros de auditoría):

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

Estos son grupos que cubren todas las instrucciones SQL y los procedimientos almacenados ejecutados en la base de datos y no deben usarse en combinación con otros grupos, ya que esto dará lugar a registros de auditoría duplicados.

Para obtener más información, consulte Database-Level Auditar grupos de acciones.

Para la directiva de auditoría de base de datos, también se pueden especificar acciones específicas (tenga en cuenta que las acciones no se pueden especificar para la directiva de auditoría del servidor). Las acciones admitidas para auditar son: SELECT UPDATE INSERT INSERT DELETE EXECUTE RECEIVE REFERENCES

El formulario general para definir una acción que se va a auditar es: {action} ON {object} BY {principal}

Tenga en cuenta que, en el formato anterior, puede hacer referencia a un objeto como una tabla, una vista o un procedimiento almacenado, o a una base de datos o esquema completo. En los últimos casos, se usan los formularios DATABASE::{db_name} y SCHEMA::{schema_name}, respectivamente.

Por ejemplo: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public public

Para obtener más información, consulte Database-Level Acciones de auditoría.

auditActionsAndGroups?: string[]

Valor de propiedad

string[]

isAzureMonitorTargetEnabled

Especifica si los eventos de auditoría se envían a Azure Monitor. Para enviar los eventos a Azure Monitor, especifique "State" como "Enabled" y "IsAzureMonitorTargetEnabled" como true.

Al usar la API REST para configurar la auditoría, también se debe crear la categoría de registros de diagnóstico "SQLSecurityAuditEvents" en la base de datos. Tenga en cuenta que para la auditoría de nivel de servidor debe usar la base de datos "master" como {databaseName}.

Formato de URI de configuración 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 obtener más información, consulte configuración de diagnóstico DE API REST o Configuración de diagnóstico de PowerShell

isAzureMonitorTargetEnabled?: boolean

Valor de propiedad

boolean

isManagedIdentityInUse

Especifica si la identidad administrada se usa para acceder al almacenamiento de blobs.

isManagedIdentityInUse?: boolean

Valor de propiedad

boolean

isStorageSecondaryKeyInUse

Especifica si el valor storageAccountAccessKey es la clave secundaria del almacenamiento.

isStorageSecondaryKeyInUse?: boolean

Valor de propiedad

boolean

predicateExpression

Especifica la condición where de la cláusula al crear una auditoría.

predicateExpression?: string

Valor de propiedad

string

queueDelayMs

Especifica la cantidad de tiempo en milisegundos que pueden transcurrir antes de que se procesen las acciones de auditoría. El valor mínimo predeterminado es 1000 (1 segundo). El máximo es 2.147.483.647.

queueDelayMs?: number

Valor de propiedad

number

retentionDays

Especifica el número de días que se mantendrán en los registros de auditoría de la cuenta de almacenamiento.

retentionDays?: number

Valor de propiedad

number

state

Especifica el estado de la auditoría. Si el estado es Habilitado, se requieren storageEndpoint o isAzureMonitorTargetEnabled.

state?: BlobAuditingPolicyState

Valor de propiedad

storageAccountAccessKey

Especifica la clave de identificador de la cuenta de almacenamiento de auditoría. Si se especifica state is Enabled and storageEndpoint, not specifying the storageAccountAccessKey will use SQL Server system-assigned managed identity to access the storage. Requisitos previos para usar la autenticación de identidad administrada:

  1. Asigne a SQL Server una identidad administrada asignada por el sistema en Azure Active Directory (AAD).
  2. Conceda a la identidad de SQL Server acceso a la cuenta de almacenamiento agregando el rol RBAC "Colaborador de datos de blobs de almacenamiento" a la identidad del servidor. Para obtener más información, consulte Auditoría en el almacenamiento mediante la autenticación de identidad administrada
storageAccountAccessKey?: string

Valor de propiedad

string

storageAccountSubscriptionId

Especifica el identificador de suscripción de Blob Storage.

storageAccountSubscriptionId?: string

Valor de propiedad

string

storageEndpoint

Especifica el punto de conexión de Blob Storage (por ejemplo, https://MyAccount.blob.core.windows.net). Si el estado es Enabled, storageEndpoint o isAzureMonitorTargetEnabled es obligatorio.

storageEndpoint?: string

Valor de propiedad

string

Detalles de las propiedades heredadas

id

Identificador de recurso. NOTA: Esta propiedad no se serializará. Solo el servidor puede rellenarlo.

id?: string

Valor de propiedad

string

heredado deProxyResource.id

name

Nombre del recurso. NOTA: Esta propiedad no se serializará. Solo el servidor puede rellenarlo.

name?: string

Valor de propiedad

string

heredado deProxyResource.name

type

Tipo de recurso. NOTA: Esta propiedad no se serializará. Solo el servidor puede rellenarlo.

type?: string

Valor de propiedad

string

Heredado deProxyResource.type