Was ist die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) für Azure-Ressourcen?What is role-based access control (RBAC) for Azure resources?

Die Zugriffsverwaltung für Cloudressourcen ist eine wichtige Funktion für jede Organisation, die die Cloud nutzt.Access management for cloud resources is a critical function for any organization that is using the cloud. Mit der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC) können Sie verwalten, welche Benutzer Zugriff auf Azure-Ressourcen haben, welche Aktionen für diese Ressourcen ausgeführt werden können und auf welche Bereiche die Benutzer zugreifen können.Role-based access control (RBAC) helps you manage who has access to Azure resources, what they can do with those resources, and what areas they have access to.

RBAC ist ein Autorisierungssystem, das auf Azure Resource Manager basiert und eine präzise Verwaltung des Zugriffs auf Azure-Ressourcen ermöglicht.RBAC is an authorization system built on Azure Resource Manager that provides fine-grained access management of Azure resources.

Welche Möglichkeiten bietet RBAC?What can I do with RBAC?

Hier sind einige Beispiele für die Verwendungsmöglichkeiten von RBAC:Here are some examples of what you can do with RBAC:

  • Ein Benutzer kann virtuelle Computer in einem Abonnement verwalten, während ein anderer Benutzer virtuelle Netzwerke verwalten kannAllow one user to manage virtual machines in a subscription and another user to manage virtual networks
  • Eine DBA-Gruppe kann SQL-Datenbanken in einem Abonnement verwaltenAllow a DBA group to manage SQL databases in a subscription
  • Ein Benutzer kann sämtliche Ressourcen in einer Ressourcengruppe verwalten, wie z.B. virtuelle Computer, Websites und SubnetzeAllow a user to manage all resources in a resource group, such as virtual machines, websites, and subnets
  • Eine Anwendung kann auf sämtliche Ressourcen in einer Ressourcengruppe zugreifenAllow an application to access all resources in a resource group

Bewährte Methode für die Verwendung von RBACBest practice for using RBAC

Mithilfe von RBAC können Sie Aufgaben in Ihrem Team verteilen und Benutzern nur den Zugriff gewähren, den sie zur Ausführung ihrer Aufgaben benötigen.Using RBAC, you can segregate duties within your team and grant only the amount of access to users that they need to perform their jobs. Anstatt allen uneingeschränkte Berechtigungen in Ihrem Azure-Abonnement oder Ihren Ressourcen zu gewähren, können Sie die Berechtigungen auf bestimmte Aktionen in einem bestimmten Bereich beschränken.Instead of giving everybody unrestricted permissions in your Azure subscription or resources, you can allow only certain actions at a particular scope.

Bei der Planung Ihrer Strategie für die Zugriffssteuerung hat es sich bewährt, Benutzern die geringsten Rechte zum Ausführen ihrer Aufgaben zu erteilen.When planning your access control strategy, it's a best practice to grant users the least privilege to get their work done. Das folgende Diagramm zeigt ein vorgeschlagenes Muster für die Verwendung von RBAC.The following diagram shows a suggested pattern for using RBAC.

RBAC und der Ansatz der geringsten Rechte

Funktionsweise von RBACHow RBAC works

Sie können den Zugriff auf Ressourcen mit RBAC steuern, indem Sie Rollenzuweisungen erstellen.The way you control access to resources using RBAC is to create role assignments. Dies ist ein wesentliches Konzept, das zur Durchsetzung von Berechtigungen verwendet wird.This is a key concept to understand – it’s how permissions are enforced. Eine Rollenzuweisung besteht aus drei Elementen: Sicherheitsprinzipal, Rollendefinition und Bereich.A role assignment consists of three elements: security principal, role definition, and scope.

SicherheitsprinzipalSecurity principal

Ein Sicherheitsprinzipal ist ein Objekt, das einen Benutzer, eine Gruppe, einen Dienstprinzipal oder eine verwaltete Identität darstellt, der bzw. die Zugriff auf Azure-Ressourcen anfordert.A security principal is an object that represents a user, group, service principal, or managed identity that is requesting access to Azure resources.

Sicherheitsprinzipal für eine Rollenzuweisung

  • Benutzer: eine Person, die über ein Profil in Azure Active Directory verfügt.User - An individual who has a profile in Azure Active Directory. Sie können auch bei anderen Mandanten Rollen zu Benutzern zuweisen.You can also assign roles to users in other tenants. Weitere Informationen zu Benutzern in anderen Organisationen finden Sie unter Azure Active Directory B2B.For information about users in other organizations, see Azure Active Directory B2B.
  • Gruppe: eine Reihe von Benutzern, die in Azure Active Directory erstellt wurden.Group - A set of users created in Azure Active Directory. Wenn Sie einer Gruppe eine Rolle zuweisen, verfügen alle Benutzer in dieser Gruppe über diese Rolle.When you assign a role to a group, all users within that group have that role.
  • Dienstprinzipal: eine Sicherheitsidentität, die von Anwendungen oder Diensten für den Zugriff auf bestimmte Azure-Ressourcen verwendet wird.Service principal - A security identity used by applications or services to access specific Azure resources. Sie können sich diesen als Benutzeridentität (Benutzername und Kennwort oder Zertifikat) für eine Anwendung vorstellen.You can think of it as a user identity (username and password or certificate) for an application.
  • Verwaltete Identität: Eine Identität in Azure Active Directory, die automatisch von Azure verwaltet wird.Managed identity - An identity in Azure Active Directory that is automatically managed by Azure. In der Regel verwenden Sie verwaltete Identitäten bei der Entwicklung von Cloudanwendungen, um die Anmeldeinformationen für die Authentifizierung bei Azure-Diensten zu verwalten.You typically use managed identities when developing cloud applications to manage the credentials for authenticating to Azure services.

RollendefinitionRole definition

Eine Rollendefinition ist eine Sammlung von Berechtigungen.A role definition is a collection of permissions. Gelegentlich wird sie auch einfach als Rolle bezeichnet.It's sometimes just called a role. Eine Rollendefinition listet die ausführbaren Vorgänge wie etwa Lesen, Schreiben und Löschen auf.A role definition lists the operations that can be performed, such as read, write, and delete. Rollen können auf allgemeiner Ebene erteilt werden (z.B. Benutzer) oder spezifisch sein (z.B. Leser virtueller Computer).Roles can be high-level, like owner, or specific, like virtual machine reader.

Rollenzuweisung zu Rollendefinition hinzufügen

Azure umfasst mehrere integrierte Rollen, die Sie verwenden können.Azure includes several built-in roles that you can use. Im Folgenden werden vier grundlegende integrierte Rollen aufgeführt.The following lists four fundamental built-in roles. Die ersten drei Rollen gelten für alle Ressourcentypen.The first three apply to all resource types.

  • Besitzer verfügen über vollständigen Zugriff auf alle Ressourcen, einschließlich des Rechts, den Zugriff an andere Personen zu delegieren.Owner - Has full access to all resources including the right to delegate access to others.
  • Mitwirkende können alle Arten von Azure-Ressourcen erstellen und verwalten, aber keinen anderen Personen Zugriff gewähren.Contributor - Can create and manage all types of Azure resources but can’t grant access to others.
  • Leser können vorhandene Azure-Ressourcen anzeigen.Reader - Can view existing Azure resources.
  • Mit einem Benutzerzugriffsadministrator können Sie den Benutzerzugriff auf Azure-Ressourcen verwalten.User Access Administrator - Lets you manage user access to Azure resources.

Die verbleibenden integrierten Rollen ermöglichen die Verwaltung bestimmter Azure-Ressourcen.The rest of the built-in roles allow management of specific Azure resources. Mit der Rolle Mitwirkender von virtuellen Computern können Benutzer beispielsweise virtuelle Computer erstellen und verwalten.For example, the Virtual Machine Contributor role allows a user to create and manage virtual machines. Sollten die integrierten Rollen den individuellen Ansprüchen Ihrer Organisation nicht genügen, können Sie Ihre eigenen benutzerdefinierten Rollen für Azure-Ressourcen erstellen.If the built-in roles don't meet the specific needs of your organization, you can create your own custom roles for Azure resources.

Mit Datenvorgängen in Azure können Sie Zugriff auf Daten in einem Objekt erteilen.Azure has data operations that enable you to grant access to data within an object. Wenn ein Benutzer z.B. über Lesezugriff auf Daten in einem Speicherkonto verfügt, kann er die Blobs in diesem Speicherkonto lesen.For example, if a user has read data access to a storage account, then they can read the blobs or messages within that storage account. Weitere Informationen finden Sie unter Grundlegendes zu Rollendefinitionen für Azure-Ressourcen.For more information, see Understand role definitions for Azure resources.

ScopeScope

Ein Bereich ist der für den Zugriff geltende Ressourcensatz.Scope is the set of resources that the access applies to. Wenn Sie eine Rolle zuweisen, können Sie die zulässigen Aktionen durch das Definieren eines Bereichs weiter einschränken.When you assign a role, you can further limit the actions allowed by defining a scope. Dies ist hilfreich, wenn Sie einem Benutzer die Rolle Mitwirkender von Websites zuweisen möchten, jedoch nur für eine Ressourcengruppe.This is helpful if you want to make someone a Website Contributor, but only for one resource group.

In Azure können Sie auf mehreren Ebenen einen Bereich angeben: Verwaltungsgruppe, Abonnement, Ressourcengruppe oder Ressource.In Azure, you can specify a scope at multiple levels: management group, subscription, resource group, or resource. Bereiche sind in einer Beziehung zwischen über- und untergeordneten Elementen strukturiert.Scopes are structured in a parent-child relationship.

Bereich für eine Rollenzuweisung

Wenn Sie den Zugriff in einem übergeordneten Bereich gewähren, werden diese Berechtigungen an den untergeordneten Bereich vererbt.When you grant access at a parent scope, those permissions are inherited to the child scopes. Beispiel:For example:

  • Wenn Sie die Rolle Besitzer einem Benutzer im Bereich der Verwaltungsgruppe zuweisen, kann dieser Benutzer alles in allen Abonnements in der Verwaltungsgruppe verwalten.If you assign the Owner role to a user at the management group scope, that user can manage everything in all subscriptions in the management group.
  • Wenn Sie einer Rolle im Abonnementkontext die Rolle Leser zuweisen, können die Mitglieder dieser Gruppe alle Ressourcengruppen und Ressourcen im Abonnement anzeigen.If you assign the Reader role to a group at the subscription scope, the members of that group can view every resource group and resource in the subscription.
  • Wenn Sie einer Anwendung im Ressourcengruppenkontext die Rolle Mitwirkender zuweisen, kann diese Ressourcen aller Typen in dieser Ressourcengruppe verwalten, jedoch keine anderen Ressourcengruppen des Abonnements.If you assign the Contributor role to an application at the resource group scope, it can manage resources of all types in that resource group, but not other resource groups in the subscription.

RollenzuweisungenRole assignments

Eine Rollenzuweisung ist der Prozess, in dem eine Rollendefinition zum Zweck der Zugriffserteilung in einem bestimmten Bereich an einen Benutzer, eine Gruppe, einen Dienstprinzipal oder eine verwaltete Identität gebunden wird.A role assignment is the process of attaching a role definition to a user, group, service principal, or managed identity at a particular scope for the purpose of granting access. Der Zugriff wird durch Erstellen einer Rollenzuweisung erteilt und durch Entfernen einer Rollenzuweisung widerrufen.Access is granted by creating a role assignment, and access is revoked by removing a role assignment.

Das folgende Diagramm zeigt ein Beispiel für eine Rollenzuweisung.The following diagram shows an example of a role assignment. In diesem Beispiel wurde der Gruppe „Marketing“ die Rolle Mitwirkender für die Ressourcengruppe „Pharmavertrieb“ zugewiesen.In this example, the Marketing group has been assigned the Contributor role for the pharma-sales resource group. Dies bedeutet, dass Benutzer in der Gruppe „Marketing“ in der Ressourcengruppe „Pharmavertrieb“ eine beliebige Azure-Ressource erstellen oder verwalten können.This means that users in the Marketing group can create or manage any Azure resource in the pharma-sales resource group. Benutzer der Gruppe „Marketing“ haben keinen Zugriff auf Ressourcen außerhalb der Ressourcengruppe „Pharmavertrieb“, sofern ihnen keine weitere Rolle zugewiesen wurde.Marketing users do not have access to resources outside the pharma-sales resource group, unless they are part of another role assignment.

Rollenzuweisung zum Steuern des Zugriffs

Sie können über das Azure-Portal, die Azure-Befehlszeilenschnittstelle, Azure PowerShell, Azure SDKs oder REST-APIs Rollenzuweisungen erstellen.You can create role assignments using the Azure portal, Azure CLI, Azure PowerShell, Azure SDKs, or REST APIs. Sie können in jedem Abonnement bis zu 2000 Rollenzuweisungen und 500 Rollenzuweisungen in jeder Verwaltungsgruppe festlegen.You can have up to 2000 role assignments in each subscription and 500 role assignments in each management group. Um Rollenzuweisungen erstellen und entfernen zu können, benötigen Sie die Berechtigung Microsoft.Authorization/roleAssignments/*.To create and remove role assignments, you must have Microsoft.Authorization/roleAssignments/* permission. Diese Berechtigung wird über die Rolle Besitzer oder Benutzerzugriffsadministrator erteilt.This permission is granted through the Owner or User Access Administrator roles.

Mehrere RollenzuweisungenMultiple role assignments

Was geschieht bei mehreren überlappenden Rollenzuweisungen?So what happens if you have multiple overlapping role assignments? RBAC ist ein additives Modell. Die hinzugefügten Rollenzuweisungen stellen daher Ihre effektiven Berechtigungen dar.RBAC is an additive model, so your effective permissions are the addition of your role assignments. Sehen Sie sich das folgende Beispiel an, in dem einem Benutzer die Rolle „Mitwirkender“ im Abonnementbereich und die Rolle „Leser“ für eine Ressourcengruppe zugewiesen wird.Consider the following example where a user is granted the Contributor role at the subscription scope and the Reader role on a resource group. Das Hinzufügen der Berechtigungen vom Typ „Mitwirkender“ und der Berechtigungen vom Typ „Leser“ stellt effektiv die Rolle „Mitwirkender“ für die Ressourcengruppe dar.The addition of the Contributor permissions and the Reader permissions is effectively the Contributor role for the resource group. Daher hat die Zuweisung der Rolle „Leser“ in diesem Fall keine Auswirkung.Therefore, in this case, the Reader role assignment has no impact.

Mehrere Rollenzuweisungen

AblehnungszuweisungenDeny assignments

Früher war RBAC ein Modell, in dem es nur Zulassungen und keine Ablehnungen gab, jetzt unterstützt RBAC jedoch auch Ablehnungszuweisungen auf eingeschränkte Weise.Previously, RBAC was an allow-only model with no deny, but now RBAC supports deny assignments in a limited way. Ähnlich wie eine Rollenzuweisung verknüpft eine Ablehnungszuweisung in einem bestimmten Bereich einen Satz von Aktionen mit einem Benutzer, einer Gruppe, einem Dienstprinzipal oder einer verwalteten Identität, um den Zugriff zu verweigern.Similar to a role assignment, a deny assignment attaches a set of deny actions to a user, group, service principal, or managed identity at a particular scope for the purpose of denying access. In einer Rollenzuweisung wird einen Satz von Aktionen definiert, die zulässig sind, während in einer Ablehnungszuweisung eine Reihe von Aktionen definiert wird, die nicht zulässig sind.A role assignment defines a set of actions that are allowed, while a deny assignment defines a set of actions that are not allowed. Das heißt, Ablehnungszuweisungen blockieren Aktionen für bestimmte Benutzer, auch wenn diese durch eine Rollenzuweisung Zugriff erhalten.In other words, deny assignments block users from performing specified actions even if a role assignment grants them access. Ablehnungszuweisungen haben Vorrang vor Rollenzuweisungen.Deny assignments take precedence over role assignments. Weitere Informationen finden Sie unter Verstehen von Ablehnungszuweisungen für Azure-Ressourcen.For more information, see Understand deny assignments for Azure resources.

Ermitteln des Benutzerzugriffs auf eine Ressource durch RBACHow RBAC determines if a user has access to a resource

Im Folgenden finden Sie die allgemeinen Schritte, über die RBAC ermittelt, ob Sie Zugriff auf eine Ressource auf der Verwaltungsebene haben.The following are the high-level steps that RBAC uses to determine if you have access to a resource on the management plane. Es ist hilfreich, dies zu verstehen, wenn Sie versuchen, ein Zugriffsproblem zu behandeln.This is helpful to understand if you are trying to troubleshoot an access issue.

  1. Ein Benutzer (oder Dienstprinzipal) erhält ein Token für Azure Resource Manager.A user (or service principal) acquires a token for Azure Resource Manager.

    Das Token enthält die Gruppenmitgliedschaften des Benutzers (einschließlich transitiver Gruppenmitgliedschaften).The token includes the user's group memberships (including transitive group memberships).

  2. Der Benutzer führt einen REST-API-Aufruf an Azure Resource Manager mit dem angefügten Token durch.The user makes a REST API call to Azure Resource Manager with the token attached.

  3. Azure Resource Manager ruft alle Rollenzuweisungen und Ablehnungszuweisungen ab, die die Ressource, für die die Aktion ausgeführt wird, betreffen.Azure Resource Manager retrieves all the role assignments and deny assignments that apply to the resource upon which the action is being taken.

  4. Azure Resource Manager begrenzt die Rollenzuweisungen, die diesen Benutzer oder seine Gruppe betreffen, und ermittelt, welche Rollen der Benutzer für diese Ressource besitzt.Azure Resource Manager narrows the role assignments that apply to this user or their group and determines what roles the user has for this resource.

  5. Azure Resource Manager ermittelt, ob die Aktion im API-Aufruf in den Rollen, die der Benutzer für diese Ressource besitzt, enthalten ist.Azure Resource Manager determines if the action in the API call is included in the roles the user has for this resource.

  6. Wenn der Benutzer keine Rolle mit der Aktion als angefordertem Bereich besitzt, wird kein Zugriff gewährt.If the user doesn’t have a role with the action at the requested scope, access is not granted. Andernfalls überprüft Azure Resource Manager, ob eine Ablehnungszuweisung zutrifft.Otherwise, Azure Resource Manager checks if a deny assignment applies.

  7. Wenn eine Ablehnungszuweisung zutrifft, wird der Zugriff blockiert.If a deny assignment applies, access is blocked. Andernfalls wird der Zugriff gewährt.Otherwise access is granted.

LizenzanforderungenLicense requirements

Die Nutzung dieses Features ist kostenlos und in Ihrem Azure-Abonnement enthalten.Using this feature is free and included in your Azure subscription.

Nächste SchritteNext steps