Condividi tramite


Usare un'identità gestita per eseguire un processo di esportazione continua

Un processo di esportazione continua esporta i dati in una tabella esterna con una query eseguita periodicamente.

Il processo di esportazione continua deve essere configurato con un'identità gestita negli scenari seguenti:

  • Quando la tabella esterna usa l'autenticazione di rappresentazione.
  • Quando la query fa riferimento a tabelle in altri database.
  • Quando la query fa riferimento a tabelle con criteri di sicurezza a livello di riga abilitati.

Un processo di esportazione continua configurato con un'identità gestita viene eseguito per conto dell'identità gestita.

Questo articolo illustra come configurare un'identità gestita assegnata dal sistema o assegnata dall'utente e creare un processo di esportazione continua usando tale identità.

Prerequisiti

Configurare un'identità gestita

Sono disponibili due tipi di identità gestite:

  • Assegnata dal sistema: un'identità assegnata dal sistema è connessa al cluster e viene rimossa quando il cluster viene rimosso. Per ogni cluster è consentita una sola identità assegnata dal sistema.

  • Assegnata dall'utente: un'identità gestita assegnata dall'utente è una risorsa di Azure autonoma. È possibile assegnare più identità assegnate dall'utente al cluster.

Selezionare una delle schede seguenti per configurare il tipo di identità gestita preferito.

  1. Seguire la procedura per aggiungere un'identità assegnata dall'utente.

  2. Nel portale di Azure, nel menu a sinistra della risorsa identità gestita selezionare Proprietà. Copiare e salvare l'ID tenant e l'ID entità da usare nei passaggi seguenti.

    Screenshot dell'area di portale di Azure con ID identità gestita.

  3. Eseguire il comando .alter-merge policy managed_identity seguente, sostituendo <objectId> con l'ID oggetto identità gestito del passaggio precedente. Questo comando imposta un criterio di identità gestito nel cluster che consente l'uso dell'identità gestita con l'esportazione continua.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Nota

    Per impostare i criteri in un database specifico, usare database <DatabaseName> anziché cluster.

  4. Eseguire il comando seguente per concedere le autorizzazioni del Visualizzatore database dell'identità gestita per tutti i database usati per l'esportazione continua, ad esempio il database che contiene la tabella esterna.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Sostituire <DatabaseName> con il database pertinente, <objectId> con l'ID entità di identità gestita del passaggio 2 e <tenantId> con l'ID tenant Microsoft Entra ID del passaggio 2.

Configurare una tabella esterna

Le tabelle esterne fanno riferimento ai dati che si trovano in Archiviazione di Azure, ad esempio Archiviazione BLOB di Azure, Azure Data Lake Gen1 e Azure Data Lake Gen2 o SQL Server.

Selezionare una delle schede seguenti per configurare un'archiviazione di Azure o SQL Server tabella esterna.

  1. Creare un stringa di connessione in base ai modelli di stringa di connessione di archiviazione. Questa stringa indica la risorsa a cui accedere e le relative informazioni di autenticazione. Per i flussi di esportazione continua, è consigliabile usare l'autenticazione di rappresentazione.

  2. Eseguire la tabella .create o .alter external per creare la tabella. Usare il stringa di connessione del passaggio precedente come argomento storageConnectionString.

    Ad esempio, il comando seguente crea MyExternalTable che fa riferimento a dati in formato CSV in in in mycontainermystorageaccount in Archiviazione BLOB di Azure. La tabella include due colonne, una per un numero intero x e una per una stringa s. Il stringa di connessione termina con ;impersonate, che indica di usare l'autenticazione di rappresentazione per accedere all'archivio dati.

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. Concedere all'identità gestita le autorizzazioni di scrittura sull'archivio dati esterno pertinente. L'identità gestita richiede autorizzazioni di scrittura perché il processo di esportazione continua esporta i dati nell'archivio dati per conto dell'identità gestita.

    Archivio dati esterno Autorizzazioni necessarie Concedere le autorizzazioni
    Archiviazione BLOB di Azure Collaboratore ai dati del BLOB di archiviazione Assegnare un ruolo di Azure
    Data Lake Storage Gen2 Collaboratore ai dati del BLOB di archiviazione Assegnare un ruolo di Azure
    Data Lake Storage Gen1 Autore di contributi Assegnare un ruolo di Azure

Creare un processo di esportazione continua

Selezionare una delle schede seguenti per creare un processo di esportazione continua che verrà eseguito per conto di un'identità gestita assegnata dall'utente o assegnata dal sistema.

Eseguire il comando .create-or-alter continuous-export con la managedIdentity proprietà impostata sull'ID oggetto identity gestito.

Ad esempio, il comando seguente crea un processo di esportazione continua denominato MyExport per esportare i dati in per MyTableMyExternalTable conto di un'identità gestita assegnata dall'utente. <objectId> deve essere un ID oggetto identità gestito.

.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable