Condividi tramite


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

Si applica a: ✅esplora dati di Azure

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 un criterio di sicurezza a livello di riga abilitato

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

Esistono due tipi di identità gestite:

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

  • 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.

  • assegnata dall'utente
  • assegnata dal sistema
  1. Seguire la procedura per Aggiungere un'identità assegnata dall'utente.

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

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

  3. Eseguire il comando criterio di managed_identity unione con estensione alter-merge seguente, sostituendo <objectId> con l'ID oggetto identità gestito del passaggio precedente. Questo comando imposta un criteri di identità gestiti 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 all'identità gestita Visualizzatore database autorizzazioni su 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'identità gestita ID entità del passaggio 2 e <tenantId> con l'ID ID tenant di Microsoft Entra 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 Storage Gen1, Azure Data Lake Storage Gen2 o SQL Server.

Selezionare una delle schede seguenti per configurare una tabella esterna di Archiviazione di Azure o SQL Server.

  1. Creare una stringa di connessione basata sui 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 l'autenticazione di rappresentazione.

  2. Eseguire il comando .create o alter external table per creare la tabella. Usare la 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 mycontainer di mystorageaccount in Archiviazione BLOB di Azure. La tabella include due colonne, una per un numero intero x e una per una stringa s. La 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 dei BLOB di archiviazione Assegnare un ruolo di Azure
    Data Lake Storage Gen2 Collaboratore ai dati dei BLOB di archiviazione Assegnare un ruolo di Azure
    Data Lake Storage Gen1 Collaboratore Assegnare un ruolo di Azure

Creare un processo di esportazione continua

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

  • assegnata dall'utente
  • assegnata dal sistema

Eseguire il comando .create-or-alter continuous-export con la 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 MyTable in MyExternalTable per conto di un'identità gestita assegnata dall'utente. <objectId> deve essere un ID oggetto identity gestito.

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