Rollbaserad åtkomstkontroll i Azure Digital Twins
Viktigt
En ny version av Azure Digital Twins-tjänsten har släppts. Mot bakgrund av den nya tjänstens utökade funktioner har den ursprungliga Azure Digital Twins-tjänsten (beskrivs i den här dokumentationsuppsättningen) dragits tillbaka.
Om du vill visa dokumentationen för den nya tjänsten går du till den aktiva Azure Digital Twins-dokumentationen.
Azure Digital Twins ger exakt åtkomstkontroll över specifika data, resurser och åtgärder i din rumsliga graf. Det sker via detaljerad roll- och behörighetshantering som kallas rollbaserad åtkomstkontroll (RBAC). RBAC består av roller och rolltilldelningar. Roller identifierar behörighetsnivån. Rolltilldelningar associerar en roll med en användare eller enhet.
Med hjälp av RBAC kan behörighet beviljas för:
- En användare.
- En enhet.
- Ett huvudnamn för tjänsten.
- En användardefinierad funktion.
- Alla användare som tillhör en domän.
- En klientorganisation.
Åtkomstgraden kan också finjusteras.
RBAC är unikt eftersom behörigheter ärvs nedåt i den rumsliga grafen.
Vad kan jag göra med RBAC?
En utvecklare kan använda RBAC för att:
- Ge en användare möjlighet att hantera enheter för en hel byggnad eller endast för ett visst rum eller en viss våning.
- Ge en administratör global åtkomst till alla rumsliga grafnoder för en hel graf, eller bara för en del av diagrammet.
- Bevilja en supportspecialist läsåtkomst till diagrammet, förutom åtkomstnycklar.
- Ge alla medlemmar i en domän läsbehörighet till alla grafobjekt.
Metodtips för RBAC
Rollbaserad åtkomstkontroll är en arvsdriven säkerhetsstrategi för hantering av åtkomst, behörigheter och roller. Underordnade roller ärver behörigheter från överordnade roller. Behörigheter kan också tilldelas utan att ärvas från en överordnad roll. De kan också tilldelas för att anpassa en roll efter behov.
En utrymmesadministratör kan till exempel behöva global åtkomst för att köra alla åtgärder för ett angivet utrymme. Åtkomst omfattar alla noder under eller inom utrymmet. Ett installationsprogram för enheter kanske bara behöver läs- och uppdateringsbehörigheter för enheter och sensorer.
I varje fall beviljas roller exakt och inte mer än den åtkomst som krävs för att utföra sina uppgifter enligt principen om lägsta behörighet. Enligt denna princip beviljas en identitet endast:
- Den mängd åtkomst som krävs för att slutföra jobbet.
- En lämplig och begränsad roll för att utföra sitt arbete.
Viktigt
Följ alltid principen om lägsta behörighet.
Två andra viktiga rollbaserade metoder för åtkomstkontroll som ska följas:
- Granska rolltilldelningar regelbundet för att kontrollera att varje roll har rätt behörigheter.
- Rensa roller och tilldelningar när enskilda användare ändrar roller eller tilldelningar.
Roller
Rolldefinitioner
En rolldefinition är en samling behörigheter och andra attribut som utgör en roll. En rolldefinition visar de tillåtna åtgärderna, inklusive CREATE, READ, UPDATE och DELETE som alla objekt med den rollen kan utföra. Den anger också för vilka objekttyper som behörigheterna gäller för.
I följande tabell beskrivs de roller som är tillgängliga i Azure Digital Twins:
Role | Beskrivning | Identifierare |
---|---|---|
Utrymmesadministratör | BEHÖRIGHETEN SKAPA, LÄSA, UPPDATERA och TA BORT för det angivna utrymmet och alla noder under. Global behörighet. | 98e44ad7-28d4-4007-853b-b9968ad132d1 |
Användaradministratör | BEHÖRIGHETEN SKAPA, LÄSA, UPPDATERA och TA BORT för användare och användarrelaterade objekt. LÄS-behörighet för blanksteg. | dfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac |
Enhetsadministratör | BEHÖRIGHETEN SKAPA, LÄSA, UPPDATERA och TA BORT för enheter och enhetsrelaterade objekt. LÄS-behörighet för blanksteg. | 3cdfde07-bc16-40d9-bed3-66d49a8f52ae |
Nyckeladministratör | BEHÖRIGHETEN SKAPA, LÄSA, UPPDATERA och TA BORT för åtkomstnycklar. LÄS-behörighet för blanksteg. | 5a0b1afc-e118-4068-969f-b50efb8e5da6 |
Tokenadministratör | LÄS- och UPPDATERINGsbehörighet för åtkomstnycklar. LÄS-behörighet för blanksteg. | 38a3bb21-5424-43b4-b0bf-78ee228840c3 |
Användare | LÄS-behörighet för utrymmen, sensorer och användare, vilket inkluderar deras motsvarande relaterade objekt. | b1ffdb77-c635-4e7e-ad25-948237d85b30 |
Supportspecialist | LÄS-behörighet för allt utom åtkomstnycklar. | 6e46958b-dc62-4e7c-990c-c3da2e030969 |
Installationsprogram för enhet | LÄS- och UPPDATERINGsbehörighet för enheter och sensorer, vilket inkluderar deras motsvarande relaterade objekt. LÄS-behörighet för blanksteg. | b16dd9fe-4efe-467b-8c8c-720e2ff8817c |
Gatewayenhet | CREATE-behörighet för sensorer. LÄS-behörighet för enheter och sensorer, vilket inkluderar deras motsvarande relaterade objekt. | d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8 |
Anteckning
Om du vill hämta de fullständiga definitionerna för de tidigare rollerna frågar du system-/roll-API:et. Läs mer i Skapa och hantera rolltilldelningar.
Objektidentifierartyper
( objectIdType
eller objektidentifierartyp) refererar till den typ av identitet som ges till en roll. Förutom typerna DeviceId
och UserDefinedFunctionId
motsvarar objektidentifierartyper egenskaper för Azure Active Directory objekt.
Följande tabell innehåller de objektidentifierartyper som stöds i Azure Digital Twins:
Typ | Description |
---|---|
UserId | Tilldelar en roll till en användare. |
DeviceId | Tilldelar en roll till en enhet. |
DomainName | Tilldelar en roll till ett domännamn. Varje användare med det angivna domännamnet har åtkomstbehörighet för motsvarande roll. |
TenantId | Tilldelar en roll till en klientorganisation. Varje användare som tillhör det angivna Azure AD-klientorganisations-ID:t har åtkomsträttigheterna för motsvarande roll. |
ServicePrincipalId | Tilldelar en roll till ett objekt-ID för tjänstens huvudnamn. |
UserDefinedFunctionId | Tilldelar en roll till en användardefinierad funktion (UDF). |
Tips
Lär dig hur du beviljar behörigheter till tjänstens huvudnamn genom att läsa Skapa och hantera rolltilldelningar.
Följande artiklar i referensdokumentationen beskriver:
- Fråga eller objekt-ID för en användare.
- Så här hämtar du objekt-ID:t för ett huvudnamn för tjänsten.
- Så här hämtar du objekt-ID:t för en Azure AD-klientorganisation.
Rolltilldelningar
En Azure Digital Twins-rolltilldelning associerar ett objekt, till exempel en användare eller en Azure AD-klientorganisation, med en roll och ett utrymme. Behörigheter beviljas för alla objekt som tillhör det utrymmet. Utrymmet innehåller hela den rumsliga grafen under den.
En användare får till exempel en rolltilldelning med rollen DeviceInstaller
för rotnoden i en rumslig graf, som representerar en byggnad. Användaren kan sedan läsa och uppdatera enheter för noden och alla andra underordnade utrymmen i byggnaden.
Om du vill bevilja behörigheter till en mottagare skapar du en rolltilldelning. Om du vill återkalla behörigheter tar du bort rolltilldelningen.
Viktigt
Läs mer om rolltilldelningar genom att läsa Skapa och hantera rolltilldelningar.
Nästa steg
Mer information om hur du skapar och hanterar Azure Digital Twins-rolltilldelningar finns i Skapa och hantera rolltilldelningar.
Läs mer om RBAC för Azure.