Servizio di controllo di Azure SQL Data WarehouseAuditing in Azure SQL Data Warehouse

Informazioni sul servizio di controllo e su come impostare il controllo in Azure SQL Data Warehouse.Learn about auditing, and how to set up auditing in Azure SQL Data Warehouse.

Che cos'è la funzionalità di controllo?What is auditing?

La funzionalità di controllo di SQL Data Warehouse consente di registrare gli eventi nel database in un log di controllo nell'account di archiviazione di Azure.SQL Data Warehouse auditing allows you to record events in your database to an audit log in your Azure Storage account. Il controllo consente di agevolare la conformità alle normative, comprendere le attività del database e ottenere informazioni su eventuali discrepanze e anomalie che potrebbero indicare problemi aziendali o sospette violazioni della sicurezza.Auditing can help you maintain regulatory compliance, understand database activity, and gain insight into discrepancies and anomalies that could indicate business concerns or suspected security violations. La funzionalità di controllo di SQL Data Warehouse si integra inoltre con Microsoft Power BI per l'esecuzione di analisi e report.SQL Data Warehouse auditing also integrates with Microsoft Power BI for reporting and analysis.

Gli strumenti di controllo abilitano e facilitano il rispetto degli standard di conformità, ma non garantiscono la conformità.Auditing tools enable and facilitate adherence to compliance standards but don't guarantee compliance. Per altre informazioni sui programmi di Azure che supportano la conformità agli standard, vedere il Centro protezione Azure.For more information about Azure programs that support standards compliance, see the Azure Trust Center.

Nozioni di base sul controlloAuditing basics

Il controllo del database SQL Data Warehouse consente di:SQL Data Warehouse database auditing allows you to:

  • Conservare un audit trail di eventi selezionati.Retain an audit trail of selected events. È possibile definire categorie di azioni di database da controllare.You can define categories of database actions to be audited.
  • Creare report sulle attività del database.Report on database activity. È possibile usare i report preconfigurati e un dashboard per iniziare rapidamente a usare l’attività e la segnalazione di eventi.You can use preconfigured reports and a dashboard to get started quickly with activity and event reporting.
  • Analizzare i report.Analyze reports. È possibile individuare eventi sospetti, attività insolite e tendenze.You can find suspicious events, unusual activity, and trends.

È possibile configurare il controllo per le seguenti categorie di eventi:You can configure auditing for the following event categories:

SQL normale e SQL con parametri per cui i log di controllo raccolti sono classificati comePlain SQL and Parameterized SQL for which the collected audit logs are classified as

  • Accesso ai datiAccess to data
  • Modifiche dello schema (DDL)Schema changes (DDL)
  • Modifiche dei dati (DML)Data changes (DML)
  • Account, ruoli e autorizzazioni (DCL)Accounts, roles, and permissions (DCL)
  • Stored procedure, accesso e gestione delle transazioni.Stored Procedure, Login and, Transaction Management.

Per ogni categoria di eventi, il controllo delle operazioni riuscite e non riuscite viene configurato separatamente.For each Event Category, Auditing of Success and Failure operations are configured separately.

Per altre informazioni sulle attività e sugli eventi controllati, vedere il documento di riferimento sul formato dei log di controllo (download di file DOC).For more information about the activities and events audited, see the Audit Log Format Reference (doc file download).

I log di controllo vengono archiviati nell'account di archiviazione di Azure.Audit logs are stored in your Azure storage account. È possibile definire un periodo di conservazione del log di controllo.You can define an audit log retention period.

I criteri di controllo possono essere definiti per un database specifico o come criteri server predefiniti.You can define an auditing policy for a specific database or as a default server policy. I criteri di controllo del server predefiniti si applicano a tutti i database di un server per i quali non sono definiti specifici criteri di controllo del database prioritari.A default server auditing policy applies to all databases on a server that do not have a specific overriding database auditing policy defined.

Prima di impostare il controllo, verificare che si stia usando un client di livello inferiore.Before setting up audit auditing check if you are using a "Downlevel Client."

Configurare il controllo per il databaseSet up auditing for your database

  1. Avviare il portale di Azure.Launch the Azure portal.
  2. Passare a Impostazioni per l'istanza di SQL Data Warehouse che si vuole controllare.Go to Settings for the SQL Data Warehouse you want to audit. Selezionare Controllo e rilevamento minacce.Select Auditing & Threat detection.

  3. Successivamente, abilitare il controllo facendo clic sul pulsante ON .Next, enable auditing by clicking the ON button.

  4. Nel pannello di configurazione del controllo selezionare DETTAGLI ARCHIVIAZIONE per aprire il pannello Archiviazione dei log di controllo.In the auditing configuration panel, select STORAGE DETAILS to open the Audit Logs Storage panel. Selezionare l'account di archiviazione di Azure per i log e il periodo di conservazione.Select the Azure storage account for the logs, and the retention period.

    Suggerimento

    Per sfruttare al massimo i modelli di report preconfigurati, usare lo stesso account di archiviazione per tutti i database controllati.Use the same storage account for all audited databases to get the most out of the pre-configured reports templates.

  5. Fare clic sul pulsante OK per salvare la configurazione dei dettagli di archiviazione .Click the OK button to save the storage details configuration.
  6. In REGISTRAZIONE PER EVENTO fare clic su OPERAZIONE RIUSCITA e OPERAZIONE NON RIUSCITA per registrare tutti gli eventi oppure scegliere singole categorie di eventi.Under LOGGING BY EVENT, click SUCCESS and FAILURE to log all events, or choose individual event categories.
  7. Se si sta configurando il controllo per un database, è necessario modificare la stringa di connessione del client per garantire che il controllo dei dati venga acquisito correttamente.If you are configuring Auditing for a database, you may need to alter the connection string of your client to ensure data auditing is correctly captured. Controllare l’argomento Modificare il nome di dominio di Server completo nella stringa di connessione per le connessioni di client di livello inferiore.Check the Modify Server FDQN in the connection string topic for downlevel client connections.
  8. Fare clic su OK.Click OK.

