Guide pratique pour utiliser le contrôle d’accès en fonction du rôle dans Gestion des API Azure

S’APPLIQUE À : Tous les niveaux de gestion de l’API

Gestion des API Azure utilise le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour gérer de façon précise l’accès aux services et aux entités Gestion des API (par exemple, les API et les stratégies). Cet article fournit une vue d’ensemble des rôles intégrés et personnalisés dans Gestion des API. Pour plus d’informations sur la gestion de l’accès dans le portail Azure, consultez Prise en main de la gestion des accès dans le portail Azure.

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Rôles de service intégrés

Gestion des API fournit trois rôles intégrés, auxquels deux autres vont être prochainement ajoutés. Ces rôles peuvent être affectés à différentes étendues, notamment un abonnement, un groupe de ressources et une instance spécifique de Gestion des API. Par exemple, si vous affectez le rôle « Lecteur du service Gestion des API » à un utilisateur au niveau du groupe de ressources, cet utilisateur a un accès en lecture à toutes les instances Gestion des API du groupe de ressources.

Le tableau ci-dessous fournit de brèves descriptions des rôles intégrés. Vous pouvez affecter ces rôles à l’aide du portail Azure ou d’autres outils, notamment Azure PowerShell, Azure CLI et l’API REST. Pour plus d’informations sur l’attribution de rôles intégrés, consultez Attribuer des rôles Azure pour gérer l’accès aux ressources de votre abonnement Azure.

Role Accès en lecture[1] Accès en écriture[2] Création, suppression et mise à l’échelle d’un service, configuration d’un VPN et d’un domaine personnalisé Accès au portail de publication hérité Description
Contributeur du service de gestion des API Super utilisateur. A un accès CRUD complet aux services et entités Gestion des API (par exemple les API et les stratégies). Dispose d’un accès au portail de publication hérité.
Lecteur du service Gestion des API Dispose d’un accès en lecture seule aux services et entités Gestion des API.
Opérateur du service Gestion des API Peut gérer les services Gestion des API, mais pas les entités.

[1] Accès en lecture aux services et entités Gestion des API (par exemple les API et les stratégies)

[2] Accès en écriture aux services et entités Gestion des API à l’exception des opérations suivantes : création, suppression et mise à l’échelle d’instances, configuration de VPN et configuration de domaine personnalisé.

Rôles d’espace de travail intégrés

Gestion des API fournit les rôles intégrés suivants pour les collaborateurs dans les espaces de travail d’une instance Gestion des API.

Un collaborateur d’espace de travail doit se voir attribuer à la fois un rôle d’étendue d’espace de travail et un rôle d’étendue de service.

Role Étendue Description
Contributeur d’espace de travail de gestion des API espace de travail Peut gérer l’espace de travail et l’affichage, mais pas modifier ses membres. Ce rôle doit être attribué sur l’étendue de l’espace de travail.
Lecteur d’espace de travail de gestion des API espace de travail Dispose d’un accès en lecture seule aux entités de l’espace de travail. Ce rôle doit être attribué sur l’étendue de l’espace de travail.
Développeur d’API d’espace de travail de gestion des API espace de travail Dispose d’un accès en lecture aux entités dans l’espace de travail et d’un accès en lecture et en écriture aux entités pour la modification des API. Ce rôle doit être attribué sur l’étendue de l’espace de travail.
Responsable produit d’API d’espace de travail Gestion des API espace de travail Dispose d’un accès en lecture aux entités dans l’espace de travail et d’un accès en lecture et en écriture aux entités pour la publication des API. Ce rôle doit être attribué sur l’étendue de l’espace de travail.
Développeur d’API d’espace de travail de service de gestion des API service Dispose d’un accès en lecture aux étiquettes et aux produits et d’un accès en écriture pour autoriser :

▪️ Affectation d’API à des produits
▪️ Affectation d’étiquettes à des produits et des API

Ce rôle doit être attribué sur l’étendue du service.
Responsable produit d’API d’espace de travail de service Gestion des API service A le même accès que le développeur d’API d’espace de travail de service Gestion des API, ainsi qu’un accès en lecture aux utilisateurs et un accès en écriture pour permettre l’affectation d’utilisateurs à des groupes. Ce rôle doit être attribué sur l’étendue du service.

Rôles personnalisés

Si aucun des rôles intégrés ne répond à vos besoins, vous pouvez créer des rôles personnalisés permettant une gestion plus précise de l’accès aux entités Gestion des API. Par exemple, vous pouvez créer un rôle personnalisé qui dispose d’un accès en lecture seule à un service Gestion des API, mais qui ne dispose d’un accès en écriture que pour une API spécifique. Pour plus d’informations sur les rôles personnalisés, consultez Rôles personnalisés dans le contrôle d’accès en fonction du rôle (RBAC) Azure.

Notes

Pour être en mesure de voir une instance de la gestion des API dans le portail Azure, un rôle personnalisé doit inclure l’action Microsoft.ApiManagement/service/read.

Quand vous créez un rôle personnalisé, il est plus facile de commencer avec un des rôles intégrés. Modifiez les attributs pour ajouter les propriétés Actions, NotActions ou AssignableScopes, puis enregistrez les modifications en tant que nouveau rôle. L’exemple suivant commence par le rôle « Lecteur du service Gestion des API », puis crée un rôle personnalisé appelé « Éditeur d’API de calcul ». Vous pouvez affecter le rôle personnalisé à l’étendue d’une API spécifique. Par conséquent, ce rôle a accès uniquement à cette 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’article Opérations du fournisseur de ressources Azure Resource Manager contient la liste des autorisations qui peuvent être accordées au niveau Gestion des API.

Étapes suivantes

Pour en savoir plus sur le contrôle d’accès en fonction du rôle dans Azure, consultez les articles suivants :