Używanie tożsamości zarządzanych do uzyskiwania dostępu do usługi Azure SQL Database lub Azure Synapse Analytics z zadania usługi Azure Stream Analytics

Usługa Azure Stream Analytics obsługuje uwierzytelnianie tożsamości zarządzanej dla ujściów danych wyjściowych usługi Azure SQL Database i Azure Synapse Analytics. Tożsamości zarządzane eliminują ograniczenia metod uwierzytelniania opartych na użytkownikach, takie jak konieczność ponownego uwierzytelnienia ze względu na zmiany hasła lub wygaśnięcie tokenu użytkownika, które występują co 90 dni. Po usunięciu konieczności ręcznego uwierzytelniania wdrożenia usługi Stream Analytics mogą być w pełni zautomatyzowane.

Tożsamość zarządzana to aplikacja zarządzana zarejestrowana w identyfikatorze Entra firmy Microsoft, która reprezentuje dane zadanie usługi Stream Analytics. Aplikacja zarządzana służy do uwierzytelniania w zasobie docelowym. W tym artykule pokazano, jak włączyć tożsamość zarządzaną dla usługi Azure SQL Database lub danych wyjściowych usługi Azure Synapse Analytics zadania usługi Stream Analytics za pośrednictwem witryny Azure Portal.

Omówienie

W tym artykule przedstawiono kroki wymagane do połączenia zadania usługi Stream Analytics z usługą Azure SQL Database lub pulą SQL usługi Azure Synapse Analytics przy użyciu trybu uwierzytelniania tożsamości zarządzanej.

  • Najpierw utworzysz tożsamość zarządzaną przypisaną przez system dla zadania usługi Stream Analytics. Jest to tożsamość Twojego zadania w identyfikatorze Entra firmy Microsoft.

  • Dodaj administratora usługi Active Directory do serwera SQL lub obszaru roboczego usługi Synapse, co umożliwia uwierzytelnianie za pomocą identyfikatora Entra (tożsamości zarządzanej) firmy Microsoft dla tego zasobu.

  • Następnie utwórz zawartego użytkownika reprezentującego tożsamość zadania usługi Stream Analytics w bazie danych. Za każdym razem, gdy zadanie usługi Stream Analytics współdziała z zasobem usługi SQL DB lub usługi Synapse SQL DB, jest to tożsamość, do której będzie się odwoływać, aby sprawdzić, jakie uprawnienia ma zadanie usługi Stream Analytics.

  • Udzielanie uprawnień do zadania usługi Stream Analytics w celu uzyskania dostępu do pul SQL Database lub Synapse SQL.

  • Na koniec dodaj usługę Azure SQL Database/Azure Synapse Analytics jako dane wyjściowe w zadaniu usługi Stream Analytics.

Wymagania wstępne

Do korzystania z tej funkcji wymagane są następujące elementy:

  • Zadanie usługi Azure Stream Analytics.

  • Zasób usługi Azure SQL Database.

Tworzenie tożsamości zarządzanej

Najpierw utworzysz tożsamość zarządzaną dla zadania usługi Azure Stream Analytics.

  1. W witrynie Azure Portal otwórz zadanie usługi Azure Stream Analytics.

  2. W menu nawigacji po lewej stronie wybierz pozycję Tożsamość zarządzana znajdującą się w obszarze Konfiguruj. Następnie zaznacz pole wyboru obok pozycji Użyj tożsamości zarządzanej przypisanej przez system i wybierz pozycję Zapisz.

    Select system-assigned managed identity

    Jednostka usługi dla tożsamości zadania usługi Stream Analytics jest tworzona w identyfikatorze Entra firmy Microsoft. Cykl życia nowo utworzonej tożsamości jest zarządzany przez platformę Azure. Po usunięciu zadania usługi Stream Analytics skojarzona tożsamość (czyli jednostka usługi) jest automatycznie usuwana przez platformę Azure.

  3. Możesz również przełączyć się do tożsamości zarządzanych przypisanych przez użytkownika.

  4. Podczas zapisywania konfiguracji identyfikator obiektu (OID) jednostki usługi jest wyświetlany jako identyfikator podmiotu zabezpieczeń, jak pokazano poniżej:

    Object ID shown as Principal ID

    Jednostka usługi ma taką samą nazwę jak zadanie usługi Stream Analytics. Jeśli na przykład nazwa zadania to MyASAJob, nazwa jednostki usługi to MyASAJob.

Wybieranie administratora usługi Active Directory

Po utworzeniu tożsamości zarządzanej wybierz administratora usługi Active Directory.

  1. Przejdź do zasobu puli SQL Usługi Azure SQL Database lub Azure Synapse Analytics i wybierz odpowiednio zasób SQL Server lub Obszar roboczy usługi Synapse, w ramach których znajduje się zasób. Link do nich można znaleźć na stronie przeglądu zasobu obok pozycji Nazwa serwera lub Nazwa obszaru roboczego.

  2. Wybierz Administracja usługi Active Directory lub Administracja USŁUGI SQL Active Directory w obszarze Ustawienia odpowiednio dla programu SQL Server i obszaru roboczego usługi Synapse. Następnie wybierz pozycję Ustaw administratora.

    Active Directory admin page

  3. Na stronie administratora usługi Active Directory wyszukaj użytkownika lub grupę jako administratora programu SQL Server, a następnie kliknij pozycję Wybierz. Będzie to użytkownik, który będzie mógł utworzyć użytkownika zawartej bazy danych w następnej sekcji.

    Add Active Directory admin

    Na stronie administratora usługi Active Directory są wyświetlane wszystkie elementy członkowskie i grupy usługi Active Directory. Nie można wybrać wyszarywanych użytkowników lub grup, ponieważ nie są one obsługiwane jako administratorzy firmy Microsoft Entra. Zapoznaj się z listą obsługiwanych administratorów w sekcji Funkcje i ograniczenia firmy Microsoft w temacieUse Microsoft Entra authentication for authentication with SQL Database or Azure Synapse (Używanie uwierzytelniania firmy Microsoft Entra do uwierzytelniania w usłudze SQL Database lub Azure Synapse).

  4. Wybierz pozycję Zapisz na stronie administratora usługi Active Directory. Proces zmiany administratora trwa kilka minut.

Tworzenie użytkownika zawartej bazy danych

Następnie utworzysz użytkownika zawartej bazy danych w bazie danych Azure SQL lub Azure Synapse zamapowanego na tożsamość firmy Microsoft Entra. Użytkownik zawartej bazy danych nie ma identyfikatora logowania dla podstawowej bazy danych, ale mapuje ją na tożsamość w katalogu skojarzonym z bazą danych. Tożsamość firmy Microsoft Entra może być pojedynczym kontem użytkownika lub grupą. W takim przypadku chcesz utworzyć użytkownika zawartej bazy danych dla zadania usługi Stream Analytics.

Aby uzyskać więcej informacji, zapoznaj się z następującym artykułem na temat integracji z firmą Microsoft Entra: Universal Authentication with SQL Database and Azure Synapse Analytics (SSMS support for MFA)

  1. Połączenie do bazy danych Azure SQL lub Azure Synapse przy użyciu programu SQL Server Management Studio. Nazwa użytkownika jest użytkownikiem firmy Microsoft Entra z uprawnieniem ALTER ANY USER. Administrator ustawiony w programie SQL Server jest przykładem. Użyj identyfikatora Entra firmy Microsoft — uniwersalnego z uwierzytelnianiem MFA .

    Connect to SQL Server

    Nazwa <SQL Server name>.database.windows.net serwera może być inna w różnych regionach. Na przykład region Chiny powinien używać polecenia <SQL Server name>.database.chinacloudapi.cn.

    Możesz określić określoną bazę danych Azure SQL lub Azure Synapse, przechodząc do pozycji Opcje > właściwości > Połączenie ion Połączenie do bazy danych.

    SQL Server connection properties

  2. Podczas pierwszego nawiązywania połączenia może wystąpić następujące okno:

    New firewall rule window

    1. Jeśli tak, przejdź do zasobu sql Server/obszaru roboczego usługi Synapse w witrynie Azure Portal. W sekcji Zabezpieczenia otwórz stronę Zapory i sieć wirtualna/Zapory.
    2. Dodaj nową regułę z dowolną nazwą reguły.
    3. Użyj okna Z adresu IP w oknie Nowa reguła zapory dla początkowego adresu IP.
    4. Użyj okna Do adresu IP w oknie Nowa reguła zapory dla końcowego adresu IP.
    5. Wybierz pozycję Zapisz i spróbuj ponownie nawiązać połączenie z programu SQL Server Management Studio.
  3. Po nawiązaniu połączenia utwórz użytkownika zawartej bazy danych. Następujące polecenie SQL tworzy użytkownika zawartej bazy danych o takiej samej nazwie jak zadanie usługi Stream Analytics. Pamiętaj, aby uwzględnić nawiasy wokół ASA_JOB_NAME. Użyj następującej składni języka T-SQL i uruchom zapytanie.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    Aby sprawdzić, czy użytkownik zawartej bazy danych został poprawnie dodany, uruchom następujące polecenie w programie SSMS w ramach odnoszącej się bazy danych i sprawdź, czy ASA_JOB_NAME znajduje się w kolumnie "name".

    SELECT * FROM <SQL_DB_NAME>.sys.database_principals
    WHERE type_desc = 'EXTERNAL_USER'
    
  4. Aby firma Microsoft Microsoft Entra ID sprawdziła, czy zadanie usługi Stream Analytics ma dostęp do bazy danych SQL Database, musimy przyznać firmie Microsoft Entra uprawnienie do komunikowania się z bazą danych. W tym celu przejdź ponownie do strony "Zapory i sieć wirtualna"/"Zapory" w witrynie Azure Portal i włącz opcję "Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera/obszaru roboczego".

    Firewall and virtual network

Udzielanie uprawnień do zadania usługi Stream Analytics

Po utworzeniu użytkownika zawartej bazy danych i uzyskaniu dostępu do usług platformy Azure w portalu zgodnie z opisem w poprzedniej sekcji zadanie usługi Stream Analytics ma uprawnienia z tożsamości zarządzanej w celu nawiązania połączenia z zasobem bazy danych Azure SQL Database za pośrednictwem tożsamości zarządzanej. Zalecamy przyznanie uprawnień SELECT i INSERT do zadania usługi Stream Analytics, ponieważ będą one potrzebne później w przepływie pracy usługi Stream Analytics. Uprawnienie SELECT umożliwia zadaniu przetestowanie połączenia z tabelą w bazie danych Azure SQL Database. Uprawnienie INSERT umożliwia testowanie pełnych zapytań usługi Stream Analytics po skonfigurowaniu danych wejściowych i danych wyjściowych bazy danych Azure SQL Database.

Możesz przyznać te uprawnienia do zadania usługi Stream Analytics przy użyciu programu SQL Server Management Studio. Aby uzyskać więcej informacji, zobacz dokumentację GRANT (Transact-SQL).

Aby udzielić uprawnień tylko do określonej tabeli lub obiektu w bazie danych, użyj następującej składni języka T-SQL i uruchom zapytanie.

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

Alternatywnie możesz kliknąć prawym przyciskiem myszy bazę danych Azure SQL lub Azure Synapse w programie SQL Server Management Studio i wybrać pozycję Uprawnienia właściwości>. W menu uprawnień możesz zobaczyć dodane wcześniej zadanie usługi Stream Analytics i możesz ręcznie udzielić lub odmówić uprawnień zgodnie z potrzebami.

Aby sprawdzić wszystkie uprawnienia dodane do użytkownika ASA_JOB_NAME , uruchom następujące polecenie w programie SSMS w ramach odnoszącej się bazy danych:

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

Tworzenie danych wyjściowych usługi Azure SQL Database lub Azure Synapse

Uwaga

W przypadku korzystania z usługi SQL Managed Instance (MI) jako danych wejściowych referencyjnych należy skonfigurować publiczny punkt końcowy w usłudze SQL Managed Instance. Podczas konfigurowania właściwości bazy danych należy określić w pełni kwalifikowaną nazwę domeny z portem. Na przykład: sampleserver.public.database.windows.net,3342.

Po skonfigurowaniu tożsamości zarządzanej możesz dodać dane wyjściowe usługi Azure SQL Database lub Azure Synapse do zadania usługi Stream Analytics.

Upewnij się, że utworzono tabelę w usłudze SQL Database przy użyciu odpowiedniego schematu wyjściowego. Nazwa tej tabeli jest jedną z wymaganych właściwości, które należy wypełnić podczas dodawania danych wyjściowych usługi SQL Database do zadania usługi Stream Analytics. Upewnij się również, że zadanie ma uprawnienia SELECT i INSERT , aby przetestować połączenie i uruchomić zapytania usługi Stream Analytics. Jeśli jeszcze tego nie zrobiono, zapoznaj się z sekcją Udzielanie uprawnień zadania usługi Stream Analytics.

  1. Wróć do zadania usługi Stream Analytics i przejdź do strony Dane wyjściowe w obszarze Topologia zadania.

  2. Wybierz pozycję Dodaj > bazę danych SQL Database. W oknie właściwości wyjściowych ujścia danych wyjściowych usługi SQL Database wybierz pozycję Tożsamość zarządzana z listy rozwijanej Tryb uwierzytelniania.

  3. Wypełnij pozostałe właściwości. Aby dowiedzieć się więcej na temat tworzenia danych wyjściowych usługi SQL Database, zobacz Tworzenie danych wyjściowych usługi SQL Database za pomocą usługi Stream Analytics. Kiedy skończysz, wybierz Zapisz.

  4. Po kliknięciu przycisku Zapisz test połączenia z zasobem powinien być wyzwalany automatycznie. Po pomyślnym zakończeniu zadania usługi Stream Analytics pomyślnie skonfigurowano połączenie z usługą Azure SQL Database lub usługą Synapse SQL Database przy użyciu trybu uwierzytelniania tożsamości zarządzanej.

Dodatkowe kroki dotyczące danych referencyjnych SQL

Usługa Azure Stream Analytics wymaga skonfigurowania konta magazynu zadania podczas korzystania z danych referencyjnych SQL. To konto magazynu służy do przechowywania zawartości powiązanej z zadaniem usługi Stream Analytics, takiej jak migawki danych referencyjnych SQL.

Wykonaj następujące kroki, aby skonfigurować skojarzone konto magazynu:

  1. Na stronie zadania usługi Stream Analytics wybierz pozycję Ustawienia konta magazynu w obszarze Konfiguruj w menu po lewej stronie.

  2. Na stronie Ustawienia konta magazynu wybierz pozycję Dodaj konto magazynu.

  3. Postępuj zgodnie z instrukcjami, aby skonfigurować ustawienia konta magazynu.

    Screenshot of the Storage account settings page of a Stream Analytics job.

Ważne

  • Aby uwierzytelnić się przy użyciu parametry połączenia, należy wyłączyć ustawienia zapory konta magazynu.
  • Aby uwierzytelnić się przy użyciu tożsamości zarządzanej, musisz dodać zadanie usługi Stream Analytics do listy kontroli dostępu konta magazynu dla roli Współautor danych obiektu blob usługi Storage i roli Współautor danych tabeli magazynu. Jeśli nie udzielisz dostępu do zadania, zadanie nie będzie mogło wykonać żadnych operacji. Aby uzyskać więcej informacji na temat udzielania dostępu, zobacz Przypisywanie tożsamości zarządzanej do innego zasobu przy użyciu kontroli dostępu opartej na rolach platformy Azure.

Dodatkowe kroki dotyczące tożsamości zarządzanej przypisanej przez użytkownika

Powtórz kroki, jeśli wybrano tożsamość zarządzaną przypisaną przez użytkownika, aby połączyć usługę ASA z usługą Synapse:

  1. Utwórz użytkownika zawartej bazy danych. Zastąp ASA_Job_Name tożsamością zarządzaną przypisaną przez użytkownika. Zobacz poniższy przykład.
    CREATE USER [User-Assigned Managed Identit] FROM EXTERNAL PROVIDER;
    
  2. Udziel uprawnień tożsamości zarządzanej przypisanej przez użytkownika. Zastąp ASA_Job_Name tożsamością zarządzaną przypisaną przez użytkownika.

Aby uzyskać więcej informacji, zapoznaj się z powyższymi sekcjami.

Usuwanie tożsamości zarządzanej

Tożsamość zarządzana utworzona dla zadania usługi Stream Analytics jest usuwana tylko wtedy, gdy zadanie zostanie usunięte. Nie ma możliwości usunięcia tożsamości zarządzanej bez usuwania zadania. Jeśli nie chcesz już używać tożsamości zarządzanej, możesz zmienić metodę uwierzytelniania danych wyjściowych. Tożsamość zarządzana będzie nadal istnieć do momentu usunięcia zadania i będzie używana, jeśli zdecydujesz się ponownie użyć uwierzytelniania tożsamości zarządzanej.

Następne kroki