Benutzerdefinierte Azure-RollenAzure custom roles

Wichtig

Das Hinzufügen einer Verwaltungsgruppe zu AssignableScopes befindet sich derzeit in der Vorschauphase.Adding a management group to AssignableScopes is currently in preview. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen.This preview version is provided without a service level agreement, and it's not recommended for production workloads. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.Certain features might not be supported or might have constrained capabilities. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Wenn die integrierten Azure-Rollen die Anforderungen Ihrer Organisation nicht erfüllen, können Sie Ihre eigenen benutzerdefinierten Rollen erstellen.If the Azure built-in roles don't meet the specific needs of your organization, you can create your own custom roles. Genauso wie integrierte Rollen können auch benutzerdefinierte Rollen Benutzern, Gruppen und Dienstprinzipalen im Verwaltungsgruppen-, Abonnement- und Ressourcengruppenbereich zugewiesen werden.Just like built-in roles, you can assign custom roles to users, groups, and service principals at management group, subscription, and resource group scopes.

Benutzerdefinierte Rollen können von Abonnements, die demselben Azure AD-Verzeichnis vertrauen, gemeinsam genutzt werden.Custom roles can be shared between subscriptions that trust the same Azure AD directory. Es gilt ein Limit von 5.000 benutzerdefinierte Rollen pro Verzeichnis.There is a limit of 5,000 custom roles per directory. (Für Azure Deutschland und Azure China 21ViaNet beträgt das Limit 2.000 benutzerdefinierte Rollen.) Benutzerdefinierte Rollen können über das Azure-Portal, mit Azure PowerShell, über die Azure CLI oder mithilfe der REST-API erstellt werden.(For Azure Germany and Azure China 21Vianet, the limit is 2,000 custom roles.) Custom roles can be created using the Azure portal, Azure PowerShell, Azure CLI, or the REST API.

Beispiel einer benutzerdefinierten RolleCustom role example

Das folgende Beispiel zeigt, wie eine benutzerdefinierte Rolle mit Azure PowerShell im JSON-Format angezeigt aussieht.The following shows what a custom role looks like as displayed using Azure PowerShell in JSON format. Diese benutzerdefinierte Rolle kann zum Überwachen und Neustarten virtueller Computer verwendet werden.This custom role can be used for monitoring and restarting virtual machines.

{
  "Name": "Virtual Machine Operator",
  "Id": "88888888-8888-8888-8888-888888888888",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}",
    "/providers/Microsoft.Management/managementGroups/{groupId1}"
  ]
}

Im Folgenden wird die gleiche benutzerdefinierte Rolle bei Verwendung der Azure CLI veranschaulicht.The following shows the same custom role as displayed using Azure CLI.

[
  {
    "assignableScopes": [
      "/subscriptions/{subscriptionId1}",
      "/subscriptions/{subscriptionId2}",
      "/providers/Microsoft.Management/managementGroups/{groupId1}"
    ],
    "description": "Can monitor and restart virtual machines.",
    "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/88888888-8888-8888-8888-888888888888",
    "name": "88888888-8888-8888-8888-888888888888",
    "permissions": [
      {
        "actions": [
          "Microsoft.Storage/*/read",
          "Microsoft.Network/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action",
          "Microsoft.Authorization/*/read",
          "Microsoft.ResourceHealth/availabilityStatuses/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Insights/diagnosticSettings/*",
          "Microsoft.Support/*"
        ],
        "dataActions": [],
        "notActions": [],
        "notDataActions": []
      }
    ],
    "roleName": "Virtual Machine Operator",
    "roleType": "CustomRole",
    "type": "Microsoft.Authorization/roleDefinitions"
  }
]

Wenn Sie eine benutzerdefinierte Rolle erstellt haben, wird sie im Azure-Portal mit einem orangefarbenen Ressourcensymbol angezeigt.When you create a custom role, it appears in the Azure portal with an orange resource icon.

Symbol der benutzerdefinierten Rolle

Eigenschaften der benutzerdefinierten RolleCustom role properties

In der folgenden Tabelle wird erläutert, was die Eigenschaften der benutzerdefinierten Rollen bedeuten.The following table describes what the custom role properties mean.

