Dela via


Använda en hanterad identitet för att köra ett jobb för kontinuerlig export

Ett jobb för kontinuerlig export exporterar data till en extern tabell med en fråga som körs regelbundet.

Jobbet för kontinuerlig export ska konfigureras med en hanterad identitet i följande scenarier:

  • När den externa tabellen använder personifieringsautentisering.
  • När frågan refererar till tabeller i andra databaser.
  • När frågan refererar till tabeller med en aktiverad säkerhetsprincip på radnivå.

Ett jobb för kontinuerlig export som konfigurerats med en hanterad identitet utförs för den hanterade identitetens räkning.

I den här artikeln får du lära dig hur du konfigurerar en systemtilldelad eller användartilldelad hanterad identitet och skapar ett kontinuerligt exportjobb med den identiteten.

Förutsättningar

Konfigurera en hanterad identitet

Det finns två typer av hanterade identiteter:

  • Systemtilldelad: En systemtilldelad identitet är ansluten till klustret och tas bort när klustret tas bort. Endast en systemtilldelad identitet tillåts per kluster.

  • Användartilldelad: En användartilldelad hanterad identitet är en fristående Azure-resurs. Flera användartilldelade identiteter kan tilldelas till klustret.

Välj någon av följande flikar för att konfigurera önskad typ av hanterad identitet.

  1. Följ stegen för att lägga till en användartilldelad identitet.

  2. I Azure Portal går du till den vänstra menyn i din hanterade identitetsresurs och väljer Egenskaper. Kopiera och spara klient-ID och huvudkonto-ID för användning i följande steg.

    Skärmbild av Azure Portal område med hanterade identitets-ID:t.

  3. Kör följande .alter-merge-princip managed_identity kommando och ersätt <objectId> med objekt-ID:t för hanterad identitet från föregående steg. Det här kommandot anger en princip för hanterad identitet i klustret som gör att den hanterade identiteten kan användas med kontinuerlig export.

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

    Anteckning

    Om du vill ange principen för en specifik databas använder du database <DatabaseName> i stället för cluster.

  4. Kör följande kommando för att ge den hanterade identiteten Database Viewer-behörigheter för alla databaser som används för kontinuerlig export, till exempel databasen som innehåller den externa tabellen.

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

    Ersätt <DatabaseName> med den relevanta databasen <objectId> med huvud-ID:t för den hanterade identiteten från steg 2 och <tenantId> med Microsoft Entra-ID för klientorganisations-ID från steg 2.

Konfigurera en extern tabell

Externa tabeller refererar till data som finns i Azure Storage, till exempel Azure Blob Storage, Azure Data Lake Gen1 och Azure Data Lake Gen2 eller SQL Server.

Välj någon av följande flikar för att konfigurera en extern Azure Storage- eller SQL Server-tabell.

  1. Skapa en anslutningssträng baserat på mallarna för lagring anslutningssträng. Den här strängen anger resursen för åtkomst och dess autentiseringsinformation. För kontinuerliga exportflöden rekommenderar vi personifieringsautentisering.

  2. Kör den externa tabellen .create eller .alter för att skapa tabellen. Använd anslutningssträng från föregående steg som argumentet storageConnectionString.

    Följande kommando skapar MyExternalTable till exempel som refererar till CSV-formaterade data i mycontainermystorageaccount i i Azure Blob Storage. Tabellen har två kolumner, en för ett heltal x och en för en sträng s. Anslutningssträng slutar med ;impersonate, som anger att personifieringsautentisering ska användas för att komma åt datalagret.

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. Ge den hanterade identiteten skrivbehörighet för det relevanta externa datalagret. Den hanterade identiteten behöver skrivbehörigheter eftersom det kontinuerliga exportjobbet exporterar data till datalagret för den hanterade identitetens räkning.

    Externt datalager Behörigheter som krävs Bevilja behörigheterna
    Azure Blob Storage Storage Blob Data-deltagare Tilldela en Azure-roll
    Data Lake Storage Gen2 Storage Blob Data-deltagare Tilldela en Azure-roll
    Data Lake Storage Gen1 Deltagare Tilldela en Azure-roll

Skapa ett jobb för kontinuerlig export

Välj någon av följande flikar för att skapa ett kontinuerligt exportjobb som ska köras för en användartilldelad eller systemtilldelad hanterad identitet.

Kör kommandot .create-or-alter continuous-export med managedIdentity egenskapen inställd på objekt-ID:t för hanterad identitet.

Följande kommando skapar till exempel ett kontinuerligt exportjobb med namnet MyExport för att exportera data till MyTableMyExternalTable för en användartilldelad hanterad identitet. <objectId> ska vara ett objekt-ID för hanterad identitet.

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