Verwenden der rollenbasierten Zugriffssteuerung in Azure API Management

GILT FÜR: Alle API Management-Ebenen

Azure API Management basiert auf der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC) von Azure, um eine differenzierte Zugriffsverwaltung für API Management-Dienste und -Entitäten (etwa APIs und Richtlinien) zu ermöglichen. Dieser Artikel bietet Ihnen einen Überblick über die integrierten und benutzerdefinierten Rollen in API Management. Weitere Informationen zur Zugriffsverwaltung im Azure-Portal finden Sie unter Erste Schritte mit der rollenbasierten Zugriffssteuerung im Azure-Portal.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Integrierte Dienstrollen

API Management bietet zurzeit drei integrierte Rollen, und es werden in naher Zukunft zwei weitere Rollen hinzugefügt. Diese Rollen können auf verschiedenen Ebenen zugewiesen werden, darunter Abonnement, Ressourcengruppe und einzelne API Management-Instanz. Beispiel: Wenn einem Benutzer die Leserolle für den API Management-Dienst (API Management Service Reader) auf Ressourcengruppenebene zugewiesen wird, besitzt der Benutzer innerhalb der Ressourcengruppe Lesezugriff auf alle Instanzen von API Management.

Die folgende Tabelle enthält kurze Beschreibungen der integrierten Rollen. Sie können diese Rollen über das Azure-Portal oder andere Tools zuweisen, beispielsweise Azure PowerShell, die Azure CLI oder die REST-API. Informationen zum Zuweisen integrierter Rollen finden Sie unter Zuweisen von Azure-Rollen zum Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen.

Role Lesezugriff[1] Schreibzugriff[2] Dienst erstellen, löschen, skalieren, Konfiguration von VPN und benutzerdefinierter Domäne Zugriff auf das Legacy-Herausgeberportal BESCHREIBUNG
Mitwirkender des API-Verwaltungsdienstes Superuser. Besitzt CRUD-Vollzugriff auf API Management-Dienste und -Entitäten (z.B. APIs, Richtlinien). Besitzt Zugriff auf das Legacy-Herausgeberportal.
Leser des API Management-Diensts Besitzt schreibgeschützten Zugriff auf API Management-Dienste und -Entitäten.
Operator des API Management-Diensts Kann API Management-Dienste, jedoch keine Entitäten verwalten.

[1] Lesezugriff auf API Management-Dienste und -Entitäten (z.B. APIs, Richtlinien)

[2] Schreibzugriff auf API Management-Dienste und -Entitäten mit Ausnahme der folgenden Vorgänge: Erstellen, Löschen und Skalieren von Instanzen; VPN-Konfiguration; Einrichten benutzerdefinierter Domänen

Integrierte Arbeitsbereichsrollen

API Management stellt die folgenden integrierten Rollen für Projektmitarbeiter*innen in Arbeitsbereichen in einer API Management-Instanz bereit.

Arbeitsbereichsmitarbeiter*innen muss sowohl eine Rolle auf Ebene des Arbeitsbereichs als auch eine Rolle auf Ebene des Diensts zugewiesen werden.

Rolle Bereich BESCHREIBUNG
API Management-Arbeitsbereichsmitwirkender Arbeitsbereich Kann den Arbeitsbereich und die Ansicht verwalten, aber nicht die Mitglieder nicht ändern. Diese Rolle sollte auf Ebene des Arbeitsbereichs zugewiesen werden.
API Management-Arbeitsbereichsleser Arbeitsbereich Verfügt über schreibgeschützten Zugriff auf Entitäten im Arbeitsbereich. Diese Rolle sollte auf Ebene des Arbeitsbereichs zugewiesen werden.
Arbeitsbereichs-API-Entwickler für API Management Arbeitsbereich Verfügt über Lesezugriff auf Entitäten im Arbeitsbereich und Lese- und Schreibzugriff auf Entitäten zum Bearbeiten von APIs. Diese Rolle sollte auf Ebene des Arbeitsbereichs zugewiesen werden.
Arbeitsbereichs-API-Produktmanager für API Management Arbeitsbereich Verfügt über Lesezugriff auf Entitäten im Arbeitsbereich und Lese- und Schreibzugriff auf Entitäten zum Veröffentlichen von APIs. Diese Rolle sollte auf Ebene des Arbeitsbereichs zugewiesen werden.
Arbeitsbereichs-API-Entwickler für API Management-Dienst Dienst Verfügt über Lesezugriff auf Tags und Produkte und Schreibzugriff für Folgendes:

