Używanie tożsamości zarządzanych do uzyskiwania dostępu do usługi Azure Cosmos DB z zadania usługi Azure Stream Analytics
Usługa Azure Stream Analytics obsługuje uwierzytelnianie tożsamości zarządzanej dla danych wyjściowych usługi Azure Cosmos DB. Tożsamości zarządzane eliminują ograniczenia metod uwierzytelniania opartych na użytkownikach, takie jak konieczność ponownego uwierzytelnienia z powodu zmian haseł lub wygasania tokenów 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. Aby uzyskać więcej informacji na temat tożsamości zarządzanych dla usługi Azure Stream Analytics, zobacz Tożsamości zarządzane dla usługi Azure Stream Analytics.
W tym artykule pokazano, jak włączyć tożsamość zarządzaną przypisaną przez system dla danych wyjściowych zadania usługi Stream Analytics w usłudze Azure Cosmos DB za pośrednictwem witryny Azure Portal. Aby można było włączyć tożsamość zarządzaną przypisaną przez system, musisz najpierw mieć zadanie usługi Stream Analytics i zasób usługi Azure Cosmos DB.
Tworzenie tożsamości zarządzanej
Najpierw utworzysz tożsamość zarządzaną dla zadania usługi Azure Stream Analytics.
W witrynie Azure Portal otwórz zadanie usługi Azure Stream Analytics.
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.
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.
Podczas zapisywania konfiguracji identyfikator obiektu (OID) jednostki usługi jest wyświetlany jako identyfikator podmiotu zabezpieczeń, jak pokazano poniżej:
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 równieżMyASAJob
.
Udzielanie uprawnień zadania usługi Stream Analytics w celu uzyskania dostępu do konta usługi Azure Cosmos DB
Aby zadanie usługi Stream Analytics mogło uzyskać dostęp do usługi Azure Cosmos DB przy użyciu tożsamości zarządzanej, utworzona jednostka usługi musi mieć specjalne uprawnienia do konta usługi Azure Cosmos DB. W tym kroku możesz przypisać rolę do przypisanej przez system tożsamości zarządzanej zadania usługi Stream Analytics. Usługa Azure Cosmos DB ma wiele wbudowanych ról, które można przypisać do tożsamości zarządzanej. W tym rozwiązaniu użyjesz następującej roli:
Rola wbudowana |
---|
Współautor danych wbudowanych w usłudze Cosmos DB |
Ważne
Wbudowana kontrola dostępu oparta na rolach (RBAC) w płaszczyźnie danych usługi Azure Cosmos DB nie jest uwidaczniona w witrynie Azure Portal. Aby przypisać wbudowaną rolę Współautor danych usługi Cosmos DB, musisz udzielić uprawnień za pośrednictwem programu Azure PowerShell. Aby uzyskać więcej informacji na temat kontroli dostępu opartej na rolach przy użyciu identyfikatora Entra firmy Microsoft dla konta usługi Azure Cosmos DB, zobacz konfigurowanie kontroli dostępu opartej na rolach przy użyciu identyfikatora Entra firmy Microsoft dla dokumentacji konta usługi Azure Cosmos DB.
Następujące polecenie może służyć do uwierzytelniania zadania usługi ASA w usłudze Azure Cosmos DB. Wartości $accountName
i $resourceGroupName
dotyczą konta usługi Azure Cosmos DB, a $principalId
wartość jest uzyskana w poprzednim kroku na karcie Tożsamość zadania usługi ASA. Aby to polecenie działało prawidłowo, musisz mieć dostęp "Współautor" do konta usługi Azure Cosmos DB.
New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId '00000000-0000-0000-0000-000000000002' -Scope "/" -PrincipalId $principalId
Uwaga
Ze względu na globalne opóźnienie replikacji lub buforowania może wystąpić opóźnienie, gdy uprawnienia zostaną odwołane lub przyznane. Zmiany powinny zostać odzwierciedlone w ciągu 10 minut. Mimo że połączenie testowe może przejść początkowo, zadania mogą zakończyć się niepowodzeniem, gdy zostaną uruchomione, zanim uprawnienia zostaną w pełni rozpropagowane.
Ważne
Jeśli konto usługi CosmosDB nie jest skonfigurowane do akceptowania połączeń ze wszystkich sieci, musisz wybrać pozycję Akceptuj połączenia z publicznych centrów danych platformy Azure.
Dodawanie usługi Azure Cosmos DB jako danych wyjściowych
Po skonfigurowaniu tożsamości zarządzanej możesz dodać zasób usługi Azure Cosmos DB jako dane wyjściowe do zadania usługi Stream Analytics.
Przejdź do zadania usługi Stream Analytics i przejdź do strony Dane wyjściowe w obszarze Topologia zadań.
Wybierz pozycję Dodaj usługę > Azure Cosmos DB. W oknie właściwości wyjściowych wyszukaj i wybierz konto usługi Azure Cosmos DB, a następnie wybierz pozycję Tożsamość zarządzana: System przypisany z menu rozwijanego Tryb uwierzytelniania.
Wypełnij pozostałe właściwości i wybierz pozycję Zapisz.