Sdílet prostřednictvím


Použití řízení přístupu na základě role ve službě Azure API Management

PLATÍ PRO: Všechny úrovně služby Správa rozhraní API

Azure API Management spoléhá na řízení přístupu na základě role v Azure (Azure RBAC) a umožňuje jemně odstupňovanou správu přístupu pro služby API Management a entity včetně pracovních prostorů. Tento článek obsahuje přehled předdefinovaných a vlastních rolí ve službě API Management. Další informace o správě přístupu na webu Azure Portal najdete v tématu Začínáme se správou přístupu na webu Azure Portal.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Předdefinované role služby

API Management v současné době poskytuje tři předdefinované role služby. Tyto role jsou možné přiřadit v různých rozsazích, včetně předplatných, skupin prostředků a jednotlivých instancí API Management. Pokud například přiřadíte uživateli roli „Čtenář služby API Management“ na úrovni skupiny prostředků, pak má uživatel přístup pro čtení ke všem instancím API Management ve skupině prostředků.

Následující tabulka obsahuje stručný popis předdefinovaných rolí. Tyto role můžete přiřadit pomocí webu Azure Portal nebo jiných nástrojů, včetně Azure PowerShellu, Azure CLI a rozhraní REST API. Podrobnosti o přiřazování předdefinovaných rolí najdete v tématu Přiřazení rolí Azure ke správě přístupu k prostředkům předplatného Azure.

Role Přístup pro čtení[1] Přístup pro zápis[2] Vytvoření, odstranění a škálování služby, síť VPN a vlastní konfigurace domény Přístup k původnímu portálu vydavatele Popis
Přispěvatel služby API Management Superuživatel. Má úplný přístup CRUD ke službám a entitám API Management (například k rozhraním API a zásadám). Má přístup k původnímu vydavatelskému portálu.
Čtenář služby API Management Má přístup jen pro čtení ke službám a entitám API Management.
Operátor služby API Management Může spravovat služby API Management, ale ne entity.

[1] Přístup ke čtení k entitám a službám API Management (například rozhraní API a zásady).

[2] Přístup k zápisu do služeb a entit služby API Management s výjimkou následujících operací: vytváření, odstraňování a škálování instancí; konfigurace sítě VPN; a vlastní nastavení domény.

Předdefinované role pracovního prostoru

SLUŽBA API Management poskytuje následující předdefinované role pro spolupracovníky v pracovních prostorech v instanci služby API Management.

Spolupracovník pracovního prostoru musí mít přiřazenou roli v oboru pracovního prostoru i roli s oborem služby.

Role Scope Popis
Přispěvatel pracovního prostoru služby API Management pracovní prostor Může spravovat pracovní prostor a zobrazení, ale ne upravovat jeho členy. Tato role by měla být přiřazena na úrovni pracovního prostoru.
Čtenář pracovního prostoru služby API Management pracovní prostor Má přístup jen pro čtení k entitám v pracovním prostoru. Tato role by měla být přiřazena na úrovni pracovního prostoru.
Vývojář rozhraní API pro pracovní prostor služby API Management pracovní prostor Má přístup pro čtení k entitám v pracovním prostoru a přístup ke čtení a zápisu k entitám pro úpravy rozhraní API. Tato role by měla být přiřazena na úrovni pracovního prostoru.
Manažer produktů API pro správu pracovního prostoru pracovní prostor Má přístup pro čtení k entitám v pracovním prostoru a přístup ke čtení a zápisu k entitám pro publikování API. Tato role by měla být přiřazena na úrovni pracovního prostoru.
Vývojář rozhraní API pro pracovní prostor služby API management služba Má přístup pro čtení ke značkám a produktům a přístup k zápisu, aby umožnil:

▪️ Přiřazení rozhraní API k produktům
▪️ Přiřazení značek k produktům a rozhraním API

Tato role by měla být přiřazena v oboru služby.
Produktový manažer pro API management služby pracovní prostor služba Má stejný přístup jako vývojář rozhraní API pro pracovní prostor služby správy rozhraní API a navíc má přístup pro čtení uživatelů a práva pro zápis, která umožňují přiřazování uživatelů ke skupinám. Tato role by měla být přiřazena v oboru služby.

V závislosti na tom, jak spolupracovníci pracovního prostoru používají nebo spravují pracovní prostor, doporučujeme také přiřadit jednu z následujících rolí RBAC poskytovaných v Azure v oboru brány pracovního prostoru: Čtenář, Přispěvatel nebo Vlastník.

Předdefinované role portálu pro vývojáře

Role Scope Popis
Editor obsahu portálu pro vývojáře služby API Management služba Může přizpůsobit portál pro vývojáře, upravit jeho obsah a publikovat ho pomocí rozhraní API Azure Resource Manageru.

Vlastní role

Pokud žádná z předdefinovaných rolí plně nevyhovuje vašim konkrétním potřebám, můžete vytvořit vlastní role, které poskytují podrobnější správu přístupu u entit v systému API Management. Můžete například vytvořit vlastní roli, která má přístup jen pro čtení ke službě API Management, ale má přístup jen k zápisu do jednoho konkrétního rozhraní API. Další informace o vlastních rolích najdete v tématu Vlastní role v Azure RBAC.

Poznámka:

Aby bylo možné zobrazit instanci služby API Management v Azure portálu, musí vlastní role zahrnovat akci Microsoft.ApiManagement/service/read.

Když vytvoříte vlastní roli, je jednodušší začít s jednou z předdefinovaných rolí. Upravte atributy a přidejte akce, NotActions nebo AssignableScopes a uložte změny jako novou roli. Následující příklad začíná rolí Čtenář služby API Management a vytvoří vlastní roli s názvem Editor rozhraní API kalkulačky. Vlastní roli můžete přiřadit v oboru konkrétního rozhraní API. V důsledku toho má tato role přístup pouze k tomuto rozhraní 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>'

Článek o operacích poskytovatele prostředků Azure Resource Manageru obsahuje seznam oprávnění, která je možné udělit na úrovni služby API Management.

Další informace o řízení přístupu na základě role v Azure najdete v následujících článcích: