Extended Server Blob Auditing Policies - Create Or Update
Crea o aggiorna i criteri di controllo BLOB di un server esteso.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/default?api-version=2021-11-01
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
blob
|
path | True |
Nome del criterio di controllo BLOB. |
|
resource
|
path | True |
string |
Nome del gruppo di risorse contenente la risorsa. È possibile ottenere questo valore dall'API di Gestione risorse di Azure o dal portale. |
server
|
path | True |
string |
Nome del server. |
subscription
|
path | True |
string |
ID sottoscrizione che identifica una sottoscrizione di Azure. |
api-version
|
query | True |
string |
Versione dell'API da usare per la richiesta. |
Corpo della richiesta
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
properties.state | True |
Specifica lo stato del controllo. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. |
|
properties.auditActionsAndGroups |
string[] |
Specifica la Actions-Groups e le azioni da controllare. Il set consigliato di gruppi di azioni da usare è la combinazione seguente: in questo modo verranno controllate tutte le query e le stored procedure eseguite nel database, nonché gli account di accesso riusciti e non riusciti: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Questa combinazione precedente è anche il set configurato per impostazione predefinita quando si abilita il controllo dalla portale di Azure. I gruppi di azioni supportati da controllare sono (nota: scegliere solo gruppi specifici che coprono le esigenze di controllo. L'uso di gruppi non necessari potrebbe causare grandi quantità di record di controllo: 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 Questi sono gruppi che coprono tutte le istruzioni sql e le stored procedure eseguite nel database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporta i log di controllo duplicati. Per altre informazioni, vedere Gruppi di azioni di controllo a livello di database. Per i criteri di controllo del database, è anche possibile specificare azioni specifiche (si noti che non è possibile specificare Azioni per i criteri di controllo server). Le azioni supportate da controllare sono: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES La forma generale per la definizione di un'azione da controllare è: {action} ON {object} BY {principal} Si noti che nel formato precedente può fare riferimento a un oggetto come una tabella, una vista o una stored procedure o un intero database o uno schema. Per questi ultimi casi, vengono usati rispettivamente i moduli DATABASE::{db_name} e SCHEMA::{schema_name} . Ad esempio: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Per altre informazioni, vedere Azioni di controllo a livello di database |
|
properties.isAzureMonitorTargetEnabled |
boolean |
Specifica se gli eventi di controllo vengono inviati a Monitoraggio di Azure. Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled' e 'IsAzureMonitorTargetEnabled' come true. Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con 'SQLSecurityAuditEvents' nel database. Si noti che per il controllo a livello di server è consigliabile usare il database 'master' come {databaseName}. Formato URI impostazioni di diagnostica: 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 Per altre informazioni, vedere API REST impostazioni di diagnostica o Impostazioni di diagnostica PowerShell |
|
properties.isDevopsAuditEnabled |
boolean |
Specifica lo stato del controllo devops. Se lo stato è Abilitato, i log devops verranno inviati a Monitoraggio di Azure. Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled', 'IsAzureMonitorTargetEnabled' come true e 'IsDevopsAuditEnabled' come true Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con la categoria di log di diagnostica "DevOpsOperationsAudit" nel database master. Formato URI impostazioni di diagnostica: 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 Per altre informazioni, vedere API REST impostazioni di diagnostica o Impostazioni di diagnostica PowerShell |
|
properties.isManagedIdentityInUse |
boolean |
Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB |
|
properties.isStorageSecondaryKeyInUse |
boolean |
Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione. |
|
properties.predicateExpression |
string |
Specifica la condizione della clausola where durante la creazione di un controllo. |
|
properties.queueDelayMs |
integer |
Indica la quantità di tempo in millisecondi che può trascorrere prima che venga forzata l'elaborazione delle azioni di controllo. Il valore minimo predefinito è 1000 (1 secondo), Il massimo è 2.147.483.647. |
|
properties.retentionDays |
integer |
Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione. |
|
properties.storageAccountAccessKey |
string |
Specifica la chiave identificatore dell'account di archiviazione di controllo. Se lo stato è Abilitato e storageEndpoint viene specificato, non specificando storageAccountAccessKey userà l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione. Prerequisiti per l'uso dell'autenticazione di identità gestita:
|
|
properties.storageAccountSubscriptionId |
string |
Specifica l'ID sottoscrizione dell'archiviazione BLOB. |
|
properties.storageEndpoint |
string |
Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
È stato aggiornato correttamente le impostazioni di controllo estese. |
|
202 Accepted |
L'aggiornamento delle impostazioni di controllo estese è in corso. |
|
Other Status Codes |
Risposte agli errori: **
|
Esempio
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
Esempio di richiesta
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
}
}
Risposta di esempio
{
"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
Esempio di richiesta
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"
}
}
Risposta di esempio
{
"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
}
}
Definizioni
Nome | Descrizione |
---|---|
blob |
Nome del criterio di controllo BLOB. |
Blob |
Specifica lo stato del controllo. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. |
Extended |
Criteri di controllo del BLOB del server estesi. |
blobAuditingPolicyName
Nome del criterio di controllo BLOB.
Nome | Tipo | Descrizione |
---|---|---|
default |
string |
BlobAuditingPolicyState
Specifica lo stato del controllo. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled.
Nome | Tipo | Descrizione |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ExtendedServerBlobAuditingPolicy
Criteri di controllo del BLOB del server estesi.
Nome | Tipo | Descrizione |
---|---|---|
id |
string |
ID risorsa. |
name |
string |
Nome risorsa. |
properties.auditActionsAndGroups |
string[] |
Specifica la Actions-Groups e le azioni da controllare. Il set consigliato di gruppi di azioni da usare è la combinazione seguente: in questo modo verranno controllate tutte le query e le stored procedure eseguite nel database, nonché gli account di accesso riusciti e non riusciti: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Questa combinazione precedente è anche il set configurato per impostazione predefinita quando si abilita il controllo dalla portale di Azure. I gruppi di azioni supportati da controllare sono (nota: scegliere solo gruppi specifici che coprono le esigenze di controllo. L'uso di gruppi non necessari potrebbe causare grandi quantità di record di controllo: 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 Questi sono gruppi che coprono tutte le istruzioni sql e le stored procedure eseguite nel database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporta i log di controllo duplicati. Per altre informazioni, vedere Gruppi di azioni di controllo a livello di database. Per i criteri di controllo del database, è anche possibile specificare azioni specifiche (si noti che non è possibile specificare Azioni per i criteri di controllo server). Le azioni supportate da controllare sono: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES La forma generale per la definizione di un'azione da controllare è: {action} ON {object} BY {principal} Si noti che nel formato precedente può fare riferimento a un oggetto come una tabella, una vista o una stored procedure o un intero database o uno schema. Per questi ultimi casi, vengono usati rispettivamente i moduli DATABASE::{db_name} e SCHEMA::{schema_name} . Ad esempio: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Per altre informazioni, vedere Azioni di controllo a livello di database |
properties.isAzureMonitorTargetEnabled |
boolean |
Specifica se gli eventi di controllo vengono inviati a Monitoraggio di Azure. Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled' e 'IsAzureMonitorTargetEnabled' come true. Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con 'SQLSecurityAuditEvents' nel database. Si noti che per il controllo a livello di server è consigliabile usare il database 'master' come {databaseName}. Formato URI impostazioni di diagnostica: 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 Per altre informazioni, vedere API REST impostazioni di diagnostica o Impostazioni di diagnostica PowerShell |
properties.isDevopsAuditEnabled |
boolean |
Specifica lo stato del controllo devops. Se lo stato è Abilitato, i log devops verranno inviati a Monitoraggio di Azure. Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled', 'IsAzureMonitorTargetEnabled' come true e 'IsDevopsAuditEnabled' come true Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con la categoria di log di diagnostica "DevOpsOperationsAudit" nel database master. Formato URI impostazioni di diagnostica: 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 Per altre informazioni, vedere API REST impostazioni di diagnostica o Impostazioni di diagnostica PowerShell |
properties.isManagedIdentityInUse |
boolean |
Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB |
properties.isStorageSecondaryKeyInUse |
boolean |
Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione. |
properties.predicateExpression |
string |
Specifica la condizione della clausola where durante la creazione di un controllo. |
properties.queueDelayMs |
integer |
Indica la quantità di tempo in millisecondi che può trascorrere prima che venga forzata l'elaborazione delle azioni di controllo. Il valore minimo predefinito è 1000 (1 secondo), Il massimo è 2.147.483.647. |
properties.retentionDays |
integer |
Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione. |
properties.state |
Specifica lo stato del controllo. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. |
|
properties.storageAccountAccessKey |
string |
Specifica la chiave identificatore dell'account di archiviazione di controllo. Se lo stato è Abilitato e storageEndpoint viene specificato, non specificando storageAccountAccessKey userà l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione. Prerequisiti per l'uso dell'autenticazione di identità gestita:
|
properties.storageAccountSubscriptionId |
string |
Specifica l'ID sottoscrizione dell'archiviazione BLOB. |
properties.storageEndpoint |
string |
Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. |
type |
string |
Tipo di risorsa. |