Zabezpieczanie usługi Azure Digital Twins

W tym artykule opisano najlepsze rozwiązania w zakresie zabezpieczeń usługi Azure Digital Twins. Obejmuje ona role i uprawnienia, tożsamość zarządzaną, dostęp do sieci prywatnej za pomocą usługi Azure Private Link, tagi usług, szyfrowanie danych magazynowanych i współużytkowanie zasobów między źródłami (CORS).

W przypadku zabezpieczeń usługa Azure Digital Twins umożliwia precyzyjną kontrolę dostępu nad określonymi danymi, zasobami i akcjami we wdrożeniu. Robi to za pośrednictwem szczegółowej strategii zarządzania rolami i uprawnieniami o nazwie Kontrola dostępu oparta na rolach (RBAC) platformy Azure.

Usługa Azure Digital Twins obsługuje również szyfrowanie danych magazynowanych.

Role i uprawnienia z kontrolą dostępu opartą na rolach platformy Azure

Kontrola dostępu oparta na rolach platformy Azure jest udostępniana usłudze Azure Digital Twins za pośrednictwem integracji z identyfikatorem Entra firmy Microsoft.

Za pomocą kontroli dostępu opartej na rolach platformy Azure możesz udzielić uprawnień jednostce zabezpieczeń, która może być użytkownikiem, grupą lub jednostką usługi aplikacji. Podmiot zabezpieczeń jest uwierzytelniany przez identyfikator entra firmy Microsoft i otrzymuje token OAuth 2.0 w zamian. Ten token może służyć do autoryzowania żądania dostępu do wystąpienia usługi Azure Digital Twins.

Uwierzytelnianie i autoryzacja

W przypadku identyfikatora Entra firmy Microsoft dostęp jest procesem dwuetapowym. Gdy podmiot zabezpieczeń (użytkownik, grupa lub aplikacja) próbuje uzyskać dostęp do usługi Azure Digital Twins, żądanie musi zostać uwierzytelnione i autoryzowane.

  1. Najpierw tożsamość podmiotu zabezpieczeń jest uwierzytelniana, a token OAuth 2.0 jest zwracany.
  2. Następnie token jest przekazywany w ramach żądania do usługi Azure Digital Twins w celu autoryzowania dostępu do określonego zasobu.

Krok uwierzytelniania wymaga, aby każde żądanie aplikacji zawierało token dostępu OAuth 2.0 w czasie wykonywania. Jeśli aplikacja jest uruchomiona w ramach jednostki platformy Azure, takiej jak aplikacja usługi Azure Functions, może użyć tożsamości zarządzanej w celu uzyskania dostępu do zasobów. Przeczytaj więcej na temat tożsamości zarządzanych w następnej sekcji.

Krok autoryzacji wymaga przypisania roli platformy Azure do podmiotu zabezpieczeń. Role przypisane do podmiotu zabezpieczeń określają uprawnienia, które będzie miał podmiot zabezpieczeń. Usługa Azure Digital Twins udostępnia role platformy Azure, które obejmują zestawy uprawnień dla zasobów usługi Azure Digital Twins. Te role zostały opisane w dalszej części tego artykułu.

Aby dowiedzieć się więcej na temat ról i przypisań ról obsługiwanych na platformie Azure, zobacz Omówienie różnych ról w dokumentacji RBAC platformy Azure.

Uwierzytelnianie za pomocą tożsamości zarządzanych

Tożsamości zarządzane dla zasobów platformy Azure to funkcja międzyplatformowa, która umożliwia tworzenie bezpiecznej tożsamości skojarzonej z wdrożeniem, w którym jest uruchamiany kod aplikacji. Następnie możesz skojarzyć daną tożsamość z rolami kontroli dostępu, aby udzielić uprawnień niestandardowych na potrzeby uzyskiwania dostępu do określonych zasobów platformy Azure wymaganych przez aplikację.

