Použití řízení přístupu na základě role ve službě Azure API Management
PLATÍ PRO: Všechny úrovně služby API Management
Azure API Management spoléhá na řízení přístupu na základě role v Azure (Azure RBAC), které umožňuje jemně odstupňovanou správu přístupu pro služby a entity API Management (například rozhraní API a zásady). 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 a v blízké budoucnosti přidá dvě další role. Tyto role je možné přiřadit v různých oborech, včetně předplatného, skupiny prostředků a jednotlivé instance 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 portálu starší verze 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 portálu starší verze vydavatele. |
Čtenář služby API Management | ✓ | Má přístup jen pro čtení ke službám a entitě API Management. | |||
Operátor služby API Management | ✓ | ✓ | Může spravovat služby API Management, ale ne entity. |
[1] Přístup ke čtení ke službám a entitám služby 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 v oboru pracovního prostoru. |
Čtenář pracovního prostoru služby API Management | pracovní prostor | Má přístup jen pro čtení k entitě v pracovním prostoru. Tato role by měla být přiřazena v oboru 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 v oboru pracovního prostoru. |
API Management Workspace API Product Manager | 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í rozhraní API. Tato role by měla být přiřazena v oboru pracovního prostoru. |
Vývojář rozhraní API pro pracovní prostor služby API management | service | Má přístup pro čtení ke značkům a produktům a přístup k zápisu, aby povoloval: ▪️ 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. |
Product Manager rozhraní API pro pracovní prostor služby API management | service | Má stejný přístup jako vývojář rozhraní API pro pracovní prostor služby API služby API management a také přístup pro čtení uživatelů a přístup pro zápis, který umožňuje 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 | service | 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ýchrolíchm služebm nevyhovuje vašim konkrétním potřebám, můžete vytvořit vlastní role, které poskytují podrobnější správu přístupu pro entity služby 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 na webu Azure Portal, musí vlastní role zahrnovat Microsoft.ApiManagement/service/read
akci.
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ší kroky
Další informace o řízení přístupu na základě role v Azure najdete v následujících článcích: