Une politique de contrôle d'accès comprend les éléments suivants : Effect, Action ou NotAction, Resource et Condition.
|
Élément |
Description |
|
Effect |
Indique si l'instruction accorde ou refuse explicitement l'accès. Valeurs valides :
|
|
Action ou NotAction |
Spécifiez une ou plusieurs opérations API à autoriser ou à refuser. Une politique doit contenir soit Action, soit NotAction.
|
|
Resource |
Un ou plusieurs objets auxquels s'applique l'instruction. |
|
Condition |
Conditions requises pour que la politique prenne effet. |
Effect
L'élément Effect spécifie si une politique autorise ou refuse l'accès. Cet élément est obligatoire.
Les valeurs valides pour l'élément Effect sont Allow et Deny.
Si une politique d'autorisation contient à la fois Allow et Deny, Deny est prioritaire.
Exemple :
"Effect": "Allow"
Action/NotAction
Une instruction de politique doit inclure un élément Action ou NotAction. Action spécifie les opérations autorisées ou refusées. NotAction spécifie les opérations exemptées de la politique.
Les valeurs valides pour l'élément Action/NotAction correspondent aux noms des opérations API définies par le service cloud.
Le format de l'élément Action/NotAction est <ram-code>:<action-name>.
ram-code: code RAM du service cloud. Pour plus d'informations, consultez la colonne RAM Code dans la rubrique Services Alibaba Cloud compatibles avec RAM.action-name: nom de l'opération API concernée.
La valeur de l'élément Action/NotAction est généralement insensible à la casse. Toutefois, pour garantir un comportement cohérent, utilisez le préfixe <ram-code> et <action-name> exacts tels qu'ils figurent dans la documentation d'autorisation du service cloud.
Exemples :
-
Exemple d'utilisation d'Action
"Action": [ "oss:ListBuckets", "ecs:Describe*", "rds:Describe*" ] -
Indépendance de l'ordre
L'ordre des éléments dans le tableau Action n'affecte pas le résultat de l'autorisation. Chaque action est évaluée indépendamment, quelle que soit sa position dans le tableau. Par conséquent, les deux notations suivantes sont équivalentes :
"Action": [ "ecs:DescribeSecurityGroups", "ecs:DescribeInstances" ]"Action": [ "ecs:DescribeInstances", "ecs:DescribeSecurityGroups" ] -
Exemple d'utilisation de NotAction
L'exemple suivant autorise toutes les opérations, à l'exception de celles liées à RAM. La politique répertorie uniquement l'opération exclue (ram:*) au lieu de toutes les opérations autorisées, ce qui rend l'instruction de politique plus concise. Toutefois, cela accorde des autorisations étendues. Utilisez cette approche avec prudence et assurez-vous que la politique se comporte comme prévu.
{ "Effect": "Allow", "NotAction": "ram:*", "Resource": "*" }
Resource
L'élément Resource décrit un ou plusieurs objets auxquels s'applique la politique. Cet élément est utilisé dans les politiques basées sur l'identité et est obligatoire.
La valeur de l'élément Resource correspond à l'ARN (Aliyun Resource Name) d'une ressource définie par un service cloud.
Le format de l'élément Resource est acs:<ram-code>:<region>:<account-id>:<relative-id>. Utilisez l'ARN exact tel qu'il figure dans la documentation d'autorisation du service cloud.
Le format se décompose comme suit :
acs: abréviation d'Alibaba Cloud Service. Identifie la demande comme ciblant la plateforme de cloud public Alibaba Cloud.ram-code: code RAM du service cloud. Pour plus d'informations, consultez la colonne RAM Code dans la rubrique Services Alibaba Cloud compatibles avec RAM.region: informations sur la région. Pour les ressources globales, accessibles sans spécifier de région, utilisez un astérisque (*). Pour plus d'informations, consultez la rubrique Régions et zones de disponibilité.account-id: ID d'un compte Alibaba Cloud. Par exemple,123456789012****.relative-id: partie de l'ARN qui décrit la ressource, dont la sémantique est définie par le service cloud spécifique. Cette partie prend en charge une structure arborescente, similaire à un chemin de fichier. Par exemple, pour spécifier un objet OSS, le format estrelative-id = "mybucket/dir1/object1.jpg".
Exemple :
"Resource": [
"acs:ecs:*:*:instance/inst-001",
"acs:ecs:*:*:instance/inst-002",
"acs:oss:*:*:mybucket",
"acs:oss:*:*:mybucket/*"
]
Condition
L'élément Condition spécifie les conditions qui doivent être remplies pour qu'une politique prenne effet. Cet élément est facultatif.
L'élément Condition, également appelé bloc de condition, se compose d'une ou plusieurs clauses de condition. Chaque clause contient un opérateur de condition, une clé de condition et une ou plusieurs valeurs de condition.

