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: