ExtendedServerBlobAuditingPolicy interface
Criteri di controllo BLOB del server estesi.
- Extends
Proprietà
audit |
Specifica il 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 sul database, nonché gli accessi 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 dal 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 Si tratta di gruppi che coprono tutte le istruzioni SQL e le stored procedure eseguite sul database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporterà la duplicazione dei log di controllo. Per altre informazioni, vedere Database-Level Controlla gruppi di azioni. Per i criteri di controllo del database, è anche possibile specificare azioni specifiche. Si noti che non è possibile specificare azioni per i criteri di controllo del server. Le azioni supportate da controllare sono: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Il modulo 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 oppure 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 Database-Level Azioni di controllo |
is |
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 la categoria dei log di diagnostica "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 delle impostazioni di diagnostica o Impostazioni di diagnostica di PowerShell |
is |
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 dei 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 delle impostazioni di diagnostica o Impostazioni di diagnostica di PowerShell |
is |
Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB |
is |
Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione. |
predicate |
Specifica la condizione della clausola where durante la creazione di un controllo. |
queue |
Specifica la quantità di tempo in millisecondi che può trascorrere prima dell'elaborazione delle azioni di controllo. Il valore minimo predefinito è 1000 (1 secondo). Il valore massimo è 2.147.483.647. |
retention |
Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione. |
state | Specifica lo stato del controllo. Se lo stato è Abilitato, sono necessari storageEndpoint o isAzureMonitorTargetEnabled. |
storage |
Specifica la chiave di identificatore dell'account di archiviazione di controllo. Se lo stato è Abilitato e viene specificato storageEndpoint, non specificando storageAccountAccessKey verrà usata l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione. Prerequisiti per l'uso dell'autenticazione dell'identità gestita:
|
storage |
Specifica l'ID sottoscrizione dell'archiviazione BLOB. |
storage |
Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. |
Proprietà ereditate
id | ID risorsa. NOTA: questa proprietà non verrà serializzata. Può essere popolato solo dal server. |
name | Nome risorsa. NOTA: questa proprietà non verrà serializzata. Può essere popolato solo dal server. |
type | Tipo di risorsa. NOTA: questa proprietà non verrà serializzata. Può essere popolato solo dal server. |
Dettagli proprietà
auditActionsAndGroups
Specifica il 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 sul database, nonché gli accessi 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 dal 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
Si tratta di gruppi che coprono tutte le istruzioni SQL e le stored procedure eseguite sul database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporterà la duplicazione dei log di controllo.
Per altre informazioni, vedere Database-Level Controlla gruppi di azioni.
Per i criteri di controllo del database, è anche possibile specificare azioni specifiche. Si noti che non è possibile specificare azioni per i criteri di controllo del server. Le azioni supportate da controllare sono: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES
Il modulo 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 oppure 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 Database-Level Azioni di controllo
auditActionsAndGroups?: string[]
Valore della proprietà
string[]
isAzureMonitorTargetEnabled
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 la categoria dei log di diagnostica "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 delle impostazioni di diagnostica o Impostazioni di diagnostica di PowerShell
isAzureMonitorTargetEnabled?: boolean
Valore della proprietà
boolean
isDevopsAuditEnabled
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 dei 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 delle impostazioni di diagnostica o Impostazioni di diagnostica di PowerShell
isDevopsAuditEnabled?: boolean
Valore della proprietà
boolean
isManagedIdentityInUse
Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB
isManagedIdentityInUse?: boolean
Valore della proprietà
boolean
isStorageSecondaryKeyInUse
Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione.
isStorageSecondaryKeyInUse?: boolean
Valore della proprietà
boolean
predicateExpression
Specifica la condizione della clausola where durante la creazione di un controllo.
predicateExpression?: string
Valore della proprietà
string
queueDelayMs
Specifica la quantità di tempo in millisecondi che può trascorrere prima dell'elaborazione delle azioni di controllo. Il valore minimo predefinito è 1000 (1 secondo). Il valore massimo è 2.147.483.647.
queueDelayMs?: number
Valore della proprietà
number
retentionDays
Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione.
retentionDays?: number
Valore della proprietà
number
state
Specifica lo stato del controllo. Se lo stato è Abilitato, sono necessari storageEndpoint o isAzureMonitorTargetEnabled.
state?: BlobAuditingPolicyState
Valore della proprietà
storageAccountAccessKey
Specifica la chiave di identificatore dell'account di archiviazione di controllo. Se lo stato è Abilitato e viene specificato storageEndpoint, non specificando storageAccountAccessKey verrà usata l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione. Prerequisiti per l'uso dell'autenticazione dell'identità gestita:
- Assegnare a SQL Server un'identità gestita assegnata dal sistema in Azure Active Directory (AAD).
- Concedere all'identità di SQL Server l'accesso all'account di archiviazione aggiungendo il ruolo controllo degli accessi in base al ruolo "Collaboratore ai dati dei BLOB di archiviazione" all'identità del server. Per altre informazioni, vedere Auditing to storage using Managed Identity Authentication
storageAccountAccessKey?: string
Valore della proprietà
string
storageAccountSubscriptionId
Specifica l'ID sottoscrizione dell'archiviazione BLOB.
storageAccountSubscriptionId?: string
Valore della proprietà
string
storageEndpoint
Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled.
storageEndpoint?: string
Valore della proprietà
string
Dettagli proprietà ereditate
id
ID risorsa. NOTA: questa proprietà non verrà serializzata. Può essere popolato solo dal server.
id?: string
Valore della proprietà
string
ereditato daProxyResource.id
name
Nome risorsa. NOTA: questa proprietà non verrà serializzata. Può essere popolato solo dal server.
name?: string
Valore della proprietà
string
ereditato daProxyResource.name
type
Tipo di risorsa. NOTA: questa proprietà non verrà serializzata. Può essere popolato solo dal server.
type?: string
Valore della proprietà
string
Ereditato daProxyResource.type