Beheerde identiteiten gebruiken voor toegang tot Azure SQL Database of Azure Synapse Analytics vanuit een Azure Stream Analytics-taak
Azure Stream Analytics ondersteunt verificatie van beheerde identiteiten voor Azure SQL Database en Uitvoersinks van Azure Synapse Analytics. Beheerde identiteiten elimineren de beperkingen van verificatiemethoden op basis van gebruikers, zoals de noodzaak om opnieuw te verifiëren vanwege wachtwoordwijzigingen of verloop 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. In dit artikel leest u hoe u Managed Identity inschakelt voor een Azure SQL Database of een Azure Synapse Analytics-uitvoer(en) van een Stream Analytics-taak via Azure Portal.
Overzicht
In dit artikel worden de stappen beschreven die nodig zijn om uw Stream Analytics-taak te verbinden met uw Azure SQL Database of Azure Synapse Analytics SQL-pool met behulp van de verificatiemodus voor beheerde identiteiten.
U maakt eerst een door het systeem toegewezen beheerde identiteit voor uw Stream Analytics-taak. Dit is de identiteit van uw taak in Microsoft Entra-id.
Voeg een Active Directory-beheerder toe aan uw SQL-server of Synapse-werkruimte, waarmee Microsoft Entra ID-verificatie (Beheerde identiteit) voor die resource mogelijk is.
Maak vervolgens een ingesloten gebruiker die de identiteit van de Stream Analytics-taak in de database vertegenwoordigt. Wanneer de Stream Analytics-taak communiceert met uw SQL DB- of Synapse SQL DB-resource, is dit de identiteit waarnaar wordt verwezen om te controleren welke machtigingen uw Stream Analytics-taak heeft.
Ververleent machtigingen aan uw Stream Analytics-taak voor toegang tot uw SQL Database- of Synapse SQL-pools.
Voeg ten slotte uw Azure SQL Database/Azure Synapse Analytics toe als uitvoer in de Stream Analytics-taak.
Vereisten
U moet deze functie als volgt gebruiken:
Een Azure Stream Analytics-taak.
Een Azure SQL Database-resource.
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.
U kunt ook overschakelen naar door de gebruiker toegewezen beheerde identiteiten.
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 MyASAJob is, is de naam van de service-principal ook MyASAJob.
Een Active Directory-beheerder selecteren
Nadat u een beheerde identiteit hebt gemaakt, selecteert u een Active Directory-beheerder.
Navigeer naar uw Azure SQL Database- of Azure Synapse Analytics SQL-poolresource en selecteer respectievelijk de SQL Server- of Synapse-werkruimte onder de resource. U vindt de koppeling naar deze koppelingen op de overzichtspagina van de resource naast servernaam of werkruimtenaam.
Selecteer Active Directory-Beheer of SQL Active Directory-Beheer onder Instellingen voor respectievelijk SQL Server en Synapse Workspace. Selecteer vervolgens Beheerder instellen.
Zoek op de Active Directory-beheerpagina naar een gebruiker of groep als beheerder voor de SQL Server en klik op Selecteren. Dit is de gebruiker die in de volgende sectie de ingesloten databasegebruiker kan maken.
Op de active Directory-beheerderspagina worden alle leden en groepen van uw Active Directory weergegeven. Grijs weergegeven gebruikers of groepen kunnen niet worden geselecteerd omdat ze niet worden ondersteund als Microsoft Entra-beheerders. Zie de lijst met ondersteunde beheerders in de sectie Microsoft Entra-functies en -beperkingen van Microsoft Entra-verificatie gebruiken voor verificatie met SQL Database of Azure Synapse.
Selecteer Opslaan op de active Directory-beheerpagina . Het proces voor het wijzigen van de beheerder duurt enkele minuten.
Een ingesloten databasegebruiker maken
Vervolgens maakt u een ingesloten databasegebruiker in uw Azure SQL- of Azure Synapse-database die is toegewezen aan de Microsoft Entra-identiteit. De ingesloten databasegebruiker heeft geen aanmelding voor de primaire database, maar wordt toegewezen aan een identiteit in de map die is gekoppeld aan de database. De Microsoft Entra-identiteit kan een afzonderlijk gebruikersaccount of een groep zijn. In dit geval wilt u een ingesloten databasegebruiker maken voor uw Stream Analytics-taak.
Raadpleeg voor meer informatie het volgende artikel voor achtergrondinformatie over Microsoft Entra-integratie: Universele verificatie met SQL Database en Azure Synapse Analytics (SSMS-ondersteuning voor MFA)
Verbinding maken naar uw Azure SQL- of Azure Synapse-database met behulp van SQL Server Management Studio. De gebruikersnaam is een Microsoft Entra-gebruiker met de machtiging ALTER ANY USER . De beheerder die u op de SQL Server hebt ingesteld, is een voorbeeld. Gebruik Microsoft Entra ID – Universeel met MFA-verificatie .
De servernaam
<SQL Server name>.database.windows.net
kan verschillen in verschillende regio's. De regio China moet bijvoorbeeld worden gebruikt<SQL Server name>.database.chinacloudapi.cn
.U kunt een specifieke Azure SQL- of Azure Synapse-database opgeven door naar Opties > Verbinding maken ion Properties > Verbinding maken to Database te gaan.
Wanneer u voor het eerst verbinding maakt, kan het volgende venster worden weergegeven:
- Zo ja, ga dan naar uw SQL Server-/Synapse-werkruimteresource in Azure Portal. Open in de sectie Beveiliging de pagina Firewalls en virtuele netwerken/firewalls .
- Voeg een nieuwe regel toe met een willekeurige regelnaam.
- Gebruik het van IP-adres in het venster Nieuwe firewallregel voor het start-IP-adres.
- Gebruik het aan-IP-adres in het venster Nieuwe firewallregel voor het eind-IP-adres.
- Selecteer Opslaan en probeer opnieuw verbinding te maken vanuit SQL Server Management Studio.
Nadat u verbinding hebt gemaakt, maakt u de ingesloten databasegebruiker. Met de volgende SQL-opdracht maakt u een ingesloten databasegebruiker met dezelfde naam als uw Stream Analytics-taak. Zorg ervoor dat u de vierkante haken rond de ASA_JOB_NAME opneemt. Gebruik de volgende T-SQL-syntaxis en voer de query uit.
CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
Als u wilt controleren of u de ingesloten databasegebruiker correct hebt toegevoegd, voert u de volgende opdracht uit in SSMS onder de betreffende database en controleert u of uw ASA_JOB_NAME zich onder de kolom 'naam' bevindt.
SELECT * FROM <SQL_DB_NAME>.sys.database_principals WHERE type_desc = 'EXTERNAL_USER'
Om de Microsoft Entra-id van Microsoft te controleren of de Stream Analytics-taak toegang heeft tot de SQL Database, moeten we Microsoft Entra toestemming geven om te communiceren met de database. Hiervoor gaat u opnieuw naar de pagina Firewalls en virtueel netwerk in Azure Portal en schakelt u 'Azure-services en -resources toegang geven tot deze server/werkruimte' in.
Stream Analytics-taakmachtigingen verlenen
Nadat u een ingesloten databasegebruiker hebt gemaakt en toegang hebt gekregen tot Azure-services in de portal, zoals beschreven in de vorige sectie, heeft uw Stream Analytics-taak toestemming van Managed Identity om verbinding te maken met uw Azure SQL-databaseresource via een beheerde identiteit. U wordt aangeraden de machtigingen SELECT en INSERT toe te kennen aan de Stream Analytics-taak, omdat deze later in de Stream Analytics-werkstroom nodig zijn. Met de SELECT-machtiging kan de taak de verbinding met de tabel in de Azure SQL-database testen. Met de INSERT-machtiging kunt u end-to-end Stream Analytics-query's testen nadat u een invoer en de uitvoer van de Azure SQL-database hebt geconfigureerd.
U kunt deze machtigingen verlenen aan de Stream Analytics-taak met behulp van SQL Server Management Studio. Zie de naslaginformatie over GRANT (Transact-SQL) voor meer informatie.
Als u alleen machtigingen wilt verlenen aan een bepaalde tabel of een bepaald object in de database, gebruikt u de volgende T-SQL-syntaxis en voert u de query uit.
GRANT CONNECT TO ASA_JOB_NAME;
GRANT SELECT, INSERT ON OBJECT::TABLE_NAME TO ASA_JOB_NAME;
U kunt ook met de rechtermuisknop op uw Azure SQL- of Azure Synapse-database klikken in SQL Server Management Studio en eigenschappenmachtigingen >selecteren. In het menu Machtigingen ziet u de Stream Analytics-taak die u eerder hebt toegevoegd en kunt u handmatig machtigingen verlenen of weigeren zoals u dat ziet.
Als u alle machtigingen wilt bekijken die u hebt toegevoegd aan uw ASA_JOB_NAME gebruiker, voert u de volgende opdracht uit in SSMS onder de betreffende database:
SELECT dbprin.name, dbprin.type_desc, dbperm.permission_name, dbperm.state_desc, dbperm.class_desc, object_name(dbperm.major_id)
FROM sys.database_principals dbprin
LEFT JOIN sys.database_permissions dbperm
ON dbperm.grantee_principal_id = dbprin.principal_id
WHERE dbprin.name = '<ASA_JOB_NAME>'
Een Azure SQL Database- of Azure Synapse-uitvoer maken
Notitie
Wanneer u SQL Managed Instance (MI) als referentie-invoer gebruikt, moet u een openbaar eindpunt configureren in uw met SQL beheerde exemplaar. U moet de volledig gekwalificeerde domeinnaam opgeven met de poort bij het configureren van de database-eigenschap . Bijvoorbeeld: sampleserver.public.database.windows.net,3342.
Nu uw beheerde identiteit is geconfigureerd, kunt u een Azure SQL Database- of Azure Synapse-uitvoer toevoegen aan uw Stream Analytics-taak.
Zorg ervoor dat u een tabel in uw SQL Database hebt gemaakt met het juiste uitvoerschema. De naam van deze tabel is een van de vereiste eigenschappen die moeten worden ingevuld wanneer u de SQL Database-uitvoer toevoegt aan de Stream Analytics-taak. Zorg er ook voor dat de taak SELECT- en INSERT-machtigingen heeft om de verbinding te testen en Stream Analytics-query's uit te voeren. Raadpleeg de sectie Stream Analytics-taakmachtigingen verlenen als u dit nog niet hebt gedaan.
Ga terug naar uw Stream Analytics-taak en navigeer naar de pagina Uitvoer onder Taaktopologie.
Selecteer SQL Database toevoegen>. Selecteer in het venster met uitvoereigenschappen van de uitvoersink van SQL Database beheerde identiteit in de vervolgkeuzelijst Verificatiemodus.
Vul de rest van de eigenschappen in. Zie Een SQL Database-uitvoer maken met Stream Analytics voor meer informatie over het maken van een SQL Database-uitvoer. Als u klaar bent, kiest u Opslaan.
Nadat u op Opslaan hebt geklikt, wordt automatisch een verbindingstest naar uw resource geactiveerd. Zodra dit is voltooid, hebt u uw Stream Analytics-taak geconfigureerd om verbinding te maken met azure SQL Database of Synapse SQL Database met behulp van de verificatiemodus voor beheerde identiteiten.
Aanvullende stappen voor SQL-referentiegegevens
Voor Azure Stream Analytics moet u het opslagaccount van uw taak configureren bij het gebruik van SQL-referentiegegevens. Dit opslagaccount wordt gebruikt voor het opslaan van inhoud met betrekking tot uw Stream Analytics-taak, zoals momentopnamen van SQL-referentiegegevens.
Volg de volgende stappen om een gekoppeld opslagaccount in te stellen:
Selecteer op de pagina van de Stream Analytics-taak de instellingen van het opslagaccount onder Configureren in het menu links.
Selecteer Op de pagina Opslagaccountinstellingen de optie Opslagaccount toevoegen.
Volg de instructies voor het configureren van de instellingen van uw opslagaccount.
Belangrijk
- Als u wilt verifiëren met verbindingsreeks, moet u de firewallinstellingen van het opslagaccount uitschakelen.
- Als u wilt verifiëren met beheerde identiteit, moet u uw Stream Analytics-taak toevoegen aan de toegangsbeheerlijst van het opslagaccount voor de rol Inzender voor opslagblobgegevens en de rol Inzender voor opslagtabelgegevens. Als u uw taak geen toegang geeft, kan de taak geen bewerkingen uitvoeren. Zie Azure RBAC gebruiken om een beheerde identiteit toegang toe te wijzen aan een andere resource voor meer informatie over het verlenen van toegang.
Aanvullende stappen met door de gebruiker toegewezen beheerde identiteit
Herhaal de stappen als u door de gebruiker toegewezen beheerde identiteit hebt geselecteerd om ASA te verbinden met Synapse:
- Maak een ingesloten databasegebruiker. Vervang ASA_Job_Name door door de gebruiker toegewezen beheerde identiteit. Zie het voorbeeld hieronder.
CREATE USER [User-Assigned Managed Identit] FROM EXTERNAL PROVIDER;
- Verwijs machtigingen aan de door de gebruiker toegewezen beheerde identiteit. Vervang ASA_Job_Name door door de gebruiker toegewezen beheerde identiteit.
Raadpleeg de bovenstaande secties voor meer informatie.
Beheerde identiteit verwijderen
De beheerde identiteit die voor een Stream Analytics-taak is gemaakt, wordt alleen verwijderd wanneer de taak wordt verwijderd. U kunt de beheerde identiteit niet verwijderen zonder de taak te verwijderen. Als u de beheerde identiteit niet meer wilt gebruiken, kunt u de verificatiemethode voor de uitvoer wijzigen. De beheerde identiteit blijft bestaan totdat de taak wordt verwijderd en wordt gebruikt als u besluit om de verificatie van beheerde identiteit opnieuw te gebruiken.
Volgende stappen
- Uitvoer van Azure Stream Analytics begrijpen
- Uitvoer van Azure Stream Analytics naar Azure SQL Database
- Doorvoerprestaties verhogen naar Azure SQL Database vanuit Azure Stream Analytics
- Referentiegegevens uit een SQL Database gebruiken voor een Azure Stream Analytics-taak
- Records in Azure SQL Database bijwerken of samenvoegen met Azure Functions
- Quickstart: Een Stream Analytics-taak maken met behulp van Azure Portal