EigenschaftProperty ErforderlichRequired typeType BESCHREIBUNGDescription
Name
roleName
JaYes StringString Der Anzeigename der benutzerdefinierten Rolle.The display name of the custom role. Obwohl es sich bei einer Rollendefinition um eine Ressource auf Verwaltungsgruppen- oder Abonnementebene handelt, kann eine solche Definition in mehreren Abonnements verwendet werden, die dasselbe Azure AD-Verzeichnis gemeinsam nutzen.While a role definition is a management group or subscription-level resource, a role definition can be used in multiple subscriptions that share the same Azure AD directory. Der Anzeigename muss im Bereich des Azure AD-Verzeichnisses eindeutig sein.This display name must be unique at the scope of the Azure AD directory. Er kann Buchstaben, Ziffern, Leerzeichen und Sonderzeichen enthalten.Can include letters, numbers, spaces, and special characters. Die maximale Anzahl von Zeichen ist 128.Maximum number of characters is 128.
Id
name
JaYes StringString Die eindeutige ID der benutzerdefinierten Rolle.The unique ID of the custom role. Für Azure PowerShell und Azure CLI wird diese ID automatisch generiert, wenn Sie eine neue Rolle erstellen.For Azure PowerShell and Azure CLI, this ID is automatically generated when you create a new role.
IsCustom
roleType
JaYes StringString Gibt an, ob dies eine benutzerdefinierte Rolle ist.Indicates whether this is a custom role. Legen Sie die Eigenschaft für benutzerdefinierte Rollen auf true oder CustomRole fest.Set to true or CustomRole for custom roles. Legen Sie die Eigenschaft für integrierte Rollen auf false oder BuiltInRole fest.Set to false or BuiltInRole for built-in roles.
Description
description
JaYes StringString Die Beschreibung der benutzerdefinierten Rolle.The description of the custom role. Er kann Buchstaben, Ziffern, Leerzeichen und Sonderzeichen enthalten.Can include letters, numbers, spaces, and special characters. Die maximale Anzahl von Zeichen ist 1.024.Maximum number of characters is 1024.
Actions
actions
JaYes String[]String[] Ein Array von Zeichenfolgen, das die Verwaltungsvorgänge angibt, deren Ausführung die Rolle zulässt.An array of strings that specifies the management operations that the role allows to be performed. Weitere Informationen finden Sie unter Aktionen.For more information, see Actions.
NotActions
notActions
NeinNo String[]String[] Ein Array von Zeichenfolgen, das die Verwaltungsvorgänge angibt, die von den zulässigen Actions ausgeschlossen sind.An array of strings that specifies the management operations that are excluded from the allowed Actions. Weitere Informationen finden Sie unter NotActions.For more information, see NotActions.
DataActions
dataActions
NeinNo String[]String[] Ein Array von Zeichenfolgen, das die Datenvorgänge angibt, deren Ausführung für Ihre Daten innerhalb des Objekts die Rolle zulässt.An array of strings that specifies the data operations that the role allows to be performed to your data within that object. Wenn Sie eine benutzerdefinierte Rolle mit DataActionserstellen, kann diese Rolle im Verwaltungsgruppenbereich nicht zugewiesen werden.If you create a custom role with DataActions, that role cannot be assigned at the management group scope. Weitere Informationen finden Sie unter DataActions.For more information, see DataActions.
NotDataActions
notDataActions
NeinNo String[]String[] Ein Array von Zeichenfolgen, das die Datenvorgänge angibt, die von den zulässigen DataActions ausgeschlossen sind.An array of strings that specifies the data operations that are excluded from the allowed DataActions. Weitere Informationen finden Sie unter NotDataActions.For more information, see NotDataActions.
AssignableScopes
assignableScopes
JaYes String[]String[] Ein Array von Zeichenfolgen, das die Bereiche angibt, in denen die benutzerdefinierte Rolle zur Zuweisung verfügbar ist.An array of strings that specifies the scopes that the custom role is available for assignment. Sie können in den AssignableScopes einer benutzerdefinierten Rolle nur eine einzige Verwaltungsgruppe definieren.You can only define one management group in AssignableScopes of a custom role. Das Hinzufügen einer Verwaltungsgruppe zu AssignableScopes befindet sich derzeit in der Vorschauphase.Adding a management group to AssignableScopes is currently in preview. Weitere Informationen finden Sie unter AssignableScopes.For more information, see AssignableScopes.

PlatzhalterberechtigungenWildcard permissions

Actions, NotActions, DataActions und NotDataActions unterstützen Platzhalter (*) beim Definieren von Berechtigungen.Actions, NotActions, DataActions, and NotDataActions support wildcards (*) to define permissions. Ein Platzhalter (*) erweitert eine Berechtigung auf alles, was der von Ihnen angegebenen Aktionszeichenfolge entspricht.A wildcard (*) extends a permission to everything that matches the action string you provide. Angenommen, Sie möchten alle Berechtigungen hinzufügen, die sich auf Azure Cost Management und Exporte beziehen.For example, suppose that you wanted to add all the permissions related to Azure Cost Management and exports. Sie können alle nachfolgend aufgeführten Aktionszeichenfolgen hinzufügen:You could add all of these action strings:

Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action

Anstatt all diese Zeichenfolgen hinzuzufügen, können Sie jedoch auch einfach eine Platzhalterzeichenfolge hinzufügen.Instead of adding all of these strings, you could just add a wildcard string. Die folgende Platzhalterzeichenfolge entspricht beispielsweise den oben genannten fünf Zeichenfolgen.For example, the following wildcard string is equivalent to the previous five strings. Dies schließt auch alle zukünftigen Exportberechtigungen ein, die möglicherweise hinzugefügt werden.This would also include any future export permissions that might be added.

Microsoft.CostManagement/exports/*

Eine Zeichenfolge kann auch mehrere Platzhalter enthalten.You can also have multiple wildcards in a string. Die folgende Zeichenfolge stellt z. B. alle Abfrageberechtigungen für Cost Management dar.For example, the following string represents all query permissions for Cost Management.

Microsoft.CostManagement/*/query/*

Schritte zum Erstellen einer benutzerdefinierten RolleSteps to create a custom role

Im Folgenden werden die Schritte erläutert, die Sie zum Erstellen einer benutzerdefinierten Rolle befolgen müssen:To create a custom role, here are basics steps you should follow.

  1. Entscheiden Sie, wie Sie die benutzerdefinierte Rolle erstellen möchten.Decide how you want to create the custom role.

    Benutzerdefinierte Rollen können im Azure-Portal, mit Azure PowerShell, über die Azure CLI oder die REST-API erstellt werden.You can create custom roles using Azure portal, Azure PowerShell, Azure CLI, or the REST API.

  2. Bestimmen Sie die Berechtigungen, die Sie benötigen.Determine the permissions you need.

    Wenn Sie eine benutzerdefinierte Rolle erstellen, müssen Sie die Vorgänge kennen, die zum Definieren der Berechtigungen verfügbar sind.When you create a custom role, you need to know the operations that are available to define your permissions. Wie Sie die Liste der Vorgänge anzeigen, erfahren Sie unter Vorgänge für Azure Resource Manager-Ressourcenanbieter.To view the list of operations, see the Azure Resource Manager resource provider operations. Sie fügen die Vorgänge der Actions- oder NotActions-Eigenschaft der Rollendefinition hinzu.You will add the operations to the Actions or NotActions properties of the role definition. Wenn Sie über Datenvorgänge verfügen, fügen Sie diese der DataActions- oder NotDataActions-Eigenschaft hinzu.If you have data operations, you will add those to the DataActions or NotDataActions properties.

  3. Erstellen Sie die benutzerdefinierte Rolle.Create the custom role.

    In der Regel beginnen Sie mit einer vorhandenen integrierten Rolle und ändern sie Ihren Anforderungen entsprechend.Typically, you start with an existing built-in role and then modify it for your needs. Das geht am einfachsten über das Azure-Portal.The easiest way is to use the Azure portal. Die Schritte zum Erstellen einer benutzerdefinierten Rolle über das Azure-Portal finden Sie unter Erstellen oder Aktualisieren von benutzerdefinierten Azure-Rollen über das Azure-Portal.For steps on how to create a custom role using the Azure portal, see Create or update Azure custom roles using the Azure portal.

  4. Testen Sie die benutzerdefinierte Rolle.Test the custom role.

    Sobald Sie über Ihre benutzerdefinierte Rolle verfügen, müssen Sie sie testen, um sicherzustellen, dass sie wie erwartet funktioniert.Once you have your custom role, you have to test it to verify that it works as you expect. Wenn Sie später Anpassungen vornehmen müssen, können Sie die benutzerdefinierte Rolle aktualisieren.If you need to make adjustments later, you can update the custom role.

Rollen zum Erstellen, Löschen, Aktualisieren oder Anzeigen einer benutzerdefinierten RolleWho can create, delete, update, or view a custom role

Wie integrierte Rollen legt die AssignableScopes-Eigenschaft die Bereiche fest, in denen die Rolle zur Zuweisung verfügbar ist.Just like built-in roles, the AssignableScopes property specifies the scopes that the role is available for assignment. Die AssignableScopes-Eigenschaft für eine benutzerdefinierte Rolle steuert auch, wer zum Erstellen, Löschen, Aktualisieren oder Anzeigen der benutzerdefinierten Rolle berechtigt ist.The AssignableScopes property for a custom role also controls who can create, delete, update, or view the custom role.

AufgabeTask VorgangOperation BESCHREIBUNGDescription
Erstellen/Löschen einer benutzerdefinierten RolleCreate/delete a custom role Microsoft.Authorization/ roleDefinitions/write Benutzer, die für alle AssignableScopes der benutzerdefinierten Rolle zu diesem Vorgang berechtigt sind, können benutzerdefinierte Rollen für die Verwendung in diesen Bereichen erstellen (oder löschen).Users that are granted this operation on all the AssignableScopes of the custom role can create (or delete) custom roles for use in those scopes. Hierzu gehören beispielsweise Besitzer und Benutzerzugriffsadministratoren von Verwaltungsgruppen, Abonnements und Ressourcengruppen.For example, Owners and User Access Administrators of management groups, subscriptions, and resource groups.
Aktualisieren einer benutzerdefinierten RolleUpdate a custom role Microsoft.Authorization/ roleDefinitions/write Benutzer, die für alle AssignableScopes der benutzerdefinierten Rolle zu diesem Vorgang berechtigt sind, können benutzerdefinierte Rollen in diesen Bereichen aktualisieren.Users that are granted this operation on all the AssignableScopes of the custom role can update custom roles in those scopes. Hierzu gehören beispielsweise Besitzer und Benutzerzugriffsadministratoren von Verwaltungsgruppen, Abonnements und Ressourcengruppen.For example, Owners and User Access Administrators of management groups, subscriptions, and resource groups.
Anzeigen einer benutzerdefinierten RolleView a custom role Microsoft.Authorization/ roleDefinitions/read Benutzer, die in einem Bereich zu diesem Vorgang berechtigt sind, können die benutzerdefinierten Rollen anzeigen, die für die Zuweisung in diesem Bereich verfügbar sind.Users that are granted this operation at a scope can view the custom roles that are available for assignment at that scope. Benutzerdefinierte Rollen können bei allen integrierten Rollen für die Zuweisung verfügbar sein.All built-in roles allow custom roles to be available for assignment.

Grenzwerte bei benutzerdefinierten RollenCustom role limits

In der nachstehenden Liste werden die Grenzwerte bei benutzerdefinierten Rollen beschrieben.The following list describes the limits for custom roles.

  • Jedes Verzeichnis kann bis zu 5.000 benutzerdefinierte Rollen enthalten.Each directory can have up to 5000 custom roles.
  • In Azure Deutschland und Azure China 21ViaNet kann es für jedes Verzeichnis bis zu 2.000 benutzerdefinierte Rollen geben.Azure Germany and Azure China 21Vianet can have up to 2000 custom roles for each directory.
  • AssignableScopes kann nicht auf den Stammbereich ("/") festgelegt werden.You cannot set AssignableScopes to the root scope ("/").
  • Sie können in den AssignableScopes einer benutzerdefinierten Rolle nur eine einzige Verwaltungsgruppe definieren.You can only define one management group in AssignableScopes of a custom role. Das Hinzufügen einer Verwaltungsgruppe zu AssignableScopes befindet sich derzeit in der Vorschauphase.Adding a management group to AssignableScopes is currently in preview.
  • Benutzerdefinierte Rollen mit DataActions können im Verwaltungsgruppenbereich nicht zugewiesen werden.Custom roles with DataActions cannot be assigned at the management group scope.
  • Azure Resource Manager überprüft nicht, ob die Verwaltungsgruppe im zuweisbaren Bereich der Rollendefinition vorhanden ist.Azure Resource Manager doesn't validate the management group's existence in the role definition's assignable scope.

Weitere Informationen zu benutzerdefinierten Rollen und Verwaltungsgruppen finden Sie unter Organisieren Ihrer Ressourcen mit Azure-Verwaltungsgruppen.For more information about custom roles and management groups, see Organize your resources with Azure management groups.

Eingabe- und AusgabeformateInput and output formats

Zum Erstellen einer benutzerdefinierten Rolle über die Befehlszeile verwenden Sie in der Regel JSON, um die Eigenschaften anzugeben, die Sie für die benutzerdefinierte Rolle verwenden möchten.To create a custom role using the command line, you typically use JSON to specify the properties you want for the custom role. Abhängig von den Tools, die Sie verwenden, variieren die Eingabe- und Ausgabeformate.Depending on the tools you use, the input and output formats will look slightly different. In diesem Abschnitt sind die Eingabe- und Ausgabeformate nach Tool aufgeführt.This section lists the input and output formats depending on the tool.

Azure PowerShellAzure PowerShell

Folgende Eingabe ist nötig, um eine benutzerdefinierte Rolle über Azure PowerShell zu erstellen:To create a custom role using Azure PowerShell, you must provide following input.

{
  "Name": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Geben Sie hingegen Folgendes ein, wenn Sie eine benutzerdefinierte Rolle über Azure PowerShell aktualisieren möchten:To update a custom role using Azure PowerShell, you must provide the following input. Beachten Sie, dass die Id-Eigenschaft hinzugefügt wurde.Note that the Id property has been added.

{
  "Name": "",
  "Id": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Im Folgenden sehen Sie ein Beispiel für die Ausgabe, wenn Sie eine benutzerdefinierte Rolle mit Azure PowerShell und dem Befehl ConvertTo-Json auflisten.The following shows an example of the output when you list a custom role using Azure PowerShell and the ConvertTo-Json command.

{
  "Name": "",
  "Id": "",
  "IsCustom": true,
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Azure CLIAzure CLI

Folgende Eingabe ist nötig, um eine benutzerdefinierte Rolle über die Azure CLI zu erstellen oder zu aktualisieren:To create or update a custom role using Azure CLI, you must provide following input. Dieses Format gilt auch, wenn Sie eine benutzerdefinierte Rolle mit Azure PowerShell erstellen.This format is the same format when you create a custom role using Azure PowerShell.

{
  "Name": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Im Folgenden sehen Sie ein Beispiel für die Ausgabe, wenn Sie eine benutzerdefinierte Rolle mit der Azure CLI auflisten.The following shows an example of the output when you list a custom role using Azure CLI.

[
  {
    "assignableScopes": [],
    "description": "",
    "id": "",
    "name": "",
    "permissions": [
      {
        "actions": [],
        "dataActions": [],
        "notActions": [],
        "notDataActions": []
      }
    ],
    "roleName": "",
    "roleType": "CustomRole",
    "type": "Microsoft.Authorization/roleDefinitions"
  }
]

REST-APIREST API

Folgende Eingabe ist nötig, um eine benutzerdefinierte Rolle über die REST-API zu erstellen oder zu aktualisieren:To create or update a custom role using the REST API, you must provide following input. Dieses Format wird auch generiert, wenn Sie eine benutzerdefinierte Rolle mithilfe des Azure-Portal erstellen.This format is the same format that gets generated when you create a custom role using the Azure portal.

{
  "properties": {
    "roleName": "",
    "description": "",
    "assignableScopes": [],
    "permissions": [
      {
        "actions": [],
        "notActions": [],
        "dataActions": [],
        "notDataActions": []
      }
    ]
  }
}

Im Folgenden sehen Sie ein Beispiel für die Ausgabe, wenn Sie eine benutzerdefinierte Rolle über die REST-API auflisten.The following shows an example of the output when you list a custom role using the REST API.

{
    "properties": {
        "roleName": "",
        "type": "CustomRole",
        "description": "",
        "assignableScopes": [],
        "permissions": [
            {
                "actions": [],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ],
        "createdOn": "",
        "updatedOn": "",
        "createdBy": "",
        "updatedBy": ""
    },
    "id": "",
    "type": "Microsoft.Authorization/roleDefinitions",
    "name": ""
}

Nächste SchritteNext steps