▪️ Zuweisen von APIs zu Produkten
▪️ Zuweisen von Tags zu Produkten und APIs

Diese Rolle sollte auf Ebene des Diensts zugewiesen werden.
Arbeitsbereichs-API-Produktmanager des API Management-Diensts Dienst Hat den gleichen Zugriff wie Arbeitsbereichs-API-Entwickler für den API Management-Dienst sowie Lesezugriff auf Benutzer*innen und Schreibzugriff zum Zuweisen von Benutzer*innen zu Gruppen. Diese Rolle sollte auf Ebene des Diensts zugewiesen werden.

Je nachdem, wie Arbeitsbereichsmitarbeiter den Arbeitsbereich verwenden oder verwalten, empfehlen wir, auch eine der folgenden von Azure bereitgestellten RBAC-Rollen im Bereich des Arbeitsbereichsgateways zuzuweisen: Leser, Mitwirkender oder Besitzer.

Integrierte Entwicklerportalrollen

Rolle Bereich Beschreibung
Inhaltseditor des API Management-Entwicklerportals Dienst Kann das Entwicklerportal anpassen, seine Inhalte bearbeiten und mithilfe von Azure Resource Manager-APIs veröffentlichen.

Benutzerdefinierte Rollen

Wenn keine der integrierten Rollen Ihre Anforderungen erfüllt, können benutzerdefinierte Rollen erstellt werden, um eine detailliertere Zugriffsverwaltung für API Management-Entitäten bereitzustellen. Beispielsweise können Sie eine benutzerdefinierte Rolle erstellen, die schreibgeschützten Zugriff auf einen API Management-Dienst, aber nur Schreibzugriff für eine bestimmte API besitzt. Weitere Informationen zu benutzerdefinierten Rollen finden Sie unter Erstellen von benutzerdefinierten Rollen für die rollenbasierte Zugriffssteuerung in Azure.

Hinweis

Damit eine API Management-Dienstinstanz im Azure-Portal angezeigt wird, muss eine benutzerdefinierte Rolle die Aktion Microsoft.ApiManagement/service/read einschließen.

Wenn Sie eine benutzerdefinierte Rolle erstellen, ist es einfacher, mit einer der integrierten Rollen zu beginnen. Bearbeiten Sie die Attribute, und fügen Sie Actions, NotActions oder AssignableScopes hinzu. Speichern Sie die Änderungen anschließend als neue Rolle. Im folgenden Beispiel wird von der Leserolle für den API Management-Dienst ausgegangen und eine benutzerdefinierte Rolle namens „Calculator API Editor“ (Rechner-API-Editor) erstellt. Sie können die benutzerdefinierte Rolle im Bereich einer bestimmten API zuweisen. Daher hat diese Rolle nur Zugriff auf diese API.

$role = Get-AzRoleDefinition "API Management Service Reader Role"
$role.Id = $null
$role.Name = 'Calculator API Contributor'
$role.Description = 'Has read access to Contoso APIM instance and write access to the Calculator API.'
$role.Actions.Add('Microsoft.ApiManagement/service/apis/write')
$role.Actions.Add('Microsoft.ApiManagement/service/apis/*/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<Azure subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>')
New-AzRoleDefinition -Role $role
New-AzRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>'

Der Artikel Vorgänge für Azure Resource Manager-Ressourcenanbieter enthält die Liste der Berechtigungen, die auf API Management-Ebene gewährt werden können.

Nächste Schritte

Weitere Informationen zur rollenbasierten Zugriffssteuerung in Azure finden Sie in den folgenden Artikeln: