J'ai ajouté des balises à mes ressources AWS, mais ma politique IAM ne fonctionne pas. Quels services AWS prennent en charge les balises basées sur des autorisations ?

Date de la dernière mise à jour : 17/02/2022

Mes ressources sont identifiées avec la clé et la valeur de balise correctes, mais ma politique AWS Identity and Access Management (IAM) n'évalue pas les balises de mes ressources.

Brève description

Les politiques IAM peuvent utiliser la clé de condition globale aws:ResourceTag pour contrôler l'accès en fonction de la clé et de la valeur de balise de la ressource. Certains services AWS ne prennent pas en charge l'autorisation des balises. Certaines ressources AWS, telles que les fonctions AWS Lambda et les files d'attente Amazon Simple Queue Service (Amazon SQS), peuvent être labelisées. Toutefois, ces balises ne peuvent pas être utilisées dans une politique IAM pour contrôler l'accès aux ressources. Pour connaître la liste des services AWS prenant en charge l’autorisation basée sur des balises, consultez la section Services AWS qui fonctionnent avec IAM.

Solution

Si un service AWS ne prend pas en charge l'autorisation basée sur des balises, vérifiez les actions, ressources et clés de condition du service pour voir les autorisations au niveau des ressources et les clés de condition prises en charge dans les politiques IAM. Certains services AWS, tels que Présentation de la gestion de l'accès dans Amazon SQS et Politiques IAM basées sur l'identité pour AWS Lambda, disposent d'une documentation qui contient des exemples de politiques IAM.

Certaines actions Lambda, telles que DeleteFunction et PublishVersion, peuvent être limitées à une fonction Lambda spécifique à l'aide d'autorisations au niveau des ressources. Attacher cet exemple de politique IAM à un utilisateur IAM autorise ces actions Lambda, mais uniquement sur une seule fonction Lambda.
Remarque : modifiez la politique IAM pour inclure votre propre ARN de la fonction Lambda.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowActionsOnSpecificFunction",
      "Effect": "Allow",
      "Action": [
        "lambda:DeleteFunction",
        "lambda:PublishVersion"
      ],
      "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function"
    }
  ]
}