Wer in Azure etwas ansehen oder ändern will, braucht eine Rolle an einem Bereich. Die Verwaltung bedeutet vor allem zwei Dinge: Rechte so eng wie möglich zu vergeben und bei einer Frage „Wer darf was?“ aus einer Liste von Zuweisungen die Antwort zu lesen. Diese Lektion übt beides.
Die Nordlicht Reisen GmbH hat die Ressourcengruppen buchung und marketing. Die Revision soll lesen, das Marketing soll in seiner Gruppe arbeiten, und die IT soll bei einer Beschwerde in einer Minute erklären können, warum jemand etwas darf.
Vorwissen: Was Azure RBAC ist, aus welchen drei Teilen eine Zuweisung besteht und dass Rechte nach unten vererbt werden und sich addieren, erklärt „AZ-900 kompakt“, Lektion 2.6. Die fünf wichtigsten Rollen, die Trennung von Verwaltungs- und Datenebene, die Gruppe als Träger der Rechte, „Zugriff prüfen“ und Ablehnungszuweisungen lehrt K3, Lektion 3.1.4. Hier steht, wie Sie Rollen suchen, zuweisen und lesen, wie die Prüfung es verlangt. Das Verzeichnis (Benutzer und Gruppen) ist Lektion 1.1.
Eingebaute Rollen finden und lesen
Azure hat viele eingebaute Rollen (built-in roles). Im Portal sehen Sie sie, wenn Sie an einem Bereich Access control (IAM) öffnen und Add, Add role assignment wählen. Auf der Registerkarte Role gibt es zwei Reiter:
- Job function roles: Rollen für die allgemeine Verwaltung von Ressourcen oder für einzelne Dienste.
- Privileged administrator roles: Rollen mit weitreichenden Rechten, etwa Owner, Contributor, User Access Administrator und Role Based Access Control Administrator. Microsoft empfiehlt, Zuweisungen dieser Rollen zu begrenzen.
Mit dem Suchfeld filtern Sie nach Name und Beschreibung, mit Type und Category weiter. In der Spalte Details zeigt View die Berechtigungen der Rolle. Die Rolle sagt nie, wo sie gilt; das bestimmt erst der Bereich der Zuweisung.
Auf der Kommandozeile finden Sie Rollen und ihre Definitionen so:
az role definition list --query "[].{name:name, roleType:roleType, roleName:roleName}" --output tsv
az role definition list --name "Reader"
Get-AzRoleDefinition -Name 'Reader'
Die erste Zeile gibt je Rolle eine Zeile mit Kennung, Typ und Name aus. Die zweite gibt die Definition als JSON aus, mit den Listen actions, notActions, dataActions und notDataActions und assignableScopes. Actions und NotActions gelten für die Verwaltung von Ressourcen, DataActions und NotDataActions für Daten darin; NotActions zieht von Actions wieder ab (K3, Lektion 3.1.4). Eigene Rollen (custom roles) sind möglich, in dieser Lektion nicht Thema. Pro Mandant sind bis zu 5.000 eigene Rollen erlaubt.