Dela via


Använda en hanterad identitet för att köra ett kontinuerligt exportjobb

Gäller för: ✅Azure Data Explorer-

Ett kontinuerligt exportjobb exporterar data till en extern tabell med en fråga som körs regelbundet.

Det kontinuerliga exportjobbet 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 kontinuerligt exportjobb 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:

  • Systemtilldelade: 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 hanterad identitetstyp.

  1. Följ stegen för att Lägg till en användartilldelad identitet.

  2. I Azure-portalen går du till den vänstra menyn i din hanterade identitetsresurs och väljer Egenskaper. Kopiera och spara klientorganisations-ID:t och huvudnamns-ID för användning i följande steg.

    Skärmbild av Azure Portal-området med hanterade identitets-ID:er.

  3. Kör följande .alter-merge-princip managed_identity kommando och ersätt <objectId> med objekt-ID 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"
        }
    ]```
    

    Not

    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 bevilja 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 den hanterade identiteten huvudnamns-ID från steg 2 och <tenantId> med Microsoft Entra ID 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 Storage Gen1, Azure Data Lake Storage 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 lagringsanslutningssträngar. Den här strängen anger resursen för åtkomst och dess autentiseringsinformation. För kontinuerliga exportflöden rekommenderar vi personifieringsautentisering.

  2. Kör kommandot .create eller .alter external table för att skapa tabellen. Använd anslutningssträngen från föregående steg som argumentet storageConnectionString.

    Följande kommando skapar till exempel MyExternalTable som refererar till CSV-formaterade data i mycontainer av mystorageaccount i Azure Blob Storage. Tabellen har två kolumner, en för ett heltal x och en för en sträng s. Anslutningssträngen 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 relevant externt datalager. Den hanterade identiteten behöver skrivbehörighet eftersom det kontinuerliga exportjobbet exporterar data till datalagret för den hanterade identitetens räkning.

    Externt datalager Nödvändiga behörigheter 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 Bidragsgivare Tilldela en Azure-roll

Skapa ett kontinuerligt exportjobb

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

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

Följande kommando skapar till exempel ett kontinuerligt exportjobb med namnet MyExport för att exportera data i MyTable till MyExternalTable 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