Extended Server Blob Auditing Policies - Create Or Update
Crea o actualiza la directiva de auditoría de blobs de un servidor extendido.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/default?api-version=2021-11-01
Parámetros de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
blob
|
path | True |
Nombre de la directiva de auditoría de blobs. |
|
resource
|
path | True |
string |
Nombre del grupo de recursos que contiene el recurso. Puede obtener este valor en la API del Administrador de recursos o el portal de Azure. |
server
|
path | True |
string |
El nombre del servidor. |
subscription
|
path | True |
string |
El id. de suscripción que identifica una suscripción de Azure. |
api-version
|
query | True |
string |
La versión de API que se usará para la solicitud. |
Cuerpo de la solicitud
Nombre | Requerido | Tipo | Description |
---|---|---|---|
properties.state | True |
Especifica el estado de la auditoría. Si el estado es Enabled, storageEndpoint o isAzureMonitorTargetEnabled son necesarios. |
|
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 erróneos: 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 el Azure Portal. Los grupos de acciones admitidos para 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 Se trata de grupos que abarcan 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, vea Grupos de acciones de auditoría de nivel de base de datos. 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 La forma 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 Para obtener más información, consulte Acciones de auditoría de nivel de base de datos. |
|
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 "maestra" 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 Api rest de configuración de diagnóstico 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 Api rest de configuración de diagnóstico 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.predicateExpression |
string |
Especifica la condición de dónde se crea una cláusula al crear una auditoría. |
|
properties.queueDelayMs |
integer |
Especifica la cantidad de tiempo, en milisegundos, que puede transcurrir antes de exigir 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 |
Especifica el número de días que se conservará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 el estado es Enabled y storageEndpoint se especifica, no especificar storageAccountAccessKey usará la identidad administrada asignada por el sistema de SQL Server para acceder al almacenamiento. Requisitos previos para usar la autenticación de identidad administrada:
|
|
properties.storageAccountSubscriptionId |
string |
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 |
Se actualizó correctamente la configuración de auditoría extendida. |
|
202 Accepted |
La actualización de la configuración de auditoría extendida está en curso. |
|
Other Status Codes |
Respuestas de error: ***
|
Ejemplos
Update a server's extended blob auditing policy with all parameters |
Update a server's extended blob auditing policy with minimal parameters |
Update a server's extended 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/extendedAuditingSettings/default?api-version=2021-11-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"
],
"predicateExpression": "object_name = 'SensitiveData'",
"isAzureMonitorTargetEnabled": true
}
}
Respuesta de muestra
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default",
"name": "default",
"type": "Microsoft.Sql/servers/extendedAuditingSettings",
"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"
],
"predicateExpression": "object_name = 'SensitiveData'",
"isAzureMonitorTargetEnabled": true
}
}
Update a server's extended 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/extendedAuditingSettings/default?api-version=2021-11-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/extendedAuditingSettings/default",
"name": "default",
"type": "Microsoft.Sql/servers/extendedAuditingSettings",
"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"
],
"isAzureMonitorTargetEnabled": false
}
}
Definiciones
Nombre | Description |
---|---|
blob |
Nombre de la directiva de auditoría de blobs. |
Blob |
Especifica el estado de la auditoría. Si el estado es Enabled, storageEndpoint o isAzureMonitorTargetEnabled son necesarios. |
Extended |
Una directiva de auditoría de blobs de servidor extendido. |
blobAuditingPolicyName
Nombre de la directiva de auditoría de blobs.
Nombre | Tipo | Description |
---|---|---|
default |
string |
BlobAuditingPolicyState
Especifica el estado de la auditoría. Si el estado es Enabled, storageEndpoint o isAzureMonitorTargetEnabled son necesarios.
Nombre | Tipo | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ExtendedServerBlobAuditingPolicy
Una directiva de auditoría de blobs de servidor extendido.
Nombre | Tipo | Description |
---|---|---|
id |
string |
Identificador del 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 erróneos: 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 el Azure Portal. Los grupos de acciones admitidos para 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 Se trata de grupos que abarcan 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, vea Grupos de acciones de auditoría de nivel de base de datos. 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 La forma 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 Para obtener más información, consulte Acciones de auditoría de nivel de base de datos. |
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 "maestra" 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 Api rest de configuración de diagnóstico 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 Api rest de configuración de diagnóstico 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.predicateExpression |
string |
Especifica la condición de dónde se crea una cláusula al crear una auditoría. |
properties.queueDelayMs |
integer |
Especifica la cantidad de tiempo, en milisegundos, que puede transcurrir antes de exigir 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 |
Especifica el número de días que se conservarán en los registros de auditoría de la cuenta de almacenamiento. |
properties.state |
Especifica el estado de la auditoría. Si el estado es Enabled, storageEndpoint o isAzureMonitorTargetEnabled son necesarios. |
|
properties.storageAccountAccessKey |
string |
Especifica la clave de identificador de la cuenta de almacenamiento de auditoría. Si el estado es Enabled y storageEndpoint se especifica, no especificar storageAccountAccessKey usará la identidad administrada asignada por el sistema de SQL Server para acceder al almacenamiento. Requisitos previos para usar la autenticación de identidad administrada:
|
properties.storageAccountSubscriptionId |
string |
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. |