Schützen von Azure Digital Twins

In diesem Artikel werden die bewährten Sicherheitsmethoden von Azure Digital Twins erläutert. Er umfasst Rollen und Berechtigungen, verwaltete Identität, Zugriff auf private Netzwerke mit Azure Private Link, Diensttags, Verschlüsselung von ruhenden Daten und ursprungsübergreifende Ressourcenfreigabe (Cross-Origin Resource Sharing, CORS).

Zur Gewährleistung der Sicherheit ermöglicht Azure Digital Twins eine exakte Zugriffssteuerung für bestimmte Daten, Ressourcen und Aktionen in Ihrer Bereitstellung. Hierzu wird eine präzise Rollen- und Rechteverwaltungsstrategie namens rollenbasierte Zugriffssteuerung in Azure (Role-Based Access Control, Azure RBAC) verwendet.

Azure Digital Twins unterstützt auch die Verschlüsselung ruhender Daten.

Rollen und Berechtigungen mit Azure RBAC

Azure RBAC wird Azure Digital Twins über die Integration mit Microsoft Entra ID bereitgestellt.

Mit Azure RBAC können einem Sicherheitsprinzipal Berechtigungen erteilt werden. Bei einem Sicherheitsprinzipal kann es sich um einen Benutzer, um eine Gruppe oder um einen Anwendungsdienstprinzipal handeln. Der Sicherheitsprinzipal wird von der Microsoft Entra-ID authentifiziert und empfängt ein OAuth 2.0-Token zurück. Dieses Token kann verwendet werden, um eine an eine Azure Digital Twins-Instanz gerichtete Zugriffsanforderung zu autorisieren.

Authentifizierung und Autorisierung

Mit der Microsoft Entra-ID ist der Zugriff ein zweistufiger Prozess. Wenn ein Sicherheitsprinzipal (ein Benutzer, eine Gruppe oder eine Anwendung) versucht, auf Azure Digital Twins zuzugreifen, muss die Anforderung authentifiziert und autorisiert werden.

  1. Zunächst wird die Identität des Sicherheitsprinzipals authentifiziert und ein OAuth 2.0-Token zurückgegeben.
  2. Anschließend wird das Token als Teil einer Anforderung an den Azure Digital Twins-Dienst übergeben, um den Zugriff auf die angegebene Ressource zu autorisieren.

Für den Authentifizierungsschritt muss jede Anwendungsanforderung zur Laufzeit ein OAuth 2.0-Zugriffstoken enthalten. Wird eine Anwendung in einer Azure-Entität ausgeführt (beispielsweise in einer Azure Functions-App), kann für den Zugriff auf die Ressourcen eine verwaltete Identität verwendet werden. Weitere Informationen zu verwalteten Identitäten finden Sie im nächsten Abschnitt.

Für den Autorisierungsschritt muss dem Sicherheitsprinzipal eine Azure-Rolle zugewiesen werden. Die möglichen Berechtigungen eines Sicherheitsprinzipals sind durch die Rollen vorgegeben, die dem Prinzipal zugewiesen sind. Azure Digital Twins stellt Azure-Rollen bereit, die Berechtigungssätze für Azure Digital Twins-Ressourcen enthalten. Diese Rollen werden weiter unten in diesem Artikel beschrieben.

Weitere Informationen zu in Azure unterstützten Rollen und Rollenzuweisungen finden Sie in der Azure RBAC-Dokumentation unter Administratorrollen für klassische Abonnements, Azure-Rollen und Azure AD-Rollen.

Authentifizierung mit verwalteten Identitäten

Verwaltete Identitäten für Azure-Ressourcen ist ein Azure-übergreifendes Feature, mit dem Sie eine sichere Identität für die Bereitstellung erstellen können, in der Ihr Anwendungscode ausgeführt wird. Dieser Identität können dann Zugriffssteuerungsrollen zugeordnet werden, um benutzerdefinierte Berechtigungen für den Zugriff auf bestimmte Azure-Ressourcen zu erteilen, die Ihre Anwendung benötigt.

