Dela via


Skydda Azure Digital Twins

I den här artikeln beskrivs metodtips för Säkerhet i Azure Digital Twins. Den omfattar roller och behörigheter, hanterad identitet, åtkomst till privata nätverk med Azure Private Link, tjänsttaggar, kryptering av vilande data och resursdelning mellan ursprung (CORS).

För säkerhet ger Azure Digital Twins exakt åtkomstkontroll över specifika data, resurser och åtgärder i distributionen. Det gör det via en detaljerad roll- och behörighetshanteringsstrategi som kallas rollbaserad åtkomstkontroll i Azure (Azure RBAC).

Azure Digital Twins stöder även kryptering av vilande data.

Roller och behörigheter med Azure RBAC

Azure RBAC tillhandahålls till Azure Digital Twins via integrering med Microsoft Entra-ID.

Du kan använda Azure RBAC för att bevilja behörigheter till ett säkerhetsobjekt, som kan vara en användare, en grupp eller ett huvudnamn för programtjänsten. Säkerhetsobjektet autentiseras av Microsoft Entra-ID och tar emot en OAuth 2.0-token i gengäld. Den här token kan användas för att auktorisera en åtkomstbegäran till en Azure Digital Twins-instans.

Autentisering och auktorisering

Med Microsoft Entra-ID är åtkomst en tvåstegsprocess. När ett säkerhetsobjekt (en användare, grupp eller ett program) försöker komma åt Azure Digital Twins måste begäran autentiseras och auktoriseras.

  1. Först autentiseras säkerhetsobjektets identitet och en OAuth 2.0-token returneras.
  2. Därefter skickas token som en del av en begäran till Azure Digital Twins-tjänsten för att ge åtkomst till den angivna resursen.

Autentiseringssteget kräver att alla programbegäranden innehåller en OAuth 2.0-åtkomsttoken vid körning. Om ett program körs inom en Azure-entitet, till exempel en Azure Functions-app , kan det använda en hanterad identitet för att komma åt resurserna. Läs mer om hanterade identiteter i nästa avsnitt.

Auktoriseringssteget kräver att en Azure-roll tilldelas säkerhetsobjektet. De roller som tilldelas ett säkerhetsobjekt avgör vilka behörigheter som huvudkontot ska ha. Azure Digital Twins tillhandahåller Azure-roller som omfattar uppsättningar med behörigheter för Azure Digital Twins-resurser. Dessa roller beskrivs senare i den här artikeln.

Mer information om roller och rolltilldelningar som stöds i Azure finns i Förstå de olika rollerna i Azure RBAC-dokumentationen.

Autentisering med hanterade identiteter

Hanterade identiteter för Azure-resurser är en funktion mellan Azure som gör att du kan skapa en säker identitet som är associerad med distributionen där programkoden körs. Du kan sedan associera den identiteten med åtkomstkontrollroller för att bevilja anpassade behörigheter för åtkomst till specifika Azure-resurser som ditt program behöver.

Med hanterade identiteter hanterar Azure-plattformen den här körningsidentiteten. Du behöver inte lagra och skydda åtkomstnycklar i programkoden eller konfigurationen, varken för själva identiteten eller för de resurser som du behöver åtkomst till. En Azure Digital Twins-klientapp som körs i ett Azure App Service-program behöver inte hantera SAS-regler och -nycklar eller andra åtkomsttoken. Klientappen behöver bara slutpunktsadressen för Azure Digital Twins-namnområdet. När appen ansluter binder Azure Digital Twins den hanterade entitetens kontext till klienten. När den är associerad med en hanterad identitet kan din Azure Digital Twins-klient utföra alla auktoriserade åtgärder. Auktorisering beviljas sedan genom att associera en hanterad entitet med en Azure Digital Twins Azure-roll (beskrivs nedan).

Auktorisering: Azure-roller för Azure Digital Twins

Azure tillhandahåller två inbyggda Azure-roller för att auktorisera åtkomst till Azure Digital Twins-api :er för dataplanet. Du kan referera till rollerna antingen efter namn eller efter ID:

Inbyggd roll beskrivning ID
Azure Digital Twins-dataägare Ger fullständig åtkomst till Azure Digital Twins-resurser bcd981a7-7f74-457b-83e1-cceb9e632ffe
Dataläsare för Azure Digital Twins Ger skrivskyddad åtkomst till Azure Digital Twins-resurser d57506d4-4c8d-48b1-8587-93c323f6a5a3

Du kan tilldela roller på två sätt:

Detaljerade anvisningar om hur du tilldelar roller till en Azure Digital Twins-instans finns i Konfigurera en instans och autentisering. Mer information om hur inbyggda roller definieras finns i Förstå rolldefinitioner i Azure RBAC-dokumentationen.

Du kan också skapa anpassade Azure-roller för din instans. På så sätt kan du bevilja behörighet för specifika åtgärder i enskilda dataområden, inklusive tvillingar, kommandon, relationer, händelsevägar, jobb, modeller och frågor. Mer information om anpassade roller i Azure finns i Anpassade Azure-roller.

Automatisera roller

När du refererar till roller i automatiserade scenarier rekommenderar vi att du refererar till dem med deras ID:n i stället för deras namn. Namnen kan ändras mellan versioner, men inte ID:erna, vilket gör dem till en stabilare referens i automatiseringen.

Dricks

Om du tilldelar roller med en cmdlet, till exempel New-AzRoleAssignment (referens), kan du använda parametern -RoleDefinitionId i stället för -RoleDefinitionName att skicka ett ID i stället för ett namn för rollen.

Omfattning för behörighet

Innan du tilldelar en Azure-roll till ett säkerhetsobjekt ska du bestämma omfånget för åtkomst som säkerhetsobjektet ska ha. Bästa praxis kräver att det är bäst att endast bevilja minsta möjliga omfång.

I följande lista beskrivs de nivåer där du kan begränsa åtkomsten till Azure Digital Twins-resurser.

  • Modeller: Åtgärderna för den här resursen styr över modeller som laddats upp i Azure Digital Twins.
  • Fråga Digital Twins Graph: Åtgärderna för den här resursen avgör möjligheten att köra frågeåtgärder på digitala tvillingar i Azure Digital Twins-grafen.
  • Digital tvilling: Åtgärderna för den här resursen ger kontroll över CRUD-åtgärder på digitala tvillingar i tvillingdiagrammet.
  • Digital Twin-relation: Åtgärderna för den här resursen definierar kontroll över CRUD-åtgärder för relationer mellan digitala tvillingar i tvillingdiagrammet.
  • Händelseväg: Åtgärderna för den här resursen avgör behörigheter för att dirigera händelser från Azure Digital Twins till en slutpunktstjänst som Event Hubs, Event Grid eller Service Bus.

Felsöka behörigheter

Om en användare försöker utföra en åtgärd som inte tillåts av deras roll kan de få ett fel från tjänstbegäran som läser 403 (Forbidden). Mer information och felsökningssteg finns i Felsöka azure digital twins-tjänstbegäran: Fel 403 (förbjudet).

Hanterad identitet för åtkomst till andra resurser

Om du konfigurerar en hanterad Microsoft Entra-ID-identitet för en Azure Digital Twins-instans kan instansen enkelt komma åt andra Microsoft Entra-skyddade resurser, till exempel Azure Key Vault. Identiteten hanteras av Azure-plattformen och kräver inte att du etablerar eller roterar några hemligheter. Mer information om hanterade identiteter i Microsoft Entra-ID finns i Hanterade identiteter för Azure-resurser.

Azure Digital Twins stöder båda typerna av hanterade identiteter, systemtilldelade och användartilldelade.

Du kan använda någon av dessa hanterade identitetstyper för att autentisera till en egendefinierad slutpunkt. Azure Digital Twins stöder identitetsbaserad autentisering till slutpunkter för Event Hubs- och Service Bus-mål och till en Azure Storage Container-slutpunkt för händelser med obeställbara meddelanden. Event Grid-slutpunkter stöds för närvarande inte för hanterade identiteter.