Dzięki tożsamościom zarządzanym platforma Azure zarządza tą tożsamością środowiska uruchomieniowego. Nie musisz przechowywać i chronić kluczy dostępu w kodzie aplikacji lub konfiguracji, zarówno dla samej tożsamości, jak i zasobów potrzebnych do uzyskania dostępu. Aplikacja kliencka usługi Azure Digital Twins działająca wewnątrz aplikacji usługi aplikacja systemu Azure nie musi obsługiwać reguł sygnatur dostępu współdzielonego ani żadnych innych tokenów dostępu. Aplikacja kliencka potrzebuje tylko adresu punktu końcowego przestrzeni nazw usługi Azure Digital Twins. Po nawiązaniu połączenia z aplikacją usługa Azure Digital Twins wiąże kontekst jednostki zarządzanej z klientem. Po skojarzeniu z tożsamością zarządzaną klient usługi Azure Digital Twins może wykonywać wszystkie autoryzowane operacje. Następnie autoryzacja zostanie udzielona przez skojarzenie jednostki zarządzanej z rolą platformy Azure usługi Azure Digital Twins (opisaną poniżej).

Autoryzacja: role platformy Azure dla usługi Azure Digital Twins

Platforma Azure udostępnia dwie wbudowane role platformy Azure umożliwiające autoryzowanie dostępu do interfejsów API płaszczyzny danych usługi Azure Digital Twins. Role można odwoływać się do ról według nazwy lub identyfikatora:

Rola wbudowana opis ID
Właściciel danych usługi Azure Digital Twins Zapewnia pełny dostęp do zasobów usługi Azure Digital Twins bcd981a7-7f74-457b-83e1-cceb9e632ffe
Czytelnik danych usługi Azure Digital Twins Zapewnia dostęp tylko do odczytu do zasobów usługi Azure Digital Twins d57506d4-4c8d-48b1-8587-93c323f6a5a3

Role można przypisywać na dwa sposoby:

Aby uzyskać szczegółowe instrukcje dotyczące przypisywania ról do wystąpienia usługi Azure Digital Twins, zobacz Konfigurowanie wystąpienia i uwierzytelniania. Aby uzyskać więcej informacji na temat sposobu definiowania ról wbudowanych, zobacz Omówienie definicji ról w dokumentacji kontroli dostępu opartej na rolach platformy Azure.

Możesz również utworzyć niestandardowe role platformy Azure dla swojego wystąpienia. Dzięki temu można udzielić uprawnień do określonych akcji w poszczególnych obszarach danych, w tym bliźniaczych reprezentacji, poleceń, relacji, tras zdarzeń, zadań, modeli i zapytań. Aby uzyskać więcej informacji na temat ról niestandardowych na platformie Azure, zobacz Role niestandardowe platformy Azure.

Automatyzowanie ról

W przypadku odwoływania się do ról w zautomatyzowanych scenariuszach zaleca się odwoływanie się do nich przy użyciu identyfikatorów, a nie ich nazw. Nazwy mogą ulec zmianie między wersjami, ale identyfikatory nie będą, dzięki czemu będą one bardziej stabilnym odwołaniem w automatyzacji.

Napiwek

Jeśli przypisujesz role za pomocą polecenia cmdlet, takiego jak New-AzRoleAssignment (odwołanie), możesz użyć parametru -RoleDefinitionId-RoleDefinitionName zamiast przekazać identyfikator zamiast nazwy roli.

Zakresy uprawnień

Przed przypisaniem roli platformy Azure do podmiotu zabezpieczeń określ zakres dostępu, który powinien mieć podmiot zabezpieczeń. Najlepsze rozwiązania określają, że najlepiej przyznać tylko najwęższy możliwy zakres.

Poniższa lista zawiera opis poziomów, na których można określić zakres dostępu do zasobów usługi Azure Digital Twins.

  • Modele: akcje tego zasobu określają kontrolę nad modelami przekazanymi w usłudze Azure Digital Twins.
  • Wykonywanie zapytań względem usługi Digital Twins Graph: akcje dla tego zasobu określają możliwość uruchamiania operacji zapytań na cyfrowych reprezentacjach bliźniaczych w grafie usługi Azure Digital Twins.
  • Digital Twin: akcje dla tego zasobu zapewniają kontrolę nad operacjami CRUD na cyfrowych reprezentacjach bliźniaczych na grafie bliźniaczych reprezentacji bliźniaczych.
  • Relacja usługi Digital Twin: akcje dla tego zasobu definiują kontrolę nad operacjami CRUD na relacjach między reprezentacjami bliźniaczymi w grafie bliźniaczych reprezentacji bliźniaczych.
  • Trasa zdarzeń: akcje dla tego zasobu określają uprawnienia do kierowania zdarzeń z usługi Azure Digital Twins do usługi punktu końcowego, takiej jak Event Hubs, Event Grid lub Service Bus.

