2017-10-17 10 views
0

C'est la politique que j'essayais de permettre la création d'instances seulement quand elle a des balises costcenter et dept avec des valeurs 115 et prod. Mais quand je la test l'instance est créée même avec ces balisesPolitique d'IAM pour demander des étiquettes

{ 
 
      "Sid": "AllowTaggedInstances", 
 
      "Effect": "Allow", 
 
      "Action": "ec2:RunInstances", 
 
      "Resource": "arn:aws:ec2:us-east-1:729964090428:instance/*", 
 
      "Condition": { 
 
       "StringEquals": { 
 
        "aws:RequestTag/costcenter": "115", 
 
        "aws:RequestTag/dept": "prod" 
 
       }, 
 
       "ForAllValues:StringEquals": { 
 
        "aws:TagKeys": [ 
 
         "costcenter", 
 
         "dept" 
 
        ] 
 
       } 
 
      } 
 
     },

Répondre

0

La politique que vous avez montré, ne dispose pas de suffisamment d'autorisations pour créer une instance. Cela signifie que vous avez une autre stratégie ou un autre rôle qui remplace celui-ci. Remplacez le mot "RequestTag" par "ResourceTag" dans votre police.

Remarque: Les meilleures stratégies utilisant les conditions n'utilisent pas "allow if this" mais utilisent plutôt "deny if NOT this". Un refus annulera tout autorise.

Voici un lien pour vous aider à ResourceTags:

EC2 Resource Tags

0

Votre politique ne suffit pas l'autorisation et des politiques visant à limiter.
Si vous voulez permettre à l'utilisateur de créer nouvelle instance avec des balises costcenter:115 and dept:prod, essayez ci-dessous la politique:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:Describe*", 
     "ec2:GetConsole*" 
     ], 
     "Resource": "*" 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:RunInstances" 
     ], 
     "Resource": [ 
     "arn:aws:ec2:region::image/*", 
     "arn:aws:ec2:region:account:subnet/*", 
     "arn:aws:ec2:region:account:network-interface/*", 
     "arn:aws:ec2:region:account:security-group/*", 
     "arn:aws:ec2:region:account:key-pair/*" 
     ] 
    }, 
    { 
     "Effect": "Allow", 
     "Action": "ec2:RunInstances", 
     "Resource": [ 
     "arn:aws:ec2:region:account:instance/*" 
     ], 
     "Condition": { 
     "StringEquals": { 
      "aws:RequestTag/costcenter": "115", 
      "aws:RequestTag/dept": "prod" 
     }, 
     "ForAllValues:StringEquals": { 
      "aws:TagKeys": [ 
      "costcenter", 
      "dept" 
      ] 
     } 
     } 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:CreateTags" 
     ], 
     "Resource": "arn:aws:ec2:region:account:*/*", 
     "Condition": { 
     "StringEquals": { 
      "ec2:CreateAction": "RunInstances" 
     } 
     } 
    } 
    ] 
}