Använda hanterade identiteter för att komma åt Azure SQL Database eller Azure Synapse Analytics från ett Azure Stream Analytics jobb

Azure Stream Analytics stöder Hanterad identitetsautentisering för Azure SQL Database och Azure Synapse Analytics utdatamottagare. 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. Den här artikeln visar hur du aktiverar hanterad identitet för en Azure SQL Database eller en Azure Synapse Analytics utdata från ett Stream Analytics-jobb via Azure-portalen.

Översikt

Den här artikeln visar de steg som krävs för att ansluta Stream Analytics-jobbet till din Azure SQL Database eller Azure Synapse Analytics SQL-pool med autentiseringsläge för hanterad identitet.

  • Först skapar du en systemtilldelad hanterad identitet för ditt Stream Analytics-jobb. Det här är ditt jobbs identitet i Microsoft Entra ID.

  • Lägg till en služba Active Directory administratör till DIN SQL-server eller Synapse-arbetsyta, vilket möjliggör Microsoft Entra ID autentisering (hanterad identitet) för den resursen.

  • Skapa sedan en innesluten användare som representerar Stream Analytics-jobbets identitet i databasen. När Stream Analytics-jobbet interagerar med din SQL DB- eller Synapse SQL DB-resurs är det här den identitet som det refererar till för att kontrollera vilka behörigheter ditt Stream Analytics-jobb har.

  • Bevilja behörigheter till Stream Analytics-jobbet för att få åtkomst till SQL Database- eller Synapse SQL-pooler.

  • Lägg slutligen till din Azure SQL Database/Azure Synapse Analytics som utdata i Stream Analytics-jobbet.

Prerequisites

Om du vill använda den här funktionen behöver du:

  • Ett Azure Stream Analytics jobb.

  • En Azure SQL Database resurs.

Skapa en hanterad identitet

Skapa först 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.

    Välj systemtilldelad hanterad identitet

    Microsoft Entra ID skapar en tjänstprincipal för identiteten hos Stream Analytics-jobbet. Azure hanterar livscykeln för den nyligen skapade identiteten. När du tar bort Stream Analytics-jobbet tar Azure automatiskt bort den associerade identiteten (dvs. tjänstens huvudnamn).

  3. Du kan också växla till användartilldelade hanterade identiteter.

  4. När du sparar konfigurationen visas objekt-ID (OID) för tjänsthuvudmannen som huvudmans-ID, enligt följande avsnitt:

    Objekt-ID visas som Principal-ID

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

Välj en služba Active Directory administratör

När du har skapat en hanterad identitet väljer du en služba Active Directory administratör.

  1. Gå till din Azure SQL Database- eller Azure Synapse Analytics SQL-poolresurs. Välj den SQL Server eller Synapse-arbetsyta som resursen finns under. Du hittar länken till dessa resurser på resursöversiktssidan bredvid Servernamn eller Arbetsytenamn.

  2. Välj služba Active Directory Admin eller SQL služba Active Directory Admin under Settings för SQL Server respektive Synapse Workspace. Välj sedan Ange administratör.

    administratörsida för služba Active Directory

  3. På sidan služba Active Directory administratör söker du efter en användare eller grupp som administratör för SQL Server och väljer Select. Den här användaren kan skapa den inneslutna databasanvändaren i nästa avsnitt.

    Lägg till služba Active Directory administratör

    På sidan služba Active Directory administratör visas alla medlemmar och grupper i din služba Active Directory. Nedtonade användare eller grupper kan inte väljas eftersom de inte stöds som Microsoft Entra administratörer. Se listan över administratörer som stöds i avsnittet Microsoft Entra funktioner och begränsningar i Använd Microsoft Entra autentisering för autentisering med SQL Database eller Azure Synapse.

  4. Välj Spara på sidan služba Active Directory admin. Processen för att ändra administratör tar några minuter.

Skapa en innesluten databasanvändare

Skapa sedan en innesluten databasanvändare i din Azure SQL eller Azure Synapse databas som mappas till den Microsoft Entra identiteten. Den inneslutna databasanvändaren har ingen inloggning för den primära databasen, men mappas till en identitet i katalogen som är associerad med databasen. Den Microsoft Entra identiteten kan vara ett enskilt användarkonto eller en grupp. I det här fallet vill du skapa en oberoende databasanvändare för ditt Stream Analytics-jobb.

Mer information finns i Universell autentisering med SQL Database och Azure Synapse Analytics (SSMS-stöd för MFA).

  1. Anslut till din Azure SQL- eller Azure Synapse-databas med hjälp av SQL Server Management Studio. Användarnamnet User är en Microsoft Entra användare med rättigheten ALTER ANY USER. Administratören som du angav på SQL Server är ett exempel. Använd Microsoft Entra ID – Universell med MFA-autentisering.

    Anslut till SQL Server

    Servernamnet <SQL Server name>.database.windows.net kan vara annorlunda i olika regioner. Kina-regionen bör till exempel använda <SQL Server name>.database.chinacloudapi.cn.

    Du kan ange en specifik Azure SQL- eller Azure Synapse databas genom att gå till Options > Anslutningsegenskaper > Anslut till databas.

    SQL Server anslutningsegenskaper

  2. När du ansluter för första gången kan du stöta på följande fönster:

    Nytt brandväggsregelfönster

    1. I så fall går du till din SQL Server- eller Synapse-arbetsyteresurs på Azure-portalen. Under avsnittet Säkerhet öppnar du sidan Brandväggar och virtuella nätverk eller brandväggar .
    2. Lägg till en ny regel med valfritt regelnamn.
    3. Använd från IP-adressen från fönstret Ny brandväggsregel för start-IP.
    4. Använd till IP-adressen från fönstret Ny brandväggsregel för slut-IP.
    5. Välj Spara och försök ansluta från SQL Server Management Studio igen.
  3. När du är ansluten skapar du den inneslutna databasanvändaren. Följande SQL-kommando skapar en innesluten databasanvändare som har samma namn som ditt Stream Analytics-jobb. Se till att inkludera parenteserna runt ASA_JOB_NAME. Använd följande T-SQL-syntax och kör frågan.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    Kontrollera om du har lagt till den inneslutna databasanvändaren på rätt sätt genom att köra följande kommando i SSMS under den tillhörande databasen och kontrollera om din ASA_JOB_NAME finns under kolumnen "name".

    SELECT * FROM <SQL_DB_NAME>.sys.database_principals
    WHERE type_desc = 'EXTERNAL_USER'
    
  4. För att Microsoft Entra ID ska kunna kontrollera om Stream Analytics-jobbet har åtkomst till SQL-databasen måste du ge Microsoft Entra behörighet att kommunicera med databasen. Det gör du genom att gå till sidan Firewalls och virtuellt nätverk eller Firewalls i Azure portalen igen. och aktivera Tillåt Azure tjänster och resurser för att få åtkomst till den här servern eller workspace.

    Brandvägg och virtuellt nätverk

Bevilja Stream Analytics-jobbbehörigheter

När du har skapat en innesluten databasanvändare och beviljat åtkomst till Azure tjänster i portalen, enligt beskrivningen i föregående avsnitt, har Stream Analytics-jobbet behörighet från Hanterad identitet till CONNECT till din Azure SQL databasresurs via hanterad identitet. Bevilja SELECT - och INSERT-behörigheterna till Stream Analytics-jobbet, eftersom jobbet behöver dessa behörigheter senare i Stream Analytics-arbetsflödet. Med behörigheten SELECT kan jobbet testa anslutningen till tabellen i Azure SQL-databasen. Behörigheten INSERT tillåter testning av Stream Analytics-frågor från slutpunkt till slutpunkt när du har konfigurerat indata och Azure SQL databasutdata.

Du kan bevilja dessa behörigheter till Stream Analytics-jobbet med hjälp av SQL Server Management Studio. Mer information finns i referensen GRANT (Transact-SQL).

Om du bara vill bevilja behörighet till en viss tabell eller ett visst objekt i databasen använder du följande T-SQL-syntax och kör frågan.

GRANT CONNECT TO ASA_JOB_NAME;
GRANT SELECT, INSERT ON OBJECT::TABLE_NAME TO ASA_JOB_NAME;

Du kan också högerklicka på din Azure SQL- eller Azure Synapse-databas i SQL Server Management Studio och välja Egenskaper > Behörigheter. På behörighetsmenyn kan du se Stream Analytics-jobbet som du lade till tidigare och du kan manuellt bevilja eller neka behörigheter som du vill.

Om du vill titta på alla behörigheter som du har lagt till i din ASA_JOB_NAME användare kör du följande kommando i SSMS under den tillhörande databasen:

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>'

Skapa en Azure SQL Database eller Azure Synapse-utdata

Note

När du använder SQL Managed Instance (MI) som referensindata måste du konfigurera en offentlig slutpunkt i din SQL Managed Instance. Du måste ange det fullständigt kvalificerade domännamnet med porten när du konfigurerar databasegenskapen. Till exempel: sampleserver.public.database.windows.net,3342.

När du har konfigurerat din hanterade identitet är du redo att lägga till en Azure SQL Database eller Azure Synapse utdata till ditt Stream Analytics-jobb.

Se till att du skapar en tabell i SQL Database med rätt utdataschema. Du måste ange namnet på den här tabellen när du lägger till SQL Database-utdata i Stream Analytics-jobbet. Kontrollera också att jobbet har SELECT- och INSERT-behörigheter för att testa anslutningen och köra Stream Analytics-frågor. Om du inte redan har gjort det kan du läsa avsnittet Bevilja Stream Analytics-jobbbehörigheter .

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

  2. Välj Lägg till > SQL Database. I fönstret utdataegenskaper för SQL Database-utdatamottagaren väljer du Hanterad identitet i listrutan Autentiseringsläge.

  3. Fyll i resten av egenskaperna. Mer information om hur du skapar en SQL Database-utdata finns i Skapa en SQL Database-utdata med Stream Analytics. När du är klar väljer du Spara.

  4. När du har valt Spara utlöses automatiskt ett anslutningstest till resursen. När testet har slutförts konfigurerade du Stream Analytics-jobbet för att ansluta till din Azure SQL Database eller Synapse SQL Database med hjälp av läget för hanterad identitetsautentisering.

Ytterligare steg för SQL-referensdata

När du använder SQL-referensdata kräver Azure Stream Analytics att du konfigurerar jobbets lagringskonto. Jobbet använder det här lagringskontot för att lagra innehåll som är relaterat till ditt Stream Analytics-jobb, till exempel SQL-referensdataögonblicksbilder.
Följ dessa steg för att konfigurera ett associerat lagringskonto:

  1. På sidan Stream Analytics-jobb går du till Konfigurera på den vänstra menyn och väljer Inställningar för lagringskonto.

  2. sidan Stream Analytics-jobb väljer du Inställningar för lagringskonto under Konfigurera på den vänstra menyn.

  3. På sidan Inställningar för lagringskonto väljer du Lägg till lagringskonto.

  4. Följ anvisningarna för att konfigurera inställningarna för lagringskontot.

    Skärmbild av sidan Lagringskontoinställningar för ett Stream Analytics-jobb.

Important

  • Om du vill autentisera med hjälp av en reťazec pripojenia måste du inaktivera brandväggsinställningarna för lagringskontot.
  • Om du vill autentisera med hjälp av hanterad identitet måste du lägga till ditt Stream Analytics-jobb i lagringskontots åtkomstkontrolllista för rollen Storage Blob Data Contributor och rollen Storage Table Data Contributor. Om du inte ger ditt jobb åtkomst kan jobbet inte utföra några åtgärder. Mer information om hur du beviljar åtkomst finns i Använda Azure RBAC för att tilldela en hanterad identitetsåtkomst till en annan resurs.

Ytterligare steg med användartilldelad hanterad identitet

Upprepa stegen om du har valt användartilldelad hanterad identitet för att ansluta ASA till Synapse:

  1. Skapa en innesluten databasanvändare. Ersätt ASA_Job_Name med Användar-tilldelad hanterad identitet. Se följande exempel.
    CREATE USER [User-Assigned Managed Identity] FROM EXTERNAL PROVIDER;
    
  2. Bevilja behörigheter till den användartilldelade hanterade identiteten. Ersätt ASA_Job_Name med användartilldelad hanterad identitet.

Mer information finns i föregående avsnitt.

Ta bort hanterad identitet

Du tar bara bort den hanterade identitet som du skapade för ett Stream Analytics-jobb när du tar bort jobbet. Du kan inte ta bort den hanterade identiteten utan att ta bort jobbet. Om du inte längre vill använda den hanterade identiteten ändrar du autentiseringsmetoden för utdata. Den hanterade identiteten fortsätter att finnas tills du tar bort jobbet och det används om du bestämmer dig för att använda hanterad identitetsautentisering igen.

Nästa steg