Azure Digital Twins beveiligen

In dit artikel worden best practices voor Azure Digital Twins-beveiliging uitgelegd. Hierin worden rollen en machtigingen, beheerde identiteit, privénetwerktoegang met Azure Private Link, servicetags, versleuteling van data-at-rest en CORS (Cross-Origin Resource Sharing) behandeld.

Voor beveiliging biedt Azure Digital Twins nauwkeurige toegangsbeheer voor specifieke gegevens, resources en acties in uw implementatie. Dit doet u via een gedetailleerde rol- en machtigingsbeheerstrategie met de naam Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC).

Azure Digital Twins ondersteunt ook versleuteling van data-at-rest.

Rollen en machtigingen met Azure RBAC

Azure RBAC wordt geleverd aan Azure Digital Twins via integratie met Microsoft Entra ID.

U kunt Azure RBAC gebruiken om machtigingen te verlenen aan een beveiligingsprincipaal. Dit kan een gebruiker, een groep of een toepassingsservice-principal zijn. De beveiligingsprincipaal wordt geverifieerd door de Microsoft Entra-id en ontvangt een OAuth 2.0-token als resultaat. Dit token kan worden gebruikt om een toegangsaanvraag voor een Azure Digital Twins-exemplaar te autoriseren.

Verificatie en autorisatie

Met Microsoft Entra ID is toegang een proces in twee stappen. Wanneer een beveiligingsprincipaal (een gebruiker, groep of toepassing) toegang probeert te krijgen tot Azure Digital Twins, moet de aanvraag worden geverifieerd en geautoriseerd.

  1. Eerst wordt de identiteit van de beveiligingsprincipaal geverifieerd en wordt een OAuth 2.0-token geretourneerd.
  2. Vervolgens wordt het token doorgegeven als onderdeel van een aanvraag aan de Azure Digital Twins-service om toegang tot de opgegeven resource te autoriseren.

Voor de verificatiestap moet elke toepassingsaanvraag een OAuth 2.0-toegangstoken bevatten tijdens runtime. Als een toepassing wordt uitgevoerd binnen een Azure-entiteit zoals een Azure Functions-app , kan deze een beheerde identiteit gebruiken om toegang te krijgen tot de resources. Lees meer over beheerde identiteiten in de volgende sectie.

Voor de autorisatiestap moet een Azure-rol worden toegewezen aan de beveiligingsprincipaal. De rollen die zijn toegewezen aan een beveiligingsprincipaal bepalen de machtigingen die de principal heeft. Azure Digital Twins biedt Azure-rollen die sets machtigingen omvatten voor Azure Digital Twins-resources. Deze rollen worden verderop in dit artikel beschreven.

Zie De verschillende rollen in de Documentatie van Azure RBAC voor meer informatie over rollen en roltoewijzingen die worden ondersteund in Azure.

Verificatie met beheerde identiteiten

Beheerde identiteiten voor Azure-resources is een functie voor meerdere Azure-resources waarmee u een beveiligde identiteit kunt maken die is gekoppeld aan de implementatie waarin uw toepassingscode wordt uitgevoerd. Vervolgens kunt u die identiteit koppelen aan rollen voor toegangsbeheer om aangepaste machtigingen te verlenen voor toegang tot specifieke Azure-resources die uw toepassing nodig heeft.

Met beheerde identiteiten beheert het Azure-platform deze runtime-identiteit. U hoeft geen toegangssleutels op te slaan en te beveiligen in uw toepassingscode of -configuratie, voor de identiteit zelf of voor de resources die u nodig hebt. Een Azure Digital Twins-client-app die wordt uitgevoerd in een Azure-app Service-toepassing hoeft geen SAS-regels en -sleutels of andere toegangstokens te verwerken. De client-app heeft alleen het eindpuntadres van de Azure Digital Twins-naamruimte nodig. Wanneer de app verbinding maakt, verbindt Azure Digital Twins de context van de beheerde entiteit met de client. Zodra deze is gekoppeld aan een beheerde identiteit, kan uw Azure Digital Twins-client alle geautoriseerde bewerkingen uitvoeren. Vervolgens wordt autorisatie verleend door een beheerde entiteit te koppelen aan een Azure Digital Twins Azure-rol (hieronder beschreven).

Autorisatie: Azure-rollen voor Azure Digital Twins

Azure biedt twee ingebouwde Azure-rollen voor het autoriseren van toegang tot de Azure Digital Twins-gegevensvlak-API's. U kunt naar de rollen verwijzen op naam of op id:

Ingebouwde rol Omschrijving Id
Azure Digital Twins-gegevenseigenaar Biedt volledige toegang via Azure Digital Twins-resources bcd981a7-7f74-457b-83e1-cceb9e632ffe
Azure Digital Twins-gegevenslezer Biedt alleen-lezentoegang tot Azure Digital Twins-resources d57506d4-4c8d-48b1-8587-93c323f6a5a3

U kunt rollen op twee manieren toewijzen:

Zie Een exemplaar en verificatie instellen voor gedetailleerde stappen voor het toewijzen van rollen aan een Azure Digital Twins-exemplaar. Zie Roldefinities begrijpen in de Documentatie van Azure RBAC voor meer informatie over hoe ingebouwde rollen worden gedefinieerd.

U kunt ook aangepaste Azure-rollen maken voor uw exemplaar. Hiermee kunt u machtigingen verlenen voor specifieke acties in afzonderlijke gegevensgebieden, waaronder tweelingen, opdrachten, relaties, gebeurtenisroutes, taken, modellen en query's. Zie aangepaste Azure-rollen voor meer informatie over aangepaste rollen in Azure.

Rollen automatiseren

Wanneer u verwijst naar rollen in geautomatiseerde scenario's, is het raadzaam om ze te raadplegen door hun id's in plaats van hun namen. De namen kunnen veranderen tussen releases, maar de id's niet, waardoor ze een stabielere referentie in automatisering zijn.

Fooi

Als u rollen toewijst met een cmdlet, zoals New-AzRoleAssignment (verwijzing), kunt u de -RoleDefinitionId parameter gebruiken in plaats van -RoleDefinitionName een id door te geven in plaats van een naam voor de rol.

Machtigingsbereik

Voordat u een Azure-rol toewijst een beveiligingsprincipal, moet u het toegangsbereik bepalen dat de beveiligingsprincipal moet hebben. Best practices bepalen dat het het beste is om alleen het smalst mogelijke bereik te verlenen.

In de volgende lijst worden de niveaus beschreven waarop u toegang tot Azure Digital Twins-resources kunt instellen.

  • Modellen: De acties voor deze resource bepalen de controle over modellen die zijn geüpload in Azure Digital Twins.
  • Query's uitvoeren op Digital Twins Graph: de acties voor deze resource bepalen de mogelijkheid om querybewerkingen uit te voeren op digitale dubbels in de Azure Digital Twins-grafiek.
  • Digital Twin: De acties voor deze resource bieden controle over CRUD-bewerkingen op digitale dubbels in de tweelinggrafiek.
  • Digital Twin-relatie: De acties voor deze resource definiëren controle over CRUD-bewerkingen op relaties tussen digitale dubbels in de dubbelgrafiek.
  • Gebeurtenisroute: De acties voor deze resource bepalen machtigingen voor het routeren van gebeurtenissen van Azure Digital Twins naar een eindpuntservice zoals Event Hubs, Event Grid of Service Bus.

Machtigingen oplossen

Als een gebruiker probeert een actie uit te voeren die niet is toegestaan door zijn of haar rol, kan er een foutbericht worden weergegeven van de leesbewerking 403 (Forbidden)van de serviceaanvraag. Zie Problemen met de mislukte serviceaanvraag van Azure Digital Twins oplossen voor meer informatie en stappen voor probleemoplossing: fout 403 (verboden).

Beheerde identiteit voor toegang tot andere resources

Als u een door Microsoft Entra IDbeheerde identiteit instelt voor een Azure Digital Twins-exemplaar, kan het exemplaar eenvoudig toegang krijgen tot andere met Microsoft Entra beveiligde resources, zoals Azure Key Vault. De identiteit wordt beheerd door het Azure-platform en vereist niet dat u geheimen inricht of roteert. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten in Microsoft Entra ID.

Azure Digital Twins ondersteunt beide typen beheerde identiteiten, door het systeem toegewezen en door de gebruiker toegewezen.

U kunt een van deze beheerde identiteitstypen gebruiken om te verifiëren bij een aangepast eindpunt. Azure Digital Twins biedt ondersteuning voor verificatie op basis van identiteiten voor eindpunten voor Event Hubs - en Service Bus-bestemmingen , en naar een Azure Storage-containereindpunt voor gebeurtenissen met een dode letter. Event Grid-eindpunten worden momenteel niet ondersteund voor beheerde identiteiten.

Zie Eindpuntopties: Verificatie op basis van identiteit voor instructies voor het inschakelen van een beheerde identiteit voor een Azure Digital Twins-eindpunt dat kan worden gebruikt om gebeurtenissen te routeren.

Vertrouwde Microsoft-service gebruiken voor het routeren van gebeurtenissen naar Event Hubs en Service Bus-eindpunten

Azure Digital Twins kan verbinding maken met Event Hubs en Service Bus-eindpunten voor het verzenden van gebeurtenisgegevens met behulp van de openbare eindpunten van deze resources. Als deze resources echter zijn gebonden aan een VNet, worden de connectiviteit met de resources standaard geblokkeerd. Als gevolg hiervan voorkomt deze configuratie dat Azure Digital Twins gebeurtenisgegevens naar uw resources verzendt.

U kunt dit oplossen door connectiviteit van uw Azure Digital Twins-exemplaar met uw Event Hubs- of Service Bus-resources in te schakelen via de vertrouwde Microsoft-serviceoptie (zie Vertrouwde Microsoft-services voor Event Hubs en Vertrouwde Microsoft-services voor Service Bus).

U moet de volgende stappen uitvoeren om de vertrouwde Microsoft-serviceverbinding in te schakelen.

  1. Uw Azure Digital Twins-exemplaar moet een door het systeem toegewezen beheerde identiteit gebruiken. Hierdoor kunnen andere services uw exemplaar vinden als een vertrouwde Microsoft-service. Zie Beheerde identiteit inschakelen voor het exemplaar voor instructies voor het instellen van een door het systeem beheerde identiteit voor het exemplaar.
  2. Zodra een door het systeem toegewezen beheerde identiteit is ingericht, verleent u toestemming voor de beheerde identiteit van uw exemplaar voor toegang tot uw Event Hubs- of Service Bus-eindpunt (deze functie wordt niet ondersteund in Event Grid). Zie Azure-rollen toewijzen aan de identiteit voor instructies voor het toewijzen van de juiste rollen.
  3. Zorg ervoor dat u voor Event Hubs en Service Bus-eindpunten met firewallconfiguraties de vertrouwde Microsoft-services toestaan inschakelt om deze firewallinstelling te omzeilen.

Azure Private Link is een service waarmee u toegang hebt tot Azure-resources (zoals Azure Event Hubs, Azure Storage en Azure Cosmos DB) en door Azure gehoste klant- en partnerservices via een privé-eindpunt in uw Azure Virtual Network (VNet).

Op dezelfde manier kunt u privétoegangseindpunten gebruiken voor uw Azure Digital Twins-exemplaar, zodat clients die zich in uw virtuele netwerk bevinden, beveiligde REST API-toegang hebben tot het exemplaar via Private Link. Als u een privétoegangseindpunt configureert voor uw Azure Digital Twins-exemplaar, kunt u uw Azure Digital Twins-exemplaar beveiligen en openbare blootstelling elimineren. Daarnaast voorkomt u gegevensexfiltratie vanuit uw Azure Virtual Network (VNet).

Het eindpunt voor privétoegang maakt gebruik van een IP-adres uit uw Azure VNet-adresruimte. Netwerkverkeer tussen een client in uw privénetwerk en het Azure Digital Twins-exemplaar loopt via het VNet en een Private Link op het Microsoft Backbone-netwerk, waardoor de blootstelling aan het openbare internet wordt geëlimineerd. Hier volgt een visuele weergave van dit systeem:

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

Door een privétoegangseindpunt voor uw Azure Digital Twins-exemplaar te configureren, kunt u uw Azure Digital Twins-exemplaar beveiligen en openbare blootstelling voorkomen, en gegevensexfiltratie van uw VNet voorkomen.

Zie Private Link inschakelen met Private Link voor Instructies voor het instellen van Private Link voor Azure Digital Twins.

Notitie

Privénetwerktoegang met Azure Private Link is van toepassing op toegang tot Azure Digital Twins via de rest-API's. Deze functie is niet van toepassing op uitgaande scenario's met behulp van de functie voor gebeurtenisroutering van Azure Digital Twins.

Ontwerpoverwegingen

Wanneer u met Private Link voor Azure Digital Twins werkt, kunt u het volgende overwegen:

  • Prijzen: Zie prijzen van Azure Private Link voor meer informatie over prijzen.
  • Regionale beschikbaarheid: Private Link voor Azure Digital Twins is beschikbaar in alle Azure-regio's waar Azure Digital Twins beschikbaar is.
  • Azure Digital Twins Explorer: Azure Digital Twins Explorer heeft geen toegang tot Azure Digital Twins-exemplaren waarvoor openbare toegang is uitgeschakeld. U kunt echter Azure-functies gebruiken om de Codebase van Azure Digital Twins Explorer privé in de cloud te implementeren. Zie Azure Digital Twins Explorer: Wordt uitgevoerd in de cloud voor instructies over hoe u dit doet.
  • Maximum aantal privé-eindpunten per Azure Digital Twins-exemplaar: 10
  • Andere limieten: Zie de documentatie van Azure Private Link voor meer informatie over de limieten van Private Link : Beperkingen.

Servicetags

Een servicetag vertegenwoordigt een groep IP-adresvoorvoegsels van een bepaalde Azure-service. Microsoft beheert de adresvoorvoegsels die worden omvat door de servicetag en werkt de servicetag automatisch bij naarmate de adressen veranderen, waardoor de complexiteit van frequente updates voor netwerkbeveiligingsregels wordt geminimaliseerd. Zie Tags voor virtuele netwerken voor meer informatie over servicetags.

U kunt servicetags gebruiken om netwerktoegangsbeheer voor netwerkbeveiligingsgroepen of Azure Firewall te definiëren door servicetags te gebruiken in plaats van specifieke IP-adressen wanneer u beveiligingsregels maakt. Door de naam van de servicetag (in dit geval AzureDigitalTwins) op te geven in het juiste bron - of doelveld van een regel, kunt u het verkeer voor de bijbehorende service toestaan of weigeren.

Hieronder vindt u de details van de servicetag AzureDigitalTwins.

Tag Doel Kunt u binnenkomend of uitgaand gebruiken? Kan het regionaal zijn? Kan dit worden gebruikt met Azure Firewall?
AzureDigitalTwins Azure Digital Twins
Opmerking: deze tag of de IP-adressen waarop deze tag betrekking heeft, kunnen worden gebruikt om de toegang tot eindpunten te beperken die zijn geconfigureerd voor gebeurtenisroutes.
Inkomend Nee Ja

Servicetags gebruiken voor toegang tot eindpunten voor gebeurtenisroute

Hier volgen de stappen voor toegang tot eindpunten voor gebeurtenisroute met behulp van servicetags met Azure Digital Twins.

  1. Download eerst deze JSON-bestandsreferentie met Azure IP-bereiken en servicetags: Azure IP-bereiken en servicetags.

  2. Zoek naar IP-bereiken van AzureDigitalTwins in het JSON-bestand.

  3. Raadpleeg de documentatie van de externe resource die is verbonden met het eindpunt (bijvoorbeeld Event Grid, Event Hubs, Service Bus of Azure Storage voor gebeurtenissen met dode letters) om te zien hoe u IP-filters voor die resource instelt.

  4. Stel IP-filters in voor de externe resource(s) met behulp van de IP-bereiken uit stap 2.

  5. Werk de IP-bereiken regelmatig bij naar behoefte. De bereiken kunnen na verloop van tijd veranderen, dus het is een goed idee om ze regelmatig te controleren en te vernieuwen wanneer dat nodig is. De frequentie van deze updates kan variëren, maar het is een goed idee om ze eenmaal per week te controleren.

Versleuteling van gegevens in rust

Azure Digital Twins biedt versleuteling van data-at-rest en in-transit zoals deze in onze datacenters worden geschreven en ontsleutelt deze voor u wanneer u deze opent. Deze versleuteling vindt plaats met behulp van een door Microsoft beheerde versleutelingssleutel.

Cross-Origin Resource Sharing (CORS)

Azure Digital Twins biedt momenteel geen ondersteuning voor Cross-Origin Resource Sharing (CORS). Als u een REST API aanroept vanuit een browser-app, een API Management-interface (APIM) of een Power Apps-connector , ziet u mogelijk een beleidsfout.

U kunt deze fout oplossen door een van de volgende acties uit te voeren:

  • Strip de CORS-header Access-Control-Allow-Origin uit het bericht. Deze header geeft aan of het antwoord kan worden gedeeld.
  • U kunt ook een CORS-proxy maken en de Azure Digital Twins REST API-aanvraag hiertoe doen.

Volgende stappen