Set-AzSqlDatabaseAudit

Modifica le impostazioni di controllo per un database SQL di Azure.

Sintassi

Set-AzSqlDatabaseAudit
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   [-PredicateExpression <String>]
   [-BlobStorageTargetState <String>]
   [-StorageAccountResourceId <String>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-EventHubTargetState <String>]
   [-EventHubName <String>]
   [-EventHubAuthorizationRuleResourceId <String>]
   [-LogAnalyticsTargetState <String>]
   [-WorkspaceResourceId <String>]
   [-PassThru]
   [-UseIdentity <String>]
   [-ResourceGroupName] <String>
   [-ServerName] <String>
   [-DatabaseName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzSqlDatabaseAudit
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   [-PredicateExpression <String>]
   [-BlobStorageTargetState <String>]
   [-StorageAccountResourceId <String>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-EventHubTargetState <String>]
   [-EventHubName <String>]
   [-EventHubAuthorizationRuleResourceId <String>]
   [-LogAnalyticsTargetState <String>]
   [-WorkspaceResourceId <String>]
   [-PassThru]
   [-UseIdentity <String>]
   -DatabaseObject <AzureSqlDatabaseModel>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il cmdlet Set-AzSqlDatabaseAudit modifica le impostazioni di controllo di un database SQL di Azure. Per usare il cmdlet, usare i parametri ResourceGroupName, ServerName e DatabaseName per identificare il database. Quando l'archiviazione BLOB è una destinazione per i log di controllo, specificare il parametro Archiviazione AccountResourceId per determinare l'account di archiviazione per i log di controllo e il parametro Archiviazione KeyType per definire le chiavi di archiviazione. È anche possibile definire la conservazione per i log di controllo impostando il valore del parametro RetentionInDays per definire il periodo per i log di controllo.

Esempio

Esempio 1: Abilitare i criteri di controllo dell'archiviazione BLOB di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled  -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"

Esempio 2: Disabilitare i criteri di controllo dell'archiviazione BLOB di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Disabled

Esempio 3: Abilitare i criteri di controllo dell'archiviazione BLOB di un database SQL di Azure con il filtro usando un predicato T-SQL

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -PredicateExpression "schema_name <> 'sys''" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"

Esempio 4: Rimuovere il filtro dai criteri di controllo di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -PredicateExpression ""

Esempio 5: Abilitare i criteri di controllo dell'hub eventi di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventHubTargetState Enabled -EventHubName "EventHubName" -EventHubAuthorizationRuleResourceId "EventHubAuthorizationRuleResourceId"

Esempio 6: Disabilitare i criteri di controllo dell'hub eventi di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventHubTargetState Disabled

Esempio 7: Abilitare i criteri di controllo di Log Analytics di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Enabled -WorkspaceResourceId "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"

Esempio 8: Disabilitare i criteri di controllo di Log Analytics di un database SQL di Azure

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Disabled

Esempio 9: Disabilitare, tramite pipeline, i criteri di controllo di Log Analytics di un database SQL di Azure

Get-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" | Set-AzSqlDatabaseAudit -LogAnalyticsTargetState Disabled

Esempio 10: Disabilitare l'invio di record di controllo di un database SQL di Azure all'archivio BLOB e abilitare l'invio a Log Analytics.

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Enabled  -WorkspaceResourceId "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" -BlobStorageTargetState Disabled

Esempio 11: Abilitare l'invio di record di controllo di un database SQL di Azure all'archivio BLOB, all'hub eventi e all'analisi dei log.

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage" -EventHubTargetState Enabled -EventHubName "EventHubName" -EventHubAuthorizationRuleResourceId "EventHubAuthorizationRuleResourceId" -LogAnalyticsTargetState Enabled  -WorkspaceResourceId "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"

Parametri

-AuditAction

Set di azioni di controllo.
Le azioni supportate da controllare sono:
SELECT
UPDATE
INSERT
DELETE
EXECUTE
AREARICEV
REFERENCES
Il formato generale per la definizione di un'azione da controllare è: [action] ON [object] BY [principal] Si noti che [oggetto] 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 DATABA edizione Standard::[dbname] e SCHEMA::[schemaname]. Ad esempio:
edizione Standard LECT in dbo.myTable per public
edizione Standard LECT in DATABA edizione Standard::myDatabase per pubblico
edizione Standard LECT in SCHEMA::mySchema per pubblico
Per ulteriori informazioni, vedere https://learn.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AuditActionGroup

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_DATABA edizione Standard_AUTHENTICATION_GROUP",
"FAILED_DATABA edizione Standard_AUTHENTICATION_GROUP"
Questa combinazione precedente è anche il set configurato per impostazione predefinita. Questi gruppi riguardano tutte le istruzioni SQL e le stored procedure eseguite sul database e non devono essere usate in combinazione con altri gruppi, in quanto ciò comporterà la duplicazione dei log di controllo. Per ulteriori informazioni, vedere https://learn.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups.

Type:AuditActionGroups[]
Accepted values:BATCH_STARTED_GROUP, BATCH_COMPLETED_GROUP, 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, LEDGER_OPERATION_GROUP, DBCC_GROUP, DATABASE_OWNERSHIP_CHANGE_GROUP, DATABASE_CHANGE_GROUP
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BlobStorageTargetState

Indica se l'archiviazione BLOB è una destinazione per i record di controllo.

Type:String
Accepted values:Enabled, Disabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseName

database SQL nome.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseObject

Oggetto di database per gestire i criteri di controllo.

Type:AzureSqlDatabaseModel
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

Le credenziali, l’account, il tenant e la sottoscrizione usati per comunicare con Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EventHubAuthorizationRuleResourceId

ID risorsa per la regola di autorizzazione dell'hub eventi

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EventHubName

Nome di Hub eventi. Se nessuno viene specificato quando si specifica EventHubAuthorizationRuleResourceId, verrà selezionato l'hub eventi predefinito.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EventHubTargetState

Indica se l'hub eventi è una destinazione per i record di controllo.

Type:String
Accepted values:Enabled, Disabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogAnalyticsTargetState

Indica se Log Analytics è una destinazione per i record di controllo.

Type:String
Accepted values:Enabled, Disabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Specifica se restituire i criteri di controllo alla fine dell'esecuzione del cmdlet

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PredicateExpression

Predicato T-SQL (clausola WHERE) usato per filtrare i log di controllo.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Nome del gruppo di risorse.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RetentionInDays

Numero di giorni di conservazione per i log di controllo.

Type:Nullable<T>[UInt32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerName

Nome del server SQL.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-StorageAccountResourceId

ID risorsa dell'account di archiviazione

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StorageKeyType

Specifica quale delle chiavi di accesso alle risorse di archiviazione da usare.

Type:String
Accepted values:Primary, Secondary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseIdentity

Indica se usare o meno l'identità gestita. È necessario quando si vuole usare l'identità gestita mentre l'archiviazione di destinazione non è protetta dal firewall.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WorkspaceResourceId

ID area di lavoro (ID risorsa di un'area di lavoro Log Analytics) per un'area di lavoro Log Analytics a cui inviare i log di controllo. Esempio: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String

AzureSqlDatabaseModel

AuditActionGroups[]

String[]

Guid

Nullable<T>[[System.UInt32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

DatabaseAuditModel

Output

Boolean