Rozwiązywanie problemów z uprawnieniami

Jeśli użytkownik próbuje wykonać akcję niedozwoloną przez rolę, może zostać wyświetlony błąd z odczytu 403 (Forbidden)żądania obsługi. Aby uzyskać więcej informacji i kroków rozwiązywania problemów, zobacz Rozwiązywanie problemów z niepowodzeniem żądania obsługi usługi Azure Digital Twins: Błąd 403 (Zabronione).

Tożsamość zarządzana na potrzeby uzyskiwania dostępu do innych zasobów

Skonfigurowanie tożsamości zarządzanej identyfikatora entrafirmy Microsoft dla wystąpienia usługi Azure Digital Twins może umożliwić wystąpieniu łatwe uzyskiwanie dostępu do innych chronionych zasobów firmy Microsoft Entra, takich jak usługa Azure Key Vault. Tożsamość jest zarządzana przez platformę Azure i nie wymaga aprowizacji ani rotacji żadnych wpisów tajnych. Aby uzyskać więcej informacji na temat tożsamości zarządzanych w usłudze Microsoft Entra ID, zobacz Tożsamości zarządzane dla zasobów platformy Azure.

Usługa Azure Digital Twins obsługuje oba typy tożsamości zarządzanych, przypisane przez system i przypisane przez użytkownika.

Do uwierzytelniania w niestandardowym punkcie końcowym można użyć jednego z tych typów tożsamości zarządzanych. Usługa Azure Digital Twins obsługuje uwierzytelnianie oparte na tożsamościach dla punktów końcowych dla lokalizacji docelowych usługi Event Hubs i usługi Service Bus oraz punkt końcowy kontenera usługi Azure Storage dla zdarzeń utraconych wiadomości. Punkty końcowe usługi Event Grid nie są obecnie obsługiwane w przypadku tożsamości zarządzanych.

Aby uzyskać instrukcje dotyczące włączania tożsamości zarządzanej dla punktu końcowego usługi Azure Digital Twins, który może służyć do kierowania zdarzeń, zobacz Opcje punktu końcowego: uwierzytelnianie oparte na tożsamości.

Używanie zaufanej usługi firmy Microsoft do routingu zdarzeń do punktów końcowych usługi Event Hubs i Service Bus

Usługa Azure Digital Twins może łączyć się z punktami końcowymi usługi Event Hubs i Service Bus w celu wysyłania danych zdarzeń przy użyciu publicznych punktów końcowych tych zasobów. Jeśli jednak te zasoby są powiązane z siecią wirtualną, łączność z zasobami jest domyślnie blokowana. W związku z tym ta konfiguracja uniemożliwia usłudze Azure Digital Twins wysyłanie danych zdarzeń do zasobów.

Aby rozwiązać ten problem, włącz łączność z wystąpienia usługi Azure Digital Twins do zasobów usługi Event Hubs lub Service Bus za pomocą zaufanej opcji usługi firmy Microsoft (zobacz Zaufane usługi firmy Microsoft dla usługi Event Hubs i Zaufane usługi firmy Microsoft dla usługi Service Bus).

Aby włączyć zaufane połączenie z usługą firmy Microsoft, należy wykonać następujące czynności.

  1. Wystąpienie usługi Azure Digital Twins musi używać przypisanej przez system tożsamości zarządzanej. Dzięki temu inne usługi mogą znaleźć twoje wystąpienie jako zaufaną usługę firmy Microsoft. Aby uzyskać instrukcje dotyczące konfigurowania tożsamości zarządzanej przez system w wystąpieniu, zobacz Włączanie tożsamości zarządzanej dla wystąpienia.
  2. Po aprowizowanej tożsamości zarządzanej przypisanej przez system przyznaj tożsamości zarządzanej wystąpienia uprawnienia dostępu do punktu końcowego usługi Event Hubs lub Service Bus (ta funkcja nie jest obsługiwana w usłudze Event Grid). Aby uzyskać instrukcje dotyczące przypisywania odpowiednich ról, zobacz Przypisywanie ról platformy Azure do tożsamości.
  3. W przypadku punktów końcowych usługi Event Hubs i Service Bus, które mają konfiguracje zapory, upewnij się, że włączono ustawienie Zezwalaj na zaufane usługi firmy Microsoft pomijanie tego ustawienia zapory.

Azure Private Link to usługa, która umożliwia dostęp do zasobów platformy Azure (takich jak Azure Event Hubs, Azure Storage i Azure Cosmos DB) oraz hostowanych przez platformę Azure usług klientów i partnerów za pośrednictwem prywatnego punktu końcowego w usłudze Azure Virtual Network (VNet).

Podobnie możesz użyć prywatnych punktów końcowych dostępu dla wystąpienia usługi Azure Digital Twins, aby umożliwić klientom znajdującym się w sieci wirtualnej bezpieczny dostęp interfejsu API REST do wystąpienia za pośrednictwem usługi Private Link. Skonfigurowanie prywatnego punktu końcowego dostępu dla wystąpienia usługi Azure Digital Twins umożliwia zabezpieczenie wystąpienia usługi Azure Digital Twins i wyeliminowanie ujawnienia publicznego. Ponadto pomaga uniknąć eksfiltracji danych z sieci wirtualnej platformy Azure.

Prywatny punkt końcowy dostępu używa adresu IP z przestrzeni adresowej sieci wirtualnej platformy Azure. Ruch sieciowy między klientem w sieci prywatnej a wystąpieniem usługi Azure Digital Twins przechodzi przez sieć wirtualną i usługę Private Link w sieci szkieletowej firmy Microsoft, eliminując narażenie na publiczny Internet. Oto wizualna reprezentacja tego systemu:

Diagram showing a network that is a protected VNET with no public cloud access, connecting through Private Link to an Azure Digital Twins instance.

Skonfigurowanie prywatnego punktu końcowego dostępu dla wystąpienia usługi Azure Digital Twins umożliwia zabezpieczenie wystąpienia usługi Azure Digital Twins i wyeliminowanie publicznego ujawnienia, a także unikanie eksfiltracji danych z sieci wirtualnej.

Aby uzyskać instrukcje dotyczące konfigurowania usługi Private Link dla usługi Azure Digital Twins, zobacz Włączanie dostępu prywatnego za pomocą usługi Private Link.

Uwaga

Dostęp do sieci prywatnej za pomocą usługi Azure Private Link ma zastosowanie do uzyskiwania dostępu do usługi Azure Digital Twins za pośrednictwem interfejsów API rest. Ta funkcja nie ma zastosowania do scenariuszy ruchu wychodzącego przy użyciu funkcji routingu zdarzeń usługi Azure Digital Twins.

Uwagi dotyczące projektowania

Podczas pracy z usługą Private Link dla usługi Azure Digital Twins warto wziąć pod uwagę następujące czynniki:

  • Cennik: aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure Private Link.
  • Dostępność regionalna: usługa Private Link dla usługi Azure Digital Twins jest dostępna we wszystkich regionach świadczenia usługi Azure, w których jest dostępna usługa Azure Digital Twins.
  • Azure Digital Twins Explorer: Eksplorator usługi Azure Digital Twins nie może uzyskać dostępu do wystąpień usługi Azure Digital Twins, które mają wyłączony dostęp publiczny. Możesz jednak użyć funkcji platformy Azure do wdrożenia kodu usługi Azure Digital Twins Explorer prywatnie w chmurze. Aby uzyskać instrukcje dotyczące tego, jak to zrobić, zobacz Azure Digital Twins Explorer: Running in the cloud (Eksplorator usługi Azure Digital Twins: uruchamianie w chmurze).
  • Maksymalna liczba prywatnych punktów końcowych na wystąpienie usługi Azure Digital Twins: 10
  • Inne limity: aby uzyskać więcej informacji na temat limitów usługi Private Link, zobacz dokumentację usługi Azure Private Link: Ograniczenia.

Tagi usługi

Tag usługi reprezentuje grupę prefiksów adresów IP z danej usługi platformy Azure. Firma Microsoft zarządza prefiksami adresów uwzględnionych przez tag usługi i automatycznie aktualizuje tag usługi w miarę zmiany adresów, minimalizując złożoność częstych aktualizacji reguł zabezpieczeń sieci. Aby uzyskać więcej informacji na temat tagów usługi, zobacz Tagi sieci wirtualnej.

Tagi usług umożliwiają definiowanie mechanizmów kontroli dostępu do sieci w sieciowych grupach zabezpieczeń lub w usłudze Azure Firewall przy użyciu tagów usług zamiast określonych adresów IP podczas tworzenia reguł zabezpieczeń. Określając nazwę tagu usługi (w tym przypadku AzureDigitalTwins) w odpowiednim polu źródłowym lub docelowym reguły, możesz zezwolić na ruch dla odpowiedniej usługi lub go zablokować.

Poniżej przedstawiono szczegóły tagu usługi AzureDigitalTwins.

Tag Przeznaczenie Czy można używać ruchu przychodzącego lub wychodzącego? Czy może być regionalny? Czy można używać z usługą Azure Firewall?
AzureDigitalTwins Azure Digital Twins
Uwaga: ten tag lub adresy IP objęte tym tagiem mogą służyć do ograniczania dostępu do punktów końcowych skonfigurowanych dla tras zdarzeń.
Przychodzący Nie. Tak

Używanie tagów usługi do uzyskiwania dostępu do punktów końcowych trasy zdarzeń

Poniżej przedstawiono kroki uzyskiwania dostępu do punktów końcowych trasy zdarzeń przy użyciu tagów usługi w usłudze Azure Digital Twins.

  1. Najpierw pobierz to odwołanie do pliku JSON przedstawiające zakresy adresów IP platformy Azure i tagi usługi: Zakresy adresów IP platformy Azure i tagi usługi.

  2. Wyszukaj zakresy adresów IP "AzureDigitalTwins" w pliku JSON.

  3. Zapoznaj się z dokumentacją zasobu zewnętrznego połączonego z punktem końcowym (na przykład event grid, Event Hubs, Service Bus lub Azure Storage dla zdarzeń utraconych), aby dowiedzieć się, jak ustawić filtry adresów IP dla tego zasobu.

  4. Ustaw filtry adresów IP dla zasobów zewnętrznych przy użyciu zakresów adresów IP z kroku 2.

  5. Okresowo aktualizuj zakresy adresów IP zgodnie z potrzebami. Zakresy mogą ulec zmianie w czasie, dlatego warto je regularnie sprawdzać i odświeżać w razie potrzeby. Częstotliwość tych aktualizacji może się różnić, ale warto je sprawdzić raz w tygodniu.

Szyfrowanie danych w stanie spoczynku

Usługa Azure Digital Twins zapewnia szyfrowanie danych magazynowanych i przesyłanych podczas ich zapisywania w naszych centrach danych oraz odszyfrowuje je podczas uzyskiwania do niego dostępu. To szyfrowanie odbywa się przy użyciu klucza szyfrowania zarządzanego przez firmę Microsoft.

Udostępnianie zasobów z różnych źródeł (CORS)

Usługa Azure Digital Twins obecnie nie obsługuje udostępniania zasobów między źródłami (CORS). W związku z tym, jeśli wywołujesz interfejs API REST z aplikacji przeglądarki, interfejs API Management (APIM) lub łącznik usługi Power Apps , może zostać wyświetlony błąd zasad.

Aby rozwiązać ten błąd, możesz wykonać jedną z następujących czynności:

  • Usuń nagłówek Access-Control-Allow-Origin CORS z komunikatu. Ten nagłówek wskazuje, czy można udostępnić odpowiedź.
  • Alternatywnie utwórz serwer proxy CORS i utwórz za jego pośrednictwem żądanie interfejsu API REST usługi Azure Digital Twins.

Następne kroki