Compartir a través de


Server Blob Auditing Policies - Create Or Update

Crea o actualiza la directiva de auditoría de blobs de un servidor.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
blobAuditingPolicyName
path True

blobAuditingPolicyName

Nombre de la directiva de auditoría de blobs.

resourceGroupName
path True

string

Nombre del grupo de recursos que contiene el recurso. Puede obtener este valor desde la API de Azure Resource Manager o el portal.

serverName
path True

string

Nombre del servidor.

subscriptionId
path True

string

Identificador de suscripción que identifica una suscripción de Azure.

api-version
query True

string

Versión de la API que se va a usar para la solicitud.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
properties.state True

BlobAuditingPolicyState

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

properties.auditActionsAndGroups

string[]

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

properties.isAzureMonitorTargetEnabled

boolean

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

properties.isDevopsAuditEnabled

boolean

Especifica el estado de la auditoría de devops. Si el estado es Habilitado, los registros devops se enviarán a Azure Monitor. Para enviar los eventos a Azure Monitor, especifique "State" como "Enabled", "IsAzureMonitorTargetEnabled" como true y "IsDevopsAuditEnabled" 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 "DevOpsOperationsAudit" en la base de datos maestra.

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

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.queueDelayMs

integer (int32)

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.

properties.retentionDays

integer (int32)

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

properties.storageAccountAccessKey

string

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

string (uuid)

Especifica el identificador de suscripción de Blob Storage.

properties.storageEndpoint

string

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.

Respuestas

Nombre Tipo Description
200 OK

ServerBlobAuditingPolicy

Se ha actualizado correctamente la configuración de auditoría.

202 Accepted

La actualización de la configuración de auditoría está en curso.

Encabezados

Location: string

Other Status Codes

ErrorResponse

Respuestas de error: ***

  • 400 ManagedInstanceStoppingOrStopped: operación en conflicto enviada mientras la instancia está en estado de detención o detención

  • 400 ManagedInstanceStarting: operación en conflicto enviada mientras la instancia está en estado de inicio

  • 400 InvalidServerBlobAuditingPolicyCreateRequest: la solicitud de directiva de auditoría de blobs de servidor de creación no existe o no tiene ningún objeto de propiedades.

  • 400 InvalidBlobAuditActionsAndGroups: acciones de auditoría o grupos de acciones no válidos.

  • 400 DataSecurityInvalidUserSuppliedParameter: el cliente proporcionó un valor de parámetro no válido.

  • 400 BlobAuditingInvalidPolicyLength: la longitud de directiva no válida debe tener 200 caracteres.

  • 400 InvalidBlobAuditActionsAndGroups: acciones de auditoría o grupos de acciones no válidos.

  • 400 BlobAuditingNetworkSecurityPerimeterNotAllowed: el perímetro de seguridad de red bloqueó la solicitud de salida a la cuenta de almacenamiento

  • 400 BlobAuditingInvalidStorageAccountCredentials: la cuenta de almacenamiento o la clave de acceso proporcionadas no son válidas.

  • 400 BlobAuditingStorageOutboundFirewallNotAllowed: la cuenta de almacenamiento no está en la lista de FQDN permitidos y, por lo tanto, las reglas de firewall de salida bloquearán la solicitud.

  • 400 InsufficientDiskSpaceForAuditing: espacio en disco insuficiente para ahorrar metadatos de auditoría en la base de datos

  • 400 InvalidBlobAuditActions: acción de auditoría no válida

  • 404 ServerNotInSubscriptionResourceGroup: el servidor especificado no existe en el grupo de recursos y la suscripción especificados.

  • 404 SubscriptionDoesNotHaveServer: no se encontró el servidor solicitado.

  • 404 OperationIdNotFound: la operación con id. no existe.

  • 409 ServerBlobAuditingPolicyInProgress: la auditoría de blobs de servidor ya está en curso.

  • 409 CannotCancelOperation: la operación de administración está en un estado que no se puede cancelar.

  • 409 OperationCancelled: el usuario canceló la operación.

  • 409 OperationInterrupted: no se pudo completar la operación en el recurso porque se interrumpió otra operación en el mismo recurso.

  • 429 SubscriptionTooManyCreateUpdateRequests: solicitudes más allá de las solicitudes máximas que pueden procesar los recursos disponibles.

  • 429 SubscriptionTooManyRequests: solicitudes más allá de las solicitudes máximas que los recursos disponibles pueden procesar.

  • 500 OperationTimedOut: la operación agota el tiempo de espera y se revierte automáticamente. Vuelva a intentar la operación.

  • 503 TooManyRequests: solicitudes más allá de las solicitudes máximas que pueden procesar los recursos disponibles.

Ejemplos

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

Solicitud de ejemplo

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

Respuesta de muestra

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

Solicitud de ejemplo

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

Respuesta de muestra

{
  "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"
    ]
  }
}

Definiciones

Nombre Description
blobAuditingPolicyName

Nombre de la directiva de auditoría de blobs.

BlobAuditingPolicyState

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

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

ServerBlobAuditingPolicy

Directiva de auditoría de blobs de servidor.

blobAuditingPolicyName

Nombre de la directiva de auditoría de blobs.

Valor Description
default

BlobAuditingPolicyState

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

Valor Description
Enabled
Disabled

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

Nombre Tipo Description
info

object

Información adicional.

type

string

Tipo de información adicional.

ErrorDetail

Detalle del error.

Nombre Tipo Description
additionalInfo

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Detalles del error.

message

string

Mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

Objeto de error.

ServerBlobAuditingPolicy

Directiva de auditoría de blobs de servidor.

Nombre Tipo Description
id

string

Identificador de recurso.

name

string

Nombre del recurso.

properties.auditActionsAndGroups

string[]

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

properties.isAzureMonitorTargetEnabled

boolean

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

properties.isDevopsAuditEnabled

boolean

Especifica el estado de la auditoría de devops. Si el estado es Habilitado, los registros devops se enviarán a Azure Monitor. Para enviar los eventos a Azure Monitor, especifique "State" como "Enabled", "IsAzureMonitorTargetEnabled" como true y "IsDevopsAuditEnabled" 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 "DevOpsOperationsAudit" en la base de datos maestra.

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

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.queueDelayMs

integer (int32)

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.

properties.retentionDays

integer (int32)

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

properties.state

BlobAuditingPolicyState

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

properties.storageAccountAccessKey

string

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

string (uuid)

Especifica el identificador de suscripción de Blob Storage.

properties.storageEndpoint

string

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.

type

string

Tipo de recurso.