Anvisningar om hur du aktiverar en hanterad identitet för en Azure Digital Twins-slutpunkt som kan användas för att dirigera händelser finns i Slutpunktsalternativ: Identitetsbaserad autentisering.

Använda betrodd Microsoft-tjänst för routning av händelser till Event Hubs- och Service Bus-slutpunkter

Azure Digital Twins kan ansluta till Event Hubs- och Service Bus-slutpunkter för att skicka händelsedata med hjälp av dessa resursers offentliga slutpunkter. Men om dessa resurser är bundna till ett virtuellt nätverk blockeras anslutningen till resurserna som standard. Därför förhindrar den här konfigurationen att Azure Digital Twins skickar händelsedata till dina resurser.

Lös problemet genom att aktivera anslutning från din Azure Digital Twins-instans till dina Event Hubs- eller Service Bus-resurser via det betrodda Microsoft-tjänstalternativet (se Trusted Microsoft usluge for Event Hubs and Trusted Microsoft usluge for Service Bus).

Du måste utföra följande steg för att aktivera den betrodda Microsoft-tjänstanslutningen.

  1. Din Azure Digital Twins-instans måste använda en systemtilldelad hanterad identitet. På så sätt kan andra tjänster hitta din instans som en betrodd Microsoft-tjänst. Anvisningar för hur du konfigurerar en systemhanterad identitet på instansen finns i Aktivera hanterad identitet för instansen.
  2. När en systemtilldelad hanterad identitet har etablerats beviljar du behörighet för din instans hanterade identitet för att få åtkomst till din Event Hubs- eller Service Bus-slutpunkt (den här funktionen stöds inte i Event Grid). Instruktioner för att tilldela rätt roller finns i Tilldela Azure-roller till identiteten.
  3. För Event Hubs- och Service Bus-slutpunkter som har brandväggskonfigurationer på plats måste du aktivera inställningen Tillåt betrodda Microsoft usluge att kringgå den här brandväggsinställningen.

Azure Private Link är en tjänst som gör att du kan komma åt Azure-resurser (till exempel Azure Event Hubs, Azure Storage och Azure Cosmos DB) och Azure-värdbaserade kund- och partnertjänster via en privat slutpunkt i ditt virtuella Azure-nätverk (VNet).

På samma sätt kan du använda privata åtkomstslutpunkter för din Azure Digital Twins-instans för att tillåta klienter som finns i ditt virtuella nätverk att ha säker REST API-åtkomst till instansen via Private Link. Genom att konfigurera en privat åtkomstslutpunkt för din Azure Digital Twins-instans kan du skydda din Azure Digital Twins-instans och eliminera offentlig exponering. Dessutom hjälper det till att undvika dataexfiltrering från ditt virtuella Azure-nätverk (VNet).

Den privata åtkomstslutpunkten använder en IP-adress från ditt azure VNet-adressutrymme. Nätverkstrafik mellan en klient i ditt privata nätverk och Azure Digital Twins-instansen passerar över det virtuella nätverket och en Private Link i Microsofts stamnätverk, vilket eliminerar exponeringen för det offentliga Internet. Här är en visuell representation av det här systemet:

Diagram som visar ett nätverk som är ett skyddat VNET utan åtkomst till det offentliga molnet, som ansluter via Private Link till en Azure Digital Twins-instans.

Genom att konfigurera en privat åtkomstslutpunkt för din Azure Digital Twins-instans kan du skydda din Azure Digital Twins-instans och eliminera offentlig exponering samt undvika dataexfiltrering från ditt virtuella nätverk.

Anvisningar om hur du konfigurerar Private Link för Azure Digital Twins finns i Aktivera privat åtkomst med Private Link.

Kommentar

Åtkomst till privata nätverk med Azure Private Link gäller för åtkomst till Azure Digital Twins via dess rest-API:er. Den här funktionen gäller inte för utgående scenarier med hjälp av Azure Digital Twins händelsedirigeringsfunktion.

Utformningsbeaktanden

När du arbetar med Private Link för Azure Digital Twins kan du tänka på följande:

  • Prissättning: Information om priser finns i Priser för Azure Private Link.
  • Regional tillgänglighet: Private Link för Azure Digital Twins är tillgängligt i alla Azure-regioner där Azure Digital Twins är tillgängligt.
  • Azure Digital Twins Explorer: Azure Digital Twins Explorer kan inte komma åt Azure Digital Twins-instanser som har offentlig åtkomst inaktiverad. Du kan dock använda Azure-funktioner för att distribuera Azure Digital Twins Explorer-kodbasen privat i molnet. Anvisningar om hur du gör detta finns i Azure Digital Twins Explorer: Körs i molnet.
  • Maximalt antal privata slutpunkter per Azure Digital Twins-instans: 10
  • Andra begränsningar: Mer information om gränserna för Private Link finns i Dokumentation om Azure Private Link: Begränsningar.

Tjänsttaggar

En tjänsttagg representerar en grupp IP-adressprefix från en viss Azure-tjänst. Microsoft hanterar adressprefixen som omfattas av tjänsttaggen och uppdaterar automatiskt tjänsttaggen när adresserna ändras, vilket minimerar komplexiteten i frekventa uppdateringar av nätverkssäkerhetsregler. Mer information om tjänsttaggar finns i Taggar för virtuellt nätverk.

Du kan använda tjänsttaggar för att definiera nätverksåtkomstkontroller i nätverkssäkerhetsgrupper eller Azure Firewall genom att använda tjänsttaggar i stället för specifika IP-adresser när du skapar säkerhetsregler. Genom att ange namnet på tjänsttaggen (i det här fallet AzureDigitalTwins) i lämpligt käll- eller målfält för en regel kan du tillåta eller neka trafik för motsvarande tjänst.

Nedan visas information om tjänsttaggen AzureDigitalTwins.

Tagg Syfte Kan du använda inkommande eller utgående trafik? Kan vara regional? Kan du använda med Azure Firewall?
AzureDigitalTwins Azure Digital Twins
Obs! Den här taggen eller IP-adresserna som omfattas av den här taggen kan användas för att begränsa åtkomsten till slutpunkter som konfigurerats för händelsevägar.
Inkommande Nej Ja

Använda tjänsttaggar för åtkomst till händelsevägsslutpunkter

Här följer stegen för att komma åt slutpunkter för händelseroutning med hjälp av tjänsttaggar med Azure Digital Twins.

  1. Börja med att ladda ned den här JSON-filreferensen som visar Azure IP-intervall och tjänsttaggar: Azure IP-intervall och tjänsttaggar.

  2. Leta efter IP-intervallen "AzureDigitalTwins" i JSON-filen.

  3. Se dokumentationen för den externa resurs som är ansluten till slutpunkten (till exempel Event Grid, Event Hubs, Service Bus eller Azure Storage för händelser med obeställbara bokstäver) för att se hur du anger IP-filter för den resursen.

  4. Ange IP-filter på de externa resurserna med hjälp av IP-intervallen från steg 2.

  5. Uppdatera IP-intervallen regelbundet efter behov. Intervallen kan ändras med tiden, så det är en bra idé att kontrollera dem regelbundet och uppdatera dem när det behövs. Frekvensen för dessa uppdateringar kan variera, men det är en bra idé att kontrollera dem en gång i veckan.

Data i paus och kryptering

Azure Digital Twins tillhandahåller kryptering av vilande data och under överföring när de skrivs i våra datacenter och dekrypterar dem åt dig när du kommer åt dem. Den här krypteringen sker med hjälp av en Microsoft-hanterad krypteringsnyckel.

Resursdelning med flera ursprung (CORS)

Azure Digital Twins har för närvarande inte stöd för resursdelning mellan ursprung (CORS). Om du anropar ett REST-API från en webbläsarapp, ett API Management-gränssnitt (APIM) eller en Power Apps-anslutningsapp kan det därför uppstå ett principfel.

Du kan lösa det här felet genom att utföra någon av följande åtgärder:

  • Ta bort CORS-huvudet Access-Control-Allow-Origin från meddelandet. Den här rubriken anger om svaret kan delas.
  • Du kan också skapa en CORS-proxy och göra EN REST API-begäran för Azure Digital Twins via den.

Nästa steg