0

Je la présente politique IAM:empêcher tous les utilisateurs de supprimer une pile CloudFormation spécifique

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Deny", 
      "Action": [ 
       "cloudformation:UpdateStack", 
       "cloudformation:DeleteStack" 
      ], 
      "Resource": "MystackARN" 
     } 
    ] 
} 

J'attaché à mon utilisateur de tester ensuite essayé de supprimer la pile de CloudFormation, je suis cette erreur:

Failed to delete stack: User: arn:aws:iam::accountId:user/me is not authorized to perform: cloudformation:DeleteStack on resource: arn:aws:cloudformation:eu-west-1:stackARN 

Je veux que tous les utilisateurs sauf moi reçoivent cette erreur lorsqu'ils essaient de supprimer la pile spécifiée dans la politique.

Est-il possible d'utiliser AWS CLI pour ajouter cette politique à tous les utilisateurs sauf moi (propriétaire de la pile)?

OU:

Est-il possible de supprimer l'autorisation DeleteStack de tous les utilisateurs sauf moi (propriétaire de la pile)?

J'ai essayé ceci:

aws iam attach-user-policy --policy-arn arn:aws:iam::AccountId:policy/cfn-policy --user-name arn:aws:iam::AccountId:user/* 

Mais cela n'a pas fonctionné.

Répondre

1

Un moyen facile d'y parvenir est:

  1. Création d'un groupe IAM et attacher votre deny à elle
  2. Ajouter tous les utilisateurs, sauf vous au groupe

Ce serait être la façon recommandée par AWS de le faire.

+0

J'ai appliqué cette stratégie pour protéger les piles. Cela fonctionne très bien. Mais j'ai une question, que se passe-t-il lorsque j'ajoute un nouvel utilisateur AWS? cet utilisateur sera capable de supprimer/mettre à jour la pile. Y at-il une solution de contournement? – Somar

+1

Ajoutez l'utilisateur au groupe approprié. Un utilisateur IAM par défaut n'a aucune autorisation, donc le fardeau est sur VOUS – Raf