Usare le identità gestite per accedere a database SQL di Azure o Azure Synapse Analytics da un processo di Analisi di flusso di Azure

Analisi di flusso di Azure supporta l'autenticazione dell'identità gestita per database SQL di Azure e sink di output di Azure Synapse Analytics. Le identità gestite eliminano le limitazioni associate ai metodi di autenticazione basata sull'utente, ad esempio la necessità di ripetere l'autenticazione a causa di modifiche della password o di scadenze dei token utente ogni 90 giorni. Quando si elimina la necessità di eseguire l'autenticazione manualmente, le distribuzioni di Analisi di flusso possono essere completamente automatizzate.

Un'identità gestita è un'applicazione gestita registrata in Microsoft Entra ID che rappresenta un determinato processo di Analisi di flusso. L'applicazione gestita viene usata per l'autenticazione in una risorsa di destinazione. Questo articolo illustra come abilitare l'identità gestita per un database SQL di Azure o un output di Azure Synapse Analytics di un processo di Analisi di flusso tramite il portale di Azure.

Panoramica

Questo articolo illustra i passaggi necessari per connettere il processo di Analisi di flusso al pool SQL di Database SQL di Azure o Azure Synapse Analytics usando la modalità di autenticazione dell'identità gestita.

  • Creare prima di tutto un'identità gestita assegnata dal sistema per il processo di Analisi di flusso. Questa è l'identità del processo in Microsoft Entra ID.

  • Aggiungere un amministratore di Active Directory all'area di lavoro di SQL Server o Synapse, che abilita l'autenticazione di Microsoft Entra ID (identità gestita) per tale risorsa.

  • Creare quindi un utente indipendente che rappresenta l'identità del processo di Analisi di flusso nel database. Ogni volta che il processo di Analisi di flusso interagisce con la risorsa del database SQL o del database SQL di Synapse, si tratta dell'identità a cui fa riferimento per verificare le autorizzazioni del processo di Analisi di flusso.

  • Concedere le autorizzazioni al processo di Analisi di flusso per accedere ai pool database SQL o Synapse SQL.

  • Aggiungere infine il database SQL di Azure/Azure Synapse Analytics come output nel processo di Analisi di flusso.

Prerequisiti

Per usare questa funzionalità, è necessario quanto segue:

  • Un processo di Analisi di flusso di Azure.

  • Una risorsa del database SQL di Azure.

Creare un'identità gestita

