Beheerde identiteiten gebruiken voor toegang tot Azure Cosmos DB vanuit een Azure Stream Analytics-taak
Azure Stream Analytics biedt ondersteuning voor verificatie van beheerde identiteiten voor Azure Cosmos DB-uitvoer. Beheerde identiteiten elimineren de beperkingen van verificatiemethoden op basis van gebruikers, zoals de noodzaak om opnieuw te verifiëren vanwege wachtwoordwijzigingen of verlopen van gebruikerstoken die elke 90 dagen plaatsvinden. Wanneer u de noodzaak voor handmatige verificatie verwijdert, kunnen uw Stream Analytics-implementaties volledig worden geautomatiseerd.
Een beheerde identiteit is een beheerde toepassing die is geregistreerd in Microsoft Entra ID die een bepaalde Stream Analytics-taak vertegenwoordigt. De beheerde toepassing wordt gebruikt om te verifiëren bij een doelresource. Zie Beheerde identiteiten voor Azure Stream Analytics voor meer informatie over beheerde identiteiten voor Azure Stream Analytics.
In dit artikel leest u hoe u door het systeem toegewezen beheerde identiteit inschakelt voor een Azure Cosmos DB-uitvoer van een Stream Analytics-taak via Azure Portal. Voordat u door het systeem toegewezen beheerde identiteit kunt inschakelen, moet u eerst een Stream Analytics-taak en een Azure Cosmos DB-resource hebben.
Een beheerde identiteit maken
Eerst maakt u een beheerde identiteit voor uw Azure Stream Analytics-taak.
Open uw Azure Stream Analytics-taak in Azure Portal.
Selecteer in het linkernavigatiemenu beheerde identiteit onder Configureren. Schakel vervolgens het selectievakje in naast Door het systeem toegewezen beheerde identiteit gebruiken en selecteer Opslaan.
Er wordt een service-principal voor de identiteit van de Stream Analytics-taak gemaakt in Microsoft Entra-id. De levenscyclus van de zojuist gemaakte identiteit wordt beheerd door Azure. Wanneer de Stream Analytics-taak wordt verwijderd, wordt de bijbehorende identiteit (dat wil gezegd de service-principal) automatisch verwijderd door Azure.
Wanneer u de configuratie opslaat, wordt de object-id (OID) van de service-principal vermeld als de principal-id, zoals hieronder wordt weergegeven:
De service-principal heeft dezelfde naam als de Stream Analytics-taak. Als de naam van uw taak bijvoorbeeld is, is
MyASAJob
de naam van de service-principal ookMyASAJob
.
De Stream Analytics-taakmachtigingen verlenen voor toegang tot het Azure Cosmos DB-account
Voor toegang tot uw Azure Cosmos DB-taak met behulp van een beheerde identiteit moet de service-principal die u hebt gemaakt, speciale machtigingen hebben voor uw Azure Cosmos DB-account. In deze stap kunt u een rol toewijzen aan de door het systeem toegewezen beheerde identiteit van uw Stream Analytics-taak. Azure Cosmos DB heeft meerdere ingebouwde rollen die u kunt toewijzen aan de beheerde identiteit. Voor deze oplossing gebruikt u de volgende rol:
Ingebouwde rol |
---|
Inzender voor ingebouwde Cosmos DB-gegevens |
Belangrijk
Ingebouwde op rollen gebaseerd toegangsbeheer (RBAC) van Azure Cosmos DB wordt niet weergegeven via Azure Portal. Als u de rol Ingebouwde inzender voor Cosmos DB wilt toewijzen, moet u toestemming verlenen via Azure PowerShell. Zie op rollen gebaseerd toegangsbeheer configureren met Microsoft Entra ID voor uw Azure Cosmos DB-account voor op rollen gebaseerd toegangsbeheer met Microsoft Entra ID voor uw Azure Cosmos DB-accountdocumentatie voor meer informatie over op rollen gebaseerd toegangsbeheer.
De volgende opdracht kan worden gebruikt om uw ASA-taak te verifiëren met Azure Cosmos DB. De $accountName
en $resourceGroupName
zijn voor uw Azure Cosmos DB-account en de $principalId
waarde die u in de vorige stap hebt verkregen, op het tabblad Identiteit van uw ASA-taak. U moet 'Inzender' toegang hebben tot uw Azure Cosmos DB-account om deze opdracht goed te laten werken.
New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' -Scope "/" -PrincipalId $principalId
Notitie
Vanwege globale replicatie of cachinglatentie kan er een vertraging optreden wanneer machtigingen worden ingetrokken of verleend. Wijzigingen moeten binnen 10 minuten worden doorgevoerd. Hoewel de testverbinding in eerste instantie kan worden doorgegeven, kunnen taken mislukken wanneer ze worden gestart voordat de machtigingen volledig worden doorgegeven.
Belangrijk
Als het CosmosDB-account niet is geconfigureerd om verbindingen van alle netwerken te accepteren, moet u Verbindingen accepteren selecteren vanuit openbare Azure-datacenters.
Azure Cosmos DB toevoegen als uitvoer
Nu uw beheerde identiteit is geconfigureerd, kunt u de Azure Cosmos DB-resource toevoegen als uitvoer aan uw Stream Analytics-taak.
Ga naar uw Stream Analytics-taak en navigeer naar de pagina Uitvoer onder Taaktopologie.
Selecteer Azure Cosmos DB toevoegen>. Zoek en selecteer in het venster met uitvoereigenschappen uw Azure Cosmos DB-account en selecteer Beheerde identiteit: Systeem dat is toegewezen in de vervolgkeuzelijst Verificatiemodus .
Vul de rest van de eigenschappen in en selecteer Opslaan.