Lorsque vous gérez des ressources ECI au sein de différentes équipes ou environnements, il n'est pas viable de lister les ID de chaque ressource dans chaque politique RAM. Grâce au contrôle d'accès basé sur les tags, également appelé contrôle d'accès basé sur les attributs (ABAC), une seule politique régit toutes les ressources portant le tag requis, ce qui élimine la nécessité de mettre à jour les politiques pour chaque ressource individuellement.
Cette rubrique explique comment configurer une politique RAM qui restreint un utilisateur RAM aux ressources ECI portant le tag env:test, et détaille la manière dont ECI évalue les conditions de tag pour chaque type d'opération.
Le schéma suivant illustre le fonctionnement de l'authentification basée sur les tags.

Les tags peuvent être associés à des instances de conteneur élastique, des caches d'image et des nœuds virtuels. Les tags ne peuvent être attachés que lors de la création ou de la mise à jour d'une ressource. Pour plus d'informations, consultez Utiliser les tags pour gérer les instances de conteneur élastique .
Fonctionnement
ECI prend en charge deux clés de condition de tag pour les politiques RAM :
|
Clé de condition |
Ce qu'elle vérifie |
Quand l'utiliser |
|
|
Le tag inclus dans la requête API elle-même |
Opérations API qui acceptent des paramètres de tag (par exemple, les opérations de création) |
|
|
Le tag déjà attaché à la ressource cible |
Opérations API qui nécessitent un ID de ressource (par exemple, les mises à jour, suppressions et autres opérations du cycle de vie) |
La clé applicable dépend du fait que l'opération API accepte un ID de ressource, un tag, ou les deux. Consultez la section Logique d'authentification par type d'opération pour une analyse détaillée.
Exemple de configuration
Cet exemple accorde à un utilisateur RAM l'accès uniquement aux ressources ECI portant le tag env:test.

La politique couvre trois exigences :
|
Exigence |
Action autorisée |
|
Création |
L'utilisateur RAM peut créer des ressources ECI uniquement si le tag |
|
Exploitation |
L'utilisateur RAM peut effectuer toute opération sur les ressources ECI qui portent déjà le tag |
|
Affichage |
L'utilisateur RAM peut lister ou décrire uniquement les ressources ECI portant le tag |
Étape 1 : Créer une politique personnalisée et l'attacher à l'utilisateur RAM
Connectez-vous à la console RAM avec votre compte Alibaba Cloud.
Dans le volet de navigation de gauche, sélectionnez Permissions > Policies.
Sur la page Policies, cliquez sur Create Policy.
Cliquez sur l'onglet Import Policy. Dans la boîte de dialogue, sélectionnez System Policy dans la liste déroulante Policy Template, recherchez
AliyunECIFullAccessdans la zone Filter templates, sélectionnez la politique, puis cliquez sur Import.AliyunECIFullAccessest la politique par défaut pour ECI. Elle accorde les autorisations nécessaires pour exploiter les ressources ECI, interroger les dépendances telles que les groupes de sécurité et les VPC, et créer le rôle lié au service ECI.-
Cliquez sur l'onglet JSON Editor et remplacez le document de politique par le contenu suivant. La politique associe chaque exigence à une clé de condition spécifique :
acs:RequestTagvérifie le tag envoyé dans la requête (utilisé pour les opérations de création et de description).acs:ResourceTagvérifie le tag déjà présent sur la ressource cible (utilisé pour les opérations d'exploitation).
Chaque instruction inclut
Effect,Action,Resource, et éventuellementCondition. Pour plus d'informations, consultez Structure et syntaxe des politiques et Éléments de politique .Exigence
Action
Clé de condition
Valeur de condition
Création avec tag
eci:Create*acs:RequestTag/envtestExploitation des ressources taguées
eci:*acs:ResourceTag/envtestAffichage des ressources taguées
eci:Describe*acs:RequestTag/envtest{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "eci:Create*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }, { "Effect": "Allow", "Action": "eci:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/env": "test" } } }, { "Effect": "Allow", "Action": "eci:Describe*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }, { "Action": ["ecs:DescribeSecurityGroups"], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:DescribeVSwitches", "vpc:DescribeVpcs", "vpc:DescribeEipAddresses" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "eci.aliyuncs.com", "vnode.eci.aliyuncs.com" ] } } } ] } Cliquez sur Next to edit policy information, saisissez un nom pour la politique, puis cliquez sur OK.
-
Attachez la politique à l'utilisateur RAM :
Dans le volet de navigation de gauche, sélectionnez Identities > Users.
Si vous ne disposez pas encore d'utilisateur RAM, créez-en un. Pour plus d'informations, consultez Créer un utilisateur RAM.
Attachez la politique personnalisée à l'utilisateur RAM. Pour plus d'informations, consultez Gérer les autorisations des utilisateurs RAM.
La politique ci-dessus couvre l'accès via API. Si l'utilisateur RAM a également besoin d'un accès à la console, attachez des politiques supplémentaires. Pour plus d'informations, consultez Accorder des autorisations aux utilisateurs RAM .
Étape 2 : Vérifier la politique
Connectez-vous à la console OpenAPI Explorer en tant qu'utilisateur RAM et testez chaque opération :
|
Opération |
Scénario |
Résultat attendu |
|
Création |
La requête inclut le tag |
Succès |
|
Création |
La requête ne contient aucun tag, ou un tag différent |
Échec — autorisation refusée |
|
Suppression |
L'instance cible porte le tag |
Succès |
|
Suppression |
L'instance cible ne porte pas le tag |
Échec — autorisation refusée |
|
Requête |
Spécification d'un ID d'instance (l'instance porte |
Renvoie l'instance |
|
Requête |
Spécification d'un ID d'instance (l'instance porte |
Renvoie l'instance |
|
Requête |
Spécification d'un ID d'instance (l'instance ne porte pas |
Renvoie un résultat vide |
|
Requête |
Spécification uniquement du tag |
Renvoie toutes les instances portant |
|
Requête |
Aucun ID d'instance ni tag spécifié |
Renvoie un résultat vide |
Logique d'authentification par type d'opération
Une fois qu'une politique basée sur les tags est attachée à un utilisateur RAM, ECI évalue chaque requête API par rapport à la condition pertinente. La condition utilisée dépend du type d'opération.
|
Type d'opération |
Exemples d'opérations |
ID de ressource requis |
Condition évaluée |
Règles d'authentification |
|
Création |
|
Non |
|
Succès si la requête inclut un tag correspondant à la condition de la politique. Échec si aucun tag ou un tag non correspondant est inclus. |
|
Requête |
|
ID ou tag requis |
|
Succès si : le tag de la ressource correspond à |
|
Mise à jour |
|
Oui |
|
Succès si le tag de la ressource correspond à |
|
Autres opérations du cycle de vie |
|
Oui |
|
Succès si le tag de la ressource correspond à |
Pour les opérations de requête, un échec d'authentification renvoie un résultat vide plutôt qu'une erreur.
Étapes suivantes
Pour associer des tags aux ressources ECI, consultez Utiliser les tags pour gérer les instances de conteneur élastique.
Pour en savoir plus sur la structure des politiques RAM, consultez Structure et syntaxe des politiques.