Использование управления доступом на основе ролей в Azure Управление API

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

Управление API Azure использует управление доступом на основе ролей (RBAC) для детализированного контроля доступа к службам и сущностям Управления API (например, к интерфейсам API и политикам). В этой статье содержатся общие сведения о встроенных и пользовательских ролях в службе управления API. Дополнительные сведения об управлении доступом на портале Azure, см. в руководстве по началу работы с управлением доступом на портале Azure.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Встроенные роли службы

Сейчас служба управления API предоставляет три встроенные роли, к которым скоро будут добавлены еще две. Эти роли можно назначать в разных областях, включая подписку, группу ресурсов и отдельный экземпляр службы управления API. Например, если назначить пользователю роль читателя данных службы управления API на уровне группы ресурсов, у такого пользователя будет доступ на чтение ко всем экземплярам Управления API в группе ресурсов.

В таблице ниже содержатся краткие описания встроенных ролей. Эти роли можно назначать с помощью портала Azure или других инструментов, включая Azure PowerShell, Azure CLI и REST API. Дополнительные сведения о том, как назначать встроенные роли, см. в разделе Назначение ролей Azure с помощью портала Azure.

Роль Доступ на чтение[1] Доступ на запись[2] Создание, удаление и масштабирование служб, настройка VPN и личных доменов Доступ к устаревшему порталу издателя Description
Участник службы управления API Суперпользователь. Имеет полный доступ CRUD к службам и сущностям управления API (например, к интерфейсам API и политикам). Имеет доступ к устаревшему порталу издателя.
Читатель данных службы управления API Имеет доступ на чтение к службам и сущностям управления API.
Оператор службы управления API Может управлять службами управления API, но не может управлять сущностями.

[1] Полный доступ к службам и сущностям управления API (например, к интерфейсам API и политикам).

[2] Доступ на запись к службам и сущностям управления API, за исключением следующих операций: создание, удаление и масштабирование экземпляров; настройка VPN; настройка пользовательского домена.

Встроенные роли рабочей области

Управление API предоставляет следующие встроенные роли для сотрудников в рабочих областях в Управление API экземпляре.

Для совместной работы рабочей области необходимо назначить как роль, область действия рабочей области, так и роль, назначаемую службой.

Роль Scope Description
Участник рабочей области Управление API Рабочая область Может управлять рабочей областью и представлением, но не изменять ее члены. Эта роль должна быть назначена в области рабочей области.
средство чтения рабочей области Управление API Рабочая область Имеет доступ только для чтения к сущностям в рабочей области. Эта роль должна быть назначена в области рабочей области.
Разработчик API рабочей области Управление API Рабочая область Имеет доступ на чтение к сущностям в рабочей области и доступ на чтение и запись к сущностям для редактирования API. Эта роль должна быть назначена в области рабочей области.
Управление API API рабочей области Product Manager Рабочая область Имеет доступ на чтение к сущностям в рабочей области и доступ на чтение и запись к сущностям для публикации API. Эта роль должна быть назначена в области рабочей области.
Разработчик API рабочей области службы Управление API service Имеет доступ на чтение к тегам и продуктам и доступ на запись, чтобы разрешить:

▪️ Назначение API продуктам
▪️ Назначение тегов продуктам и API

Эта роль должна быть назначена в области службы.
Управление API API рабочей области службы Product Manager service Имеет тот же доступ, что и Управление API разработчик API рабочей области службы, а также доступ на чтение к пользователям и доступ на запись, чтобы разрешить назначение пользователей группам. Эта роль должна быть назначена в области службы.

В зависимости от того, как сотрудники рабочей области используют рабочую область или управляют ею, рекомендуется также назначать одну из следующих ролей RBAC, предоставляемых Azure, в области шлюза рабочей области: читатель, участник или владелец.

Встроенные роли портала разработчика

Роль Scope Description
редактор содержимого портала разработчика Управление API service Может настроить портал разработчика, изменить его содержимое и опубликовать его с помощью API Azure Resource Manager.

Пользовательские роли

Если ни одна из встроенных ролей не удовлетворяет вашим потребностям, можно создать пользовательские роли, которые обеспечат более детализированное управление доступом к сущностям управления API. Например, можно создать пользовательскую роль, которая имеет доступ на чтение к службе управления API и доступ на запись к одному конкретному API. Дополнительные сведения о пользовательских ролях см. в описании пользовательских ролей в Azure RBAC.

Примечание.

Чтобы иметь возможность видеть экземпляр Управления API на портале Azure, настраиваемая роль должна содержать действие Microsoft.ApiManagement/service/read.

При создании пользовательской роли проще всего начать с одной из встроенных ролей. Измените атрибуты и добавьте необходимые действия Actions, notActions или области AssignableScopes, а затем сохраните изменения как новую роль. В следующем примере сначала используется роль "Читатель данных службы управления API" и создается настраиваемая роль "Редактор API калькулятора". Настраиваемую роль можно назначить в области определенного API. Следовательно, эта роль получит доступ только к этому 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>'

В статье Операции поставщиков ресурсов Azure Resource Manager содержится список разрешений, которые могут быть предоставлены на уровне управления API.

Следующие шаги

Дополнительные сведения об управлении доступом на основе ролей в Azure см. в следующих статьях: