Dela via


Använda hanterade identiteter för att komma åt Azure Cosmos DB från ett Azure Stream Analytics-jobb

Azure Stream Analytics stöder hanterad identitetsautentisering för Azure Cosmos DB-utdata. Hanterade identiteter eliminerar begränsningarna för användarbaserade autentiseringsmetoder, till exempel behovet av att autentisera igen på grund av lösenordsändringar eller förfallodatum för användartoken som inträffar var 90:e dag. När du tar bort behovet av att manuellt autentisera kan dina Stream Analytics-distributioner automatiseras helt. 

En hanterad identitet är ett hanterat program registrerat i Microsoft Entra-ID som representerar ett visst Stream Analytics-jobb. Det hanterade programmet används för att autentisera till en målresurs. Mer information om hanterade identiteter för Azure Stream Analytics finns i Hanterade identiteter för Azure Stream Analytics.

Den här artikeln visar hur du aktiverar systemtilldelad hanterad identitet för en Azure Cosmos DB-utdata från ett Stream Analytics-jobb via Azure-portalen. Innan du kan aktivera systemtilldelad hanterad identitet måste du först ha ett Stream Analytics-jobb och en Azure Cosmos DB-resurs.

Skapa en hanterad identitet

Först skapar du en hanterad identitet för ditt Azure Stream Analytics-jobb. 

  1. Öppna ditt Azure Stream Analytics-jobb i Azure-portalen. 

  2. I den vänstra navigeringsmenyn väljer du Hanterad identitet under Konfigurera. Markera sedan kryssrutan bredvid Använd systemtilldelad hanterad identitet och välj Spara.

    System assigned managed identity

  3. Ett tjänsthuvudnamn för Stream Analytics-jobbets identitet skapas i Microsoft Entra-ID. Livscykeln för den nyligen skapade identiteten hanteras av Azure. När Stream Analytics-jobbet tas bort tas den associerade identiteten (dvs. tjänstens huvudnamn) bort automatiskt av Azure. 

    När du sparar konfigurationen visas objekt-ID (OID) för tjänstens huvudnamn som huvudnamns-ID enligt nedan:

    Principal ID

    Tjänstens huvudnamn har samma namn som Stream Analytics-jobbet. Om namnet på jobbet till exempel är MyASAJobär namnet på tjänstens huvudnamn också MyASAJob. 

Ge Stream Analytics-jobbet behörighet att komma åt Azure Cosmos DB-kontot

För att Stream Analytics-jobbet ska få åtkomst till din Azure Cosmos DB med hanterad identitet måste tjänstens huvudnamn som du skapade ha särskilda behörigheter till ditt Azure Cosmos DB-konto. I det här steget kan du tilldela en roll till stream analytics-jobbets systemtilldelade hanterade identitet. Azure Cosmos DB har flera inbyggda roller som du kan tilldela till den hanterade identiteten. För den här lösningen använder du följande roll:

Inbyggd roll
Inbyggd Cosmos DB-datadeltagare

Viktigt!

Azure Cosmos DB-dataplanets inbyggda rollbaserade åtkomstkontroll (RBAC) exponeras inte via Azure-portalen. Om du vill tilldela rollen inbyggd datadeltagare i Cosmos DB måste du bevilja behörighet via Azure Powershell. Mer information om rollbaserad åtkomstkontroll med Microsoft Entra-ID för ditt Azure Cosmos DB-konto finns i konfigurera rollbaserad åtkomstkontroll med Microsoft Entra-ID för azure Cosmos DB-kontodokumentationen.

Följande kommando kan användas för att autentisera ditt ASA-jobb med Azure Cosmos DB. Och $accountName$resourceGroupName är för ditt Azure Cosmos DB-konto, och $principalId är värdet som erhölls i föregående steg, på fliken Identitet för ditt ASA-jobb. Du måste ha "deltagare" åtkomst till ditt Azure Cosmos DB-konto för att det här kommandot ska fungera korrekt.

New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId '00000000-0000-0000-0000-000000000002' -Scope "/" -PrincipalId $principalId

Kommentar

På grund av global replikering eller svarstid för cachelagring kan det uppstå en fördröjning när behörigheter återkallas eller beviljas. Ändringarna bör återspeglas inom 10 minuter. Även om testanslutningen kan passera från början kan jobb misslyckas när de startas innan behörigheterna sprids fullständigt.

Viktigt!

Om CosmosDB-kontot inte har konfigurerats för att acceptera anslutningar från Alla nätverk måste du välja Acceptera anslutningar från offentliga Azure-datacenter.

Lägga till Azure Cosmos DB som utdata

Nu när din hanterade identitet har konfigurerats är du redo att lägga till Azure Cosmos DB-resursen som utdata till ditt Stream Analytics-jobb. 

  1. Gå till Stream Analytics-jobbet och gå till sidan Utdata under Jobbtopologi.

  2. Välj Lägg till > Azure Cosmos DB. I fönstret utdataegenskaper söker du efter och väljer ditt Azure Cosmos DB-konto och väljer Hanterad identitet: System som tilldelats från listrutan Autentiseringsläge.

  3. Fyll i resten av egenskaperna och välj Spara.

Nästa steg