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 Portal. 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.
Öppna ditt Azure Stream Analytics-jobb i Azure Portal.
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.
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:
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 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' -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.
Gå till Stream Analytics-jobbet och gå till sidan Utdata under Jobbtopologi.
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.
Fyll i resten av egenskaperna och välj Spara.