Per prima cosa, si crea un'identità gestita per il processo di Analisi di flusso di Azure.

  1. Nel portale di Azure aprire il processo di Analisi di flusso di Azure.

  2. Nel menu di spostamento a sinistra selezionare Identità gestita in Configura. Selezionare quindi la casella accanto a Usa identità gestita assegnata dal sistema e selezionare Salva.

    Select system-assigned managed identity

    Viene creata un'entità servizio per l'identità del processo di Analisi di flusso in Microsoft Entra ID. Il ciclo di vita dell'identità creata viene gestito da Azure. Quando si elimina il processo di Analisi di flusso, l'identità associata (ovvero, l'entità servizio) viene eliminata automaticamente da Azure.

  3. È anche possibile passare alle identità gestite assegnate dall'utente.

  4. Quando si salva la configurazione, l'ID oggetto (OID) dell'entità servizio viene indicato come ID entità, come illustrato di seguito:

    Object ID shown as Principal ID

    L'entità servizio ha lo stesso nome del processo di Analisi di flusso. Ad esempio, se il nome del processo è MyASAJob, anche il nome dell'entità servizio è MyASAJob.

Selezionare un amministratore di Active Directory

Dopo aver creato un'identità gestita, è necessario selezionare un amministratore di Active Directory.

  1. Passare alla risorsa pool SQL di Database SQL di Azure o Azure Synapse Analytics e selezionare rispettivamente l'area di lavoro SQL Server o Synapse in cui si trova la risorsa. È possibile trovare il collegamento a questi nella pagina di panoramica della risorsa accanto a Nome server o Nome area di lavoro.

  2. Selezionare Active Directory Amministrazione o SQL Active Directory Amministrazione rispettivamente in Impostazioni per SQL Server e Area di lavoro Synapse. Selezionare quindi Imposta amministratore.

    Active Directory admin page

  3. Nella pagina Amministratore di Active Directory cercare un utente o un gruppo da impostare come amministratore per SQL Server e fare clic su Seleziona. Sarà l'utente che potrà creare l'utente del database indipendente nella sezione successiva.

    Add Active Directory admin

    La pagina Amministratore di Active Directory mostra tutti i membri e i gruppi di Active Directory. Gli utenti o i gruppi disattivati non possono essere selezionati perché non sono supportati come amministratori di Microsoft Entra. Vedere l'elenco degli amministratori supportati nella sezione Funzionalità e limitazioni di Microsoft Entra di Usare l'autenticazione di Microsoft Entra per l'autenticazione con database SQL o Azure Synapse.

  4. Selezionare Salva nella pagina Amministratore di Active Directory. Il processo per la modifica dell'amministratore può durare alcuni minuti.

Creazione di un utente di database indipendente

Successivamente, si crea un utente di database indipendente nel database SQL di Azure o azure Synapse mappato all'identità di Microsoft Entra. L'utente del database indipendente non dispone di un account di accesso per il database primario, ma esegue il mapping a un'identità nella directory associata al database. L'identità di Microsoft Entra può essere un singolo account utente o un gruppo. In questo caso, si vuole creare un utente di un database indipendente per il processo di Analisi di flusso.

Per altre informazioni, vedere l'articolo seguente per informazioni generali sull'integrazione di Microsoft Entra: Autenticazione universale con database SQL e Azure Synapse Analytics (supporto SSMS per MFA)

  1. Connessione al database SQL di Azure o Azure Synapse usando SQL Server Management Studio. Il nome utente è un utente di Microsoft Entra con l'autorizzazione ALTER ANY U edizione Standard R. L'amministratore impostato in SQL Server è un esempio. Usare Microsoft Entra ID - Universal con l'autenticazione MFA .

    Connect to SQL Server

    Il nome del server <SQL Server name>.database.windows.net può essere differente nelle diverse aree. Ad esempio, l'area Cina deve usare <SQL Server name>.database.chinacloudapi.cn.

    È possibile specificare un database SQL di Azure o Azure Synapse specifico passando a Opzioni > Connessione Proprietà > Connessione al database.

    SQL Server connection properties

  2. Quando ci si connette per la prima volta, è possibile che venga visualizzata la finestra seguente:

    New firewall rule window

    1. In questo caso, passare alla risorsa dell'area di lavoro di SQL Server/Synapse nel portale di Azure. Nella sezione Sicurezza aprire la pagina Firewall e rete virtuale/Firewall.
    2. Aggiungere una nuova regola con un nome qualsiasi.
    3. Usare l'indirizzo IP Da della finestra Nuova regola del firewall per IP iniziale.
    4. Usare l'indirizzo IP A della finestra Nuova regola del firewall per IP finale.
    5. Selezionare Salva e provare di nuovo a connettersi da SQL Server Management Studio.
  3. Dopo aver stabilito la connessione, creare l'utente del database indipendente. Il comando SQL seguente crea un utente del database indipendente con lo stesso nome del processo di Analisi di flusso. Assicurarsi di includere le parentesi quadre intorno ad ASA_JOB_NAME. Usare la sintassi T-SQL seguente ed eseguire la query.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    Per verificare se l'utente del database indipendente è stato aggiunto correttamente, eseguire il comando seguente in SSMS nel database relativo e verificare se il ASA_JOB_NAME si trova nella colonna "name".

    SELECT * FROM <SQL_DB_NAME>.sys.database_principals
    WHERE type_desc = 'EXTERNAL_USER'
    
  4. Per consentire a Microsoft Entra ID di verificare se il processo di Analisi di flusso ha accesso al database SQL, è necessario concedere a Microsoft Entra l'autorizzazione per comunicare con il database. A tale scopo, passare alla pagina "Firewall e rete virtuale"/"Firewall" di nuovo in portale di Azure e abilitare "Consenti a servizi e risorse di Azure di accedere a questo server/area di lavoro".

    Firewall and virtual network

Concedere autorizzazioni al processo di Analisi di flusso

Dopo aver creato un utente del database indipendente e aver concesso l'accesso ai servizi di Azure nel portale come descritto nella sezione precedente, il processo di Analisi di flusso ha l'autorizzazione da Identità gestita a CONNECT alla risorsa del database SQL di Azure tramite identità gestita. È consigliabile concedere le autorizzazioni edizione Standard LECT e IN edizione Standard RT al processo di Analisi di flusso, perché saranno necessarie in un secondo momento nel flusso di lavoro di Analisi di flusso. L'autorizzazione edizione Standard LECT consente al processo di testare la connessione alla tabella nel database SQL di Azure. L'autorizzazione IN edizione Standard RT consente di testare le query di Analisi di flusso end-to-end dopo aver configurato un input e l'output del database SQL di Azure.

È possibile concedere queste autorizzazioni al processo di Analisi di flusso usando SQL Server Management Studio. Per altre informazioni, vedere la guida di riferimento a GRANT (Transact-SQL).

Per concedere solo l'autorizzazione a una determinata tabella od oggetto nel database, utilizzare la sintassi T-SQL seguente ed eseguire la query.

GRANT CONNECT TO ASA_JOB_NAME;
GRANT SELECT, INSERT ON OBJECT::TABLE_NAME TO ASA_JOB_NAME;

In alternativa, è possibile fare clic con il pulsante destro del mouse sul database SQL di Azure o Azure Synapse in SQL Server Management Studio e scegliere Proprietà > Autorizzazioni. Dal menu Autorizzazioni è possibile visualizzare il processo di Analisi di flusso aggiunto in precedenza e concedere o negare manualmente le autorizzazioni in base alle esigenze.

Per esaminare tutte le autorizzazioni aggiunte all'utente ASA_JOB_NAME , eseguire il comando seguente in SSMS nel database relativo:

SELECT dbprin.name, dbprin.type_desc, dbperm.permission_name, dbperm.state_desc, dbperm.class_desc, object_name(dbperm.major_id)
FROM sys.database_principals dbprin
LEFT JOIN sys.database_permissions dbperm
ON dbperm.grantee_principal_id = dbprin.principal_id
WHERE dbprin.name = '<ASA_JOB_NAME>'

Creare un output di database SQL di Azure o Azure Synapse

Nota

Quando si usa Istanza gestita di SQL (MI) come input di riferimento, è necessario configurare un endpoint pubblico nel Istanza gestita di SQL. È necessario specificare il nome di dominio completo con la porta durante la configurazione della proprietà del database . Ad esempio: sampleserver.public.database.windows.net,3342.

Ora che l'identità gestita è configurata, è possibile aggiungere un database SQL di Azure o un output di Azure Synapse al processo di Analisi di flusso.

Assicurarsi di aver creato una tabella nel database SQL con lo schema di output appropriato. Il nome di questa tabella è una delle proprietà obbligatorie da compilare quando si aggiunge l'output del database SQL al processo di Analisi di flusso. Assicurarsi anche che il processo abbia le autorizzazioni SELECT e INSERT per testare la connessione ed eseguire query di Analisi di flusso. Vedere la sezione Concedere autorizzazioni al processo di Analisi di flusso se non è già stato fatto.

  1. Tornare al processo di Analisi di flusso e passare alla pagina Output in Topologia processo.

  2. Selezionare Aggiungi > database SQL. Nella finestra delle proprietà di output del sink di output del database SQL selezionare Identità gestita dall'elenco a discesa Modalità di autenticazione.

  3. Compilare le proprietà rimanenti. Per altre informazioni sulla creazione di un output del database SQL, vedere Creare un output del database SQL con Analisi di flusso. Al termine, selezionare Salva.

  4. Dopo aver fatto clic su Salva, verrà attivato automaticamente un test di connessione alla risorsa. Al termine dell'operazione, il processo di Analisi di flusso è stato configurato correttamente per la connessione database SQL di Azure o Synapse database SQL usando la modalità di autenticazione dell'identità gestita.

Passaggi aggiuntivi per i dati di riferimento SQL

Analisi di flusso di Azure richiede di configurare l'account di archiviazione del processo quando si usano i dati di riferimento SQL. Questo account di archiviazione viene usato per archiviare il contenuto correlato al processo di Analisi di flusso, ad esempio gli snapshot dei dati di riferimento SQL.

Per configurare un account di archiviazione associato, seguire questa procedura:

  1. Nella pagina processo di Analisi di flusso selezionare Archiviazione impostazioni dell'account in Configura nel menu a sinistra.

  2. Nella pagina Archiviazione impostazioni dell'account selezionare Aggiungi account di archiviazione.

  3. Seguire le istruzioni per configurare le impostazioni dell'account di archiviazione.

    Screenshot of the Storage account settings page of a Stream Analytics job.

Importante

  • Per eseguire l'autenticazione con stringa di connessione, è necessario disabilitare le impostazioni del firewall dell'account di archiviazione.
  • Per eseguire l'autenticazione con l'identità gestita, è necessario aggiungere il processo di Analisi di flusso all'elenco di controllo di accesso dell'account di archiviazione per Archiviazione ruolo Collaboratore dati BLOB e Archiviazione ruolo Collaboratore dati tabella. Se non si concede l'accesso al processo, il processo non sarà in grado di eseguire alcuna operazione. Per altre informazioni su come concedere l'accesso, vedere Usare il controllo degli accessi in base al ruolo di Azure per assegnare un accesso a un'identità gestita a un'altra risorsa.

Passaggi aggiuntivi con identità gestita assegnata dall'utente

Ripetere i passaggi se è stata selezionata l'identità gestita assegnata dall'utente per connettere ASA a Synapse:

  1. Creare un utente di database indipendente. Sostituire ASA_Job_Name con identità gestita assegnata dall'utente. Vedi l'esempio seguente.
    CREATE USER [User-Assigned Managed Identit] FROM EXTERNAL PROVIDER;
    
  2. Concedere le autorizzazioni all'identità gestita assegnata dall'utente. Sostituire ASA_Job_Name con identità gestita assegnata dall'utente.

Per altre informazioni, vedere le sezioni precedenti.

Rimuovere l'identità gestita

L'identità gestita creata per un processo di Analisi di flusso viene eliminata solo quando il processo viene eliminato. Non è possibile eliminare l'identità gestita senza eliminare il processo. Se non si vuole più usare l'identità gestita, è possibile modificare il metodo di autenticazione per l'output. L'identità gestita continuerà a esistere fino all'eliminazione del processo e verrà usata se si decide di usare nuovamente l'autenticazione dell'identità gestita.

Passaggi successivi