Integrierte Rolle ist zu weitreichend? Erstelle eine benutzerdefinierte Azure-Rolle

Veröffentlicht am:

Ein Benutzer soll virtuelle Maschinen prüfen, starten und neu starten. Eine integrierte Rolle gewährt jedoch zusätzliche Berechtigungen, die der Benutzer nicht benötigt.

Erstelle eine benutzerdefinierte Azure-Rolle, die nur die erforderlichen Vorgänge enthält:

Rollenname: CloudTrips VM Operator
Kann virtuelle Maschinen anzeigen: Ja
Kann virtuelle Maschinen starten: Ja
Kann virtuelle Maschinen neu starten: Ja
Kann virtuelle Maschinen erstellen, skalieren oder löschen: Nein
Kann Zugriffe zuweisen: Nein

Erstelle eine benutzerdefinierte Rolle erst, nachdem du die verfügbaren integrierten Rollen geprüft hast. Integrierte Rollen werden von Microsoft gepflegt und sollten bevorzugt werden, wenn eine davon die Anforderung erfüllt.

Rollendefinitionen verstehen

Eine Rollendefinition beschreibt Berechtigungen, gewährt sie aber noch niemandem. Zugriff entsteht erst, wenn die Rolle einem Benutzer, einer Gruppe, einem Dienstprinzipal oder einer verwalteten Identität in einem Bereich zugewiesen wird.

Benutzerdefinierte Azure-Rollen können enthalten:

  • Actions für erlaubte Control-Plane-Vorgänge
  • NotActions für aus weitreichenden Aktionen ausgeschlossene Vorgänge
  • DataActions für erlaubte Data-Plane-Vorgänge
  • NotDataActions für ausgeschlossene Data-Plane-Vorgänge
  • AssignableScopes für die Bereiche, in denen die Rolle zugewiesen werden kann

Vermeide weitreichende Wildcard-Berechtigungen, wenn explizite Aktionen ausreichen. Wildcards können auch neue Vorgänge einschließen, die ein Ressourcenanbieter später hinzufügt.

Rollenliste öffnen

Öffne im Azure-Portal:

Subscriptions
> Azure subscription 1
> Access control (IAM)
> Roles

Wähle:

+ Add > Add custom role

Du benötigst im relevanten Bereich die Berechtigung zum Erstellen benutzerdefinierter Rollen, beispielsweise über Owner oder User Access Administrator.

Registerkarte Roles in Access control IAM des Azure-Abonnements mit verfügbarer Aktion Add custom role

Rolle definieren

Trage auf der Registerkarte Basics ein:

Custom role name: CloudTrips VM Operator
Description: View, start, and restart CloudTrips virtual machines without broader VM management permissions
Baseline permissions: Start from scratch

Verwende eine klare Beschreibung, damit Prüfer verstehen, warum die Rolle existiert und was sie ausdrücklich nicht erlauben soll.

Registerkarte Basics der Custom Role mit Name und Beschreibung für CloudTrips VM Operator

Nur erforderliche Berechtigungen hinzufügen

Wähle auf der Registerkarte Permissions die Option Add permissions. Suche den Ressourcenanbieter Microsoft.Compute und füge nur die für diese Rolle benötigten VM-Vorgänge hinzu:

Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/instanceView/read
Microsoft.Compute/virtualMachines/start/action
Microsoft.Compute/virtualMachines/restart/action

Füge außerdem die Lesevorgänge hinzu, die zum Auffinden der Zielressourcengruppe und ihrer Ressourcen benötigt werden:

Microsoft.Resources/subscriptions/resourceGroups/read
Microsoft.Resources/subscriptions/resourceGroups/resources/read

Füge keine VM-Write-, Delete-, Rollenzuweisungs- oder Wildcard-Berechtigungen hinzu.

Registerkarte Permissions mit ausschließlich VM Read, Instance View, Start, Restart und Ressourcengruppen-Leseberechtigungen

Zuweisbaren Bereich festlegen

Halte die benutzerdefinierte Rolle unter Assignable scopes nur dort verfügbar, wo CloudTrips sie benötigt:

Type: Subscription
Scope: Azure subscription 1

Ein zuweisbarer Bereich bestimmt, wo die Rolle zugewiesen werden kann. Er gewährt nicht automatisch Zugriff auf das gesamte Abonnement. Die spätere Rollenzuweisung kann weiterhin den engeren Bereich rg-customer-portal-dev-weu verwenden.

Registerkarte Assignable scopes der Custom Role mit Azure subscription 1

JSON überprüfen

Prüfe auf der Registerkarte JSON:

  • Rollenname und Beschreibung sind korrekt
  • Actions enthält nur die genehmigten Vorgänge
  • DataActions, NotActions und NotDataActions sind leer, sofern sie nicht bewusst benötigt werden
  • AssignableScopes enthält ausschließlich Azure subscription 1

Das Portal erzeugt eine eindeutige Rollen-ID. Kopiere beim Erstellen einer weiteren Rolle nicht die ID einer vorhandenen benutzerdefinierten Rolle.

Registerkarte JSON der Custom Role mit Berechtigungen und zuweisbarem Abonnementbereich

Rolle erstellen und überprüfen

Wähle Review + create, prüfe die Definition und wähle Create.

Gehe zurück zu:

Azure subscription 1
> Access control (IAM)
> Roles

Filtere nach CustomRole und bestätige, dass CloudTrips VM Operator angezeigt wird.

Azure-Rollenliste mit der Custom Role CloudTrips VM Operator

Die benutzerdefinierte Rolle ist jetzt verfügbar, gewährt aber noch niemandem Zugriff. Weise sie der vorgesehenen Microsoft Entra-Gruppe oder dem Benutzer separat im engsten geeigneten Bereich zu, beispielsweise rg-customer-portal-dev-weu, und teste jeden erlaubten und verweigerten Vorgang.

Prüfe benutzerdefinierte Rollen erneut, wenn sich Anforderungen oder Azure-Dienste ändern. Entferne ungenutzte Rollen, damit das Berechtigungsmodell verständlich bleibt.