Analizzare i log di controllo e i reportAnalyze audit logs and reports

I log di controllo vengono aggregati in una raccolta di tabelle di archiviazione con il prefisso SQLDBAuditLogs nell'account di archiviazione di Azure scelto durante l'installazione.Audit logs are aggregated in a collection of Store Tables with a SQLDBAuditLogs prefix in the Azure storage account you chose during setup. È possibile visualizzare i file di log con uno strumento come Esplora archivi di Azure.You can view log files using a tool such as Azure Storage Explorer.

È possibile scaricare un modello di report dashboard preconfigurato in formato foglio di calcolo di Excel, che consente di analizzare rapidamente i dati di log.A preconfigured dashboard report template is available as a downloadable Excel spreadsheet to help you quickly analyze log data. Per usare il modello nei log di controllo sono necessari Excel 2013 o versione successiva e Power Query, disponibile per il download qui.To use the template on your audit logs, you need Excel 2013 or later and Power Query, which you can download here.

Il modello contiene dati di esempio fittizi ed è possibile configurare Power Query per l'importazione diretta del log di controllo dall'account di archiviazione di Azure.The template has fictional sample data in it, and you can set up Power Query to import your audit log directly from your Azure storage account.

Rigenerazione delle chiavi di archiviazioneStorage key regeneration

Durante la produzione è probabile che periodicamente vengano aggiornate le chiavi di archiviazione.In production, you are likely to refresh your storage keys periodically. Quando si aggiornano le chiavi, è necessario salvare i criteri.When refreshing your keys, you need to save the policy. Il processo è il seguente:The process is as follows:

  1. Nel pannello di configurazione del controllo, descritto nella sezione precedente sulla configurazione del controllo, modificare l'impostazione di Chiave di accesso alle risorse di archiviazione da Primaria a Secondaria e fare clic su SALVA.In auditing configuration panel, which is described in the preceding setup auditing section, change the Storage Access Key from Primary to Secondary and SAVE.

  2. Passare al pannello di configurazione dell'archiviazione e rigenerare la chiave di accesso primaria.Go to the storage configuration panel and regenerate the Primary Access Key.
  3. Tornare al pannello configurazione del controllo.Go back to the auditing configuration panel,
  4. Modificare l'impostazione di Chiave di accesso alle risorse di archiviazione da Secondaria a Primaria e fare clic su SALVA.switch the Storage Access Key from Secondary to Primary and press SAVE.
  5. Tornare all'interfaccia utente di archiviazione e rigenerare la Chiave di accesso secondaria (in preparazione al successivo ciclo di aggiornamento delle chiavi).Go back to the storage UI and regenerate the Secondary Access Key (as preparation for the next keys refresh cycle.

Automazione (API REST/PowerShell)Automation (PowerShell/REST API)

È possibile configurare il controllo in Azure SQL Data Warehouse anche con gli strumenti di automazione seguenti:You can also configure auditing in Azure SQL Data Warehouse by using the following automation tools:

Supporto client di livello inferiore per controllo e maschera dati dinamicaDownlevel clients support for auditing and dynamic data masking

Il servizio di controllo funziona con i client SQL che supportano il reindirizzamento TDS.Auditing works with SQL clients that support TDS redirection.

I client che implementano TDS 7.4 supportano in genere anche il reindirizzamento.Any client that implements TDS 7.4 should also support redirection. Rappresentano un'eccezione JDBC 4.0, in cui non è del tutto supportata la funzionalità di reindirizzamento, e Tedious per Node.JS, in cui non è implementato il reindirizzamento.Exceptions to this include JDBC 4.0 in which the redirection feature is not fully supported and Tedious for Node.JS in which redirection was not implemented.

Per i "client di livello inferiore" che supportano TDS versione 7.3 e precedenti, modificare il nome di dominio completo del server nella stringa di connessione, come indicato di seguito:For "Downlevel clients" that support TDS version 7.3 and below, modify the server FQDN in the connection string as follows:

  • Nome di dominio completo del server originale nella stringa di connessione: <server name>.database.windows.netOriginal server FQDN in the connection string: <server name>.database.windows.net
  • Nome di dominio completo del server modificato nella stringa di connessione: <server name>.database.secure.windows.netModified server FQDN in the connection string: <server name>.database.secure.windows.net

Un elenco parziale di "client di livello inferiore" include:A partial list of "Downlevel clients" includes:

  • .NET 4.0 e versioni precedenti,.NET 4.0 and below,
  • ODBC 10.0 e versioni precedenti.ODBC 10.0 and below.
  • JDBC (mentre JDBC supporta TDS 7.4, la funzionalità di reindirizzamento TDS non è del tutto supportata)JDBC (while JDBC does support TDS 7.4, the TDS redirection feature is not fully supported)
  • Tedious (per Node.JS)Tedious (for Node.JS)

Nota: la precedente modifica del nome di dominio completo del server può risultare utile per applicare criteri di controllo a livello di SQL Server senza dover eseguire una procedura di configurazione in ogni database (attenuazione temporanea).Remark: The preceding server FDQN modification may be useful also for applying a SQL Server Level Auditing policy without a need for a configuration step in each database (Temporary mitigation).