Die Azure-Plattform verwaltet diese Laufzeitidentität mit verwalteten Identitäten. Sie müssen keine Zugriffsschlüssel in Ihrem Anwendungscode speichern und schützen – weder für die Identität selbst noch für die Ressourcen, auf die zugegriffen werden muss. Von einer Azure Digital Twins-Client-App, die innerhalb einer Azure App Service-Anwendung ausgeführt wird, müssen keine SAS-Regeln und -Schlüssel oder andere Zugriffstoken verarbeitet werden. Die Client-App benötigt nur die Endpunktadresse des Azure Digital Twins-Namespace. Wenn die App eine Verbindung herstellt, bindet Azure Digital Twins den Kontext der verwalteten Entität an den Client. Nach der Zuordnung zu einer verwalteten Identität können von Ihrem Azure Digital Twins-Client sämtliche autorisierten Vorgänge ausgeführt werden. Zur Autorisierung wird dann eine verwaltete Entität einer Azure Digital Twins-Rolle zugeordnet, wie im Anschluss beschrieben.

Autorisierung: Azure-Rollen für Azure Digital Twins

Azure bietet zwei integrierte Azure-Rollen zum Autorisieren des Zugriffs auf die Azure Digital Twins-Datenebenen-APIs. Sie können auf die Rollen entweder über den Namen oder über die ID verweisen:

Integrierte Rolle BESCHREIBUNG id
Azure Digital Twins Data Owner (Azure Digital Twins-Datenbesitzer) Bietet Vollzugriff auf Azure Digital Twins-Ressourcen bcd981a7-7f74-457b-83e1-cceb9e632ffe
Azure Digital Twins Data Reader (Azure Digital Twins-Datenleser) Bietet schreibgeschützten Zugriff auf Azure Digital Twins-Ressourcen d57506d4-4c8d-48b1-8587-93c323f6a5a3

Rollen können auf zwei Arten zugewiesen werden:

Ausführliche Schritte zum Zuweisen von Rollen zu einer Azure Digital Twins-Instanz finden Sie unter Einrichten einer Instanz und Authentifizierung. Weitere Informationen zur Definition integrierter Rollen finden Sie in der Azure RBAC-Dokumentation unter Grundlegendes zu Azure-Rollendefinitionen.

Sie können auch benutzerdefinierte Azure-Rollen für Ihre Instanz erstellen. Auf diese Weise können Sie berechtigungen für bestimmte Aktionen in einzelnen Datenbereichen erteilen, darunter Zwillinge, Befehle, Beziehungen, Ereignisrouten, Aufträge, Modelle und Abfragen. Weitere Informationen zu benutzerdefinierten Rollen in Azure finden Sie unter Benutzerdefinierte Azure-Rollen.

Automatisieren von Rollen

Wenn Sie sich auf Rollen in automatisierten Szenarien beziehen, empfiehlt es sich, auf diese mit ihren IDs und nicht mit ihren Namen zu verweisen. Die Namen können sich zwischen den einzelnen Versionen ändern, die IDs jedoch nicht, was sie zu einer beständigeren Referenz in der Automation macht.

Tipp

Wenn Sie Rollen mit einem Cmdlet zuweisen, z. B. New-AzRoleAssignment (Verweis), können Sie den Parameter -RoleDefinitionId anstelle von -RoleDefinitionName verwenden, um eine ID anstelle eines Namens für die Rolle zu übergeben.

Berechtigungsbereiche

Bevor Sie einem Sicherheitsprinzipal eine Azure-Rolle zuweisen, legen Sie den Zugriffsbereich fest, den der Sicherheitsprinzipal haben soll. Es empfiehlt sich, immer nur den kleinstmöglichen Umfang zu gewähren.

In der folgenden Liste werden die Ebenen beschrieben, auf denen Sie den Zugriff auf Azure Digital Twins-Ressourcen einschränken können:

Behandeln von Problemen mit Berechtigungen

Wenn ein Benutzer versucht, eine Aktion auszuführen, die für seine Rolle nicht zulässig ist, wird möglicherweise der folgende Fehler von der Dienstanforderung zurückgegeben: 403 (Forbidden). Weitere Informationen und Schritte zur Problembehandlung finden Sie unter Problembehandlung bei einem fehlerhaften Service Request in Azure Digital Twins: Fehler 403 (Verboten).

Verwaltete Identität für Zugriff auf andere Ressourcen

Durch das Einrichten einer verwalteten Microsoft Entra-IDfür eine Azure Digital Twins-Instanz kann die Instanz problemlos auf andere von Microsoft Entra geschützte Ressourcen wie Azure Key Vault zugreifen. Da die Identität von der Azure-Plattform verwaltet wird, müssen Sie keine Geheimnisse bereitstellen oder rotieren. Weitere Informationen zu verwalteten Identitäten in Microsoft Entra ID finden Sie unter Verwaltete Identitäten für Azure-Ressourcen.

Azure Digital Twins unterstützt beide Typen von verwalteten Identitäten: systemseitig zugewiesen und benutzerseitig zugewiesen.

Sie können beide verwalteten Identitätstypen verwenden, um sich bei einem benutzerdefinierten Endpunkt zu authentifizieren. Azure Digital Twins unterstützt identitätsbasierte Authentifizierung für Endpunkte für Event Hubs- und Service Bus-Ziele sowie für einen Endpunkt für Azure Storage-Container für Ereignisse unzustellbarer Nachrichten. Event Grid-Endpunkte werden für verwaltete Identitäten aktuell nicht unterstützt.

Anweisungen zum Aktivieren einer verwalteten Identität für einen Azure Digital Twins-Endpunkt, der zum Weiterleiten von Ereignissen verwendet werden kann, finden Sie unter Endpunktoptionen: Identitätsbasierte Authentifizierung.

Verwenden des vertrauenswürdigen Microsoft-Diensts zum Routing von Ereignissen an Event Hubs und Service Bus-Endpunkte

Azure Digital Twins können eine Verbindung mit Event Hubs und Service Bus-Endpunkten herstellen, um Ereignisdaten zu senden, wobei die öffentlichen Endpunkte dieser Ressourcen verwendet werden. Wenn diese Ressourcen jedoch an ein VNet gebunden sind, werden die Verbindungen mit den Ressourcen standardmäßig blockiert. Daher verhindert diese Konfiguration, dass Azure Digital Twins Ereignisdaten an Ihre Ressourcen sendet.

Um dies zu beheben, aktivieren Sie die Konnektivität von Ihrer Azure Digital Twins-Instanz mit Ihren Event Hubs- oder Service Bus-Ressourcen über die vertrauenswürdige Microsoft-Dienstoption (siehe vertrauenswürdige Microsoft-Dienste für Event Hubs und vertrauenswürdige Microsoft-Dienste für Service Bus).

Sie müssen die folgenden Schritte ausführen, um die vertrauenswürdige Microsoft-Dienstverbindung zu aktivieren.

  1. Ihre Azure Digital Twins-Instanz muss eine vom System zugewiesene verwaltete Identität verwenden. Dadurch können andere Dienste Ihre Instanz als vertrauenswürdigen Microsoft-Dienst finden. Anweisungen zum Einrichten einer vom System verwalteten Identität in der Instanz finden Sie unter Aktivieren der verwalteten Identität für die Instanz.
  2. Nachdem eine vom System zugewiesene verwaltete Identität bereitgestellt wurde, erteilen Sie die Berechtigung für die verwaltete Identität Ihrer Instanz für den Zugriff auf Ihren Event Hubs- oder ServiceBus-Endpunkt (dieses Feature wird im Ereignisraster nicht unterstützt). Anweisungen zum Zuweisen der richtigen Rollen finden Sie unter Zuweisen von Azure-Rollen zur Identität.
  3. Stellen Sie für Event Hubs und Service Bus-Endpunkte mit Firewallkonfigurationen sicher, dass Sie die vertrauenswürdige Microsoft-Dienste aktivieren, um diese Firewalleinstellung zu umgehen.

Azure Private Link ist ein Dienst, der es Ihnen ermöglicht, auf Azure-Ressourcen wie Azure Event Hubs, Azure Storage und Azure Cosmos DB sowie von Azure gehostete Kunden- und Partnerdienste über einen privaten Endpunkt in Ihrer Azure Virtual Network-Instanz zuzugreifen.

Ebenso können Sie private Zugriffsendpunkte für Ihre Azure Digital Twins-Instanz verwenden, um Clients, die sich in Ihrem virtuellen Netzwerk befinden, einen sicheren REST-API-Zugriff auf die Instanz über private Verknüpfung zu ermöglichen. Wenn Sie einen privaten Zugriffsendpunkt für Ihre Azure Digital Twins-Instanz konfigurieren, können Sie Ihre Azure Digital Twins-Instanz schützen und öffentliche Gefährdungen beseitigen. Darüber hinaus hilft es dabei, eine Daten Exfiltration aus Ihrem Azure Virtual Network (VNET) zu vermeiden.

Der Endpunkt für den privaten Zugriff verwendet eine IP-Adresse aus Ihrem Azure VNet-Adressraum. Der Netzwerkdatenverkehr zwischen einem Client in Ihrem privaten Netzwerk und der Azure Digital Twins-Instanz wird über das virtuelle Netzwerk und Private Link im Microsoft-Backbonenetzwerk geleitet, sodass keine Offenlegung im öffentlichen Internet erfolgt. Dies ist eine visuelle Darstellung dieses Systems:

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

Durch das Konfigurieren eines privaten Zugriffsendpunkts für Ihre Azure Digital Twins-Instanz können Sie Ihre Azure Digital Twins-Instanz schützen und öffentliche Gefährdungen beseitigen sowie Datenexfiltration von Ihrem VNet vermeiden.

Eine Anleitung zum Einrichten von Private Link für Azure Digital Twins finden Sie unter Aktivieren des privaten Zugriffs mit Private Link.

Hinweis

Der Zugriff auf private Netzwerke mit Azure Private Link gilt für den Zugriff auf Azure Digital Twins über die rest-APIs. Dieses Feature gilt nicht für Ausgangsszenarien, die das Ereignisroutingfeature von Azure Digital Twins verwenden.

Überlegungen zum Entwurf

Hier finden Sie einige Faktoren, die Sie berücksichtigen sollten, wenn Sie Private Link mit Azure Digital Twins verwenden:

  • Preise: Einzelheiten zur Preisgestaltung finden Sie unter Azure Private Link – Preise.
  • Regionale Verfügbarkeit: Private Link für Azure Digital Twins steht in allen Azure-Regionen zur Verfügung, in denen Azure Digital Twins verfügbar ist.
  • Azure Digital Twins-Explorer: Der Azure Digital Twins-Explorer kann nicht auf Azure Digital Twins-Instanzen zugreifen, für die der öffentliche Zugriff deaktiviert ist. Sie können jedoch Azure-Funktionen verwenden, um die Codebasis für den Azure Digital Twins-Explorer privat in der Cloud bereitzustellen. Entsprechende Anweisungen finden Sie unter Azure Digital Twins-Explorer: Ausführen in der Cloud.
  • Maximale Anzahl privater Endpunkte pro Azure Digital Twins-Instanz: 10
  • Sonstige Einschränkungen: Informationen zu den Einschränkungen von Private Link finden Sie unter Azure Private Link-Dokumentation: Einschränkungen.

Diensttags

Ein Diensttag steht für eine Gruppe von IP-Adresspräfixen aus einem bestimmten Azure-Dienst. Microsoft verwaltet die Adresspräfixe, für die das Diensttag gilt, und aktualisiert das Tag automatisch, wenn sich die Adressen ändern. Auf diese Weise wird die Komplexität häufiger Updates an Netzwerksicherheitsregeln minimiert. Weitere Informationen zu Diensttags finden Sie unter Tags für virtuelle Netzwerke.

Sie können Diensttags verwenden, um Netzwerkzugriffssteuerungen für Netzwerksicherheitsgruppen oder Azure Firewall zu definieren, indem Sie Diensttags anstelle spezifischer IP-Adressen verwenden, wenn Sie Sicherheitsregeln erstellen. Wenn Sie den Diensttagnamen (in diesem Fall „AzureDigitalTwins“) im entsprechenden Feld für Quelle oder Ziel einer Regel angeben, können Sie den Datenverkehr für den entsprechenden Dienst zulassen oder verweigern.

Im Folgenden finden Sie die Details zum AzureDigitalTwins-Diensttag.

Tag Zweck Eingehend oder ausgehend möglich? Regional möglich? Einsatz mit Azure Firewall möglich?
AzureDigitalTwins Azure Digital Twins
Hinweis: Dieses Tag oder die IP-Adressen, die von diesem Tag abgedeckt werden, können verwendet werden, um den Zugriff auf Endpunkte einzuschränken, die für Ereignisrouten konfiguriert sind.
Eingehend Nein Ja

Verwenden von Diensttags für den Zugriff auf Ereignisroutenendpunkte

Die folgenden Schritte sind für den Zugriff auf Ereignisroutenendpunkte mithilfe von Diensttags mit Azure Digital Twins erforderlich.

  1. Laden Sie zunächst diese JSON-Dateireferenz herunter, in der Azure-IP-Bereiche und -Diensttags angezeigt werden: Azure-IP-Bereiche und -Diensttags.

  2. Suchen Sie in der JSON-Datei nach IP-Adressbereichen für „AzureDigitalTwins“.

  3. In der Dokumentation zur externen Ressource, die mit dem Endpunkt verbunden ist (z. B. Event Grid, Event Hubs, Service Bus oder Azure Storage für Ereignisse für unzustellbare Nachrichten), erfahren Sie, wie Sie IP-Filter für diese Ressource festlegen.

  4. Legen Sie IP-Filter für die externen Ressourcen mithilfe der IP-Adressbereiche aus Schritt 2 fest.

  5. Aktualisieren Sie die IP-Adressbereiche regelmäßig nach Bedarf. Die Bereiche können sich im Laufe der Zeit ändern. Daher empfiehlt es sich, diese regelmäßig zu überprüfen und bei Bedarf zu aktualisieren. Die Häufigkeit dieser Updates kann variieren, aber es ist ratsam, sie ein Mal pro Woche zu überprüfen.

Verschlüsselung für ruhende Daten

Azure Digital Twins bietet Verschlüsselung von ruhenden Daten und bei der Übertragung, während sie in unseren Rechenzentren geschrieben werden, und entschlüsselt die Daten, wenn Sie auf sie zugreifen. Diese Verschlüsselung erfolgt mithilfe eines von Microsoft verwalteten Verschlüsselungsschlüssels.

Ressourcenfreigabe zwischen verschiedenen Ursprüngen (CORS)

CORS (Cross-Origin Resource Sharing) wird in Azure Digital Twins derzeit nicht unterstützt. Wenn Sie eine REST-API über eine Browser-App, eine API Management (APIM)-Schnittstelle oder einen Power Apps-Connector aufrufen, wird daher möglicherweise ein Richtlinienfehler angezeigt.

Zum Beheben dieses Fehlers können Sie eine der folgenden Aktionen durchführen:

  • Entfernen Sie den CORS-Header Access-Control-Allow-Origin aus der Nachricht. Dieser Header gibt an, ob die Antwort freigegeben werden kann.
  • Alternativ können Sie einen CORS-Proxy erstellen und über diesen die REST-API-Anforderung von Azure Digital Twins stellen.

Nächste Schritte