Étant donné que l'élément Condition est facultatif, le système ne valide pas sa présence. Si vous utilisez l'élément Condition pour spécifier des conditions, assurez-vous d'utiliser l'orthographe et la casse correctes.
Le nom (clé) d'une clé de condition est sensible à la casse. La sensibilité à la casse de la valeur de condition (valeur) dépend de l'opérateur de condition utilisé. Par exemple, pour une clé de condition de type chaîne, si vous utilisez l'opérateur StringEquals, il fait correspondre la valeur de la politique avec la valeur de la demande, et la correspondance est sensible à la casse. Si vous utilisez l'opérateur StringEqualsIgnoreCase, il fait correspondre la valeur de la politique avec la valeur de la demande, mais ignore la casse.
L'élément Condition présente les caractéristiques suivantes :
-
Logique d'évaluation
La condition est remplie si la valeur de la clé dans la demande correspond à l'une des valeurs de la politique (OU logique).
Si une clause de condition contient plusieurs clés de condition, toutes les clés doivent correspondre pour que la clause soit remplie (ET logique).
Le bloc de condition entier est rempli uniquement si toutes ses clauses sont remplies (ET logique).
-
Types d'opérateurs de condition
Les types d'opérateurs de condition incluent String, Number, Date and time, Boolean et IP address. Pour connaître la signification et voir des exemples d'opérateurs de condition, consultez la rubrique Opérateurs de condition.
-
Clés de condition
-
Les clés de condition globales Alibaba Cloud utilisent le format :
acs:<condition-key>.Clé de condition globale
Type
Description
acs:CurrentTimeDate et heure
Heure à laquelle le serveur web reçoit la demande.
RemarqueUtilisez l'heure UTC au format standard ISO 8601.
Par exemple, 20 h 00 le 10 janvier 2023, heure de Pékin (UTC+8), est représenté par
2023-01-10T20:00:00+08:00ou2023-01-10T12:00:00Z.acs:SecureTransportBooléen
Indique si la demande a été envoyée via un canal sécurisé, tel que HTTPS.
acs:SourceIpAdresse IP
Adresse IP du client à partir de laquelle la demande a été envoyée.
RemarqueLa valeur de
acs:SourceIppeut être une adresse IP spécifique ou un bloc CIDR. N'écrivez pas une adresse IP spécifique au format CIDR. Par exemple, n'écrivez pas 10.0.0.1 sous la forme 10.0.0.1/32.acs:MFAPresentBooléen
Indique si l'utilisateur s'est connecté avec l'authentification multifacteur (MFA).
RemarqueSi MFA for RAM user sign-in est défini sur Required Only for Unusual Logon dans les paramètres de sécurité de l'utilisateur RAM, la condition
acs:MFAPresentdevient inefficace. Pour plus d'informations, consultez la rubrique Gérer les paramètres de sécurité d'un utilisateur RAM.acs:PrincipalARNChaîne
Identité du principal de la demande. Cet élément ne peut être utilisé que dans les politiques de contrôle de Resource Directory et les politiques d'approbation des rôles RAM. Par exemple,
acs:ram:::role/resourcedirectory.RemarqueActuellement, seul l'ARN d'un rôle RAM est pris en charge, et il doit être en minuscules. Vous pouvez trouver l'ARN d'un rôle RAM sur sa page de détails dans la console RAM.
acs:PrincipalRDIdChaîne
ID du Resource Directory auquel appartient le compte cloud du principal de la demande, par exemple
rd-AA****. Pour afficher un ID de Resource Directory, consultez la rubrique Afficher les informations de base d'un annuaire de ressources.Cet élément ne peut être utilisé que dans les politiques d'approbation des rôles RAM et les stratégies de compartiment OSS.
acs:PrincipalRDPathChaîne
Chemin d'accès du compte cloud du principal de la demande dans le Resource Directory. Le format est généralement
<RD-Id>/<Root-folder-Id>/<Sub-folder-Id>/<Member-account-Id>, par exemplerd-AA**/r-aQ/fd-caiJfl/199386846043**. Pour savoir comment afficher le RDPath complet d'un compte membre, consultez la rubrique Afficher les informations d'un membre.Pour faire correspondre tous les comptes membres sous un RDPath spécifié, vous pouvez utiliser le caractère générique
avec l'opérateur de conditionStringLike. Par exemple,"Condition": {"StringLike": {"acs:PrincipalRDPath": ["<RD-Id>/<Root-folder-Id>/<Sub-folder-Id>"]}}.Cet élément ne peut être utilisé que dans les politiques d'approbation des rôles RAM et les stratégies de compartiment OSS.
acs:RequestTag/<tag-key>Chaîne
Tags inclus dans la demande. Remplacez <tag-key> par votre clé de tag réelle. Pour les services cloud et les types de ressources pris en charge, consultez les informations Authentication by Resource Type dans la rubrique Services Alibaba Cloud compatibles avec les tags.
acs:ResourceTag/<tag-key>Chaîne
Tags attachés à la ressource demandée. Remplacez <tag-key> par votre clé de tag réelle. Pour les services cloud et les types de ressources pris en charge, consultez les informations Authentication by Resource Type dans la rubrique Services Alibaba Cloud compatibles avec les tags.
-
Les clés de condition spécifiques au service utilisent le format :
<ram-code>:<condition-key>.Par exemple, la clé de condition OSS
oss:Delimiterest utilisée dans les demandes ListObjects pour regrouper les noms d'objets par un caractère.Pour les clés de condition spécifiques à chaque service cloud, consultez la documentation d'autorisation de ce service.
-
-
Exemples de conditions
Les clauses de condition (telles que IpAddress et Bool) au sein d'un même bloc Condition sont évaluées avec un ET logique. Pour créer un OU logique, placez chaque condition dans une instruction de politique distincte.
Exemple 1 : Autoriser un utilisateur RAM à accéder aux instances ECS uniquement si l'utilisateur a activé la MFA et effectue la demande depuis l'adresse IP 203.0.113.2.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "203.0.113.2" ] }, "Bool": { "acs:MFAPresent": [ "true" ] } } } ] }Exemple 2 : Autoriser un utilisateur RAM à accéder aux instances ECS si l'utilisateur a activé la MFA ou effectue la demande depuis l'adresse IP 203.0.113.2.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "203.0.113.2" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "Bool": { "acs:MFAPresent": [ "true" ] } } } ] }
Références
Les politiques de contrôle d'accès suivent une syntaxe et une structure similaires aux politiques d'autorisation RAM. Consultez la rubrique Structure et syntaxe des politiques.
Consultez la rubrique Exemples de politiques de contrôle d'accès personnalisées