2017-10-20 23 views
0

J'ai un compte AWS et peu de gens ont été ajoutés à un groupe, appelé "ventes" et ce groupe a un rôle IAM "AmazonEC2FullAccess". Ma compréhension est que le groupe "ventes" est capable d'afficher toutes les ressources EC2, de créer de nouvelles instances et de terminer toutes les anciennes.comment personnaliser AmazonEC2FullAccess

Je souhaite restreindre ce groupe à uniquement afficher et créer des instances, et DONOT être capable de supprimer toutes les instances, Comment puis-je modifier/modifier ce rôle AmazonEC2FullAccess pour désactiver le processus de terminaison des instances?

Répondre

0

Pour répondre directement à votre question, vous ne pouvez pas changer AmazonEC2FullAccess puisqu'il s'agit d'une règle intégrée. Mais vous pouvez refuser explicitement la fin de l'instance EC2 en ajoutant la politique en ligne à ce groupe comme celui-ci:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1508489064000", 
      "Effect": "Deny", 
      "Action": [ 
       "ec2:TerminateInstances" 
      ], 
      "Resource": [ 
       "arn:aws:ec2:us-east-1:ACCOUNT_ID:instance/*" 
      ] 
     } 
    ] 
} 

Attribution AmazonEC2FullAccess aux vendeurs est une idée horrible.

0

Je vous suggère d'utiliser la méthode de privilège minimum (fournir des droits d'accès uniquement pour ce qui est nécessaire).

Fixez le dessous Inline Custom policy au Groupe Sales sous l'onglet Permissions.

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "ec2:Describe*", 
      "Resource": "*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": "elasticloadbalancing:Describe*", 
      "Resource": "*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "cloudwatch:ListMetrics", 
       "cloudwatch:GetMetricStatistics", 
       "cloudwatch:Describe*" 
      ], 
      "Resource": "*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": "autoscaling:Describe*", 
      "Resource": "*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "ec2:CreateImage", 
       "ec2:CreateKeyPair", 
       "ec2:CreateNetworkInterface", 
       "ec2:CreatePlacementGroup", 
       "ec2:CreateSecurityGroup", 
       "ec2:CreateSnapshot", 
       "ec2:CreateVolume", 
       "ec2:ModifyHosts", 
       "ec2:AllocateAddress", 
       "ec2:AllocateHosts", 
       "ec2:AssignIpv6Addresses", 
       "ec2:AssignPrivateIpAddresses", 
       "ec2:AssociateAddress", 
       "ec2:AuthorizeSecurityGroupEgress", 
       "ec2:AuthorizeSecurityGroupIngress", 
       "ec2:AttachVolume", 
       "ec2:CopyImage", 
       "ec2:CopySnapshot", 
       "ec2:RunInstances", 
       "ec2:StartInstances", 
       "ec2:RebootInstances", 
       "ec2:CreateTags", 
       "ec2:DeleteTags" 
      ], 
      "Resource": "*" 
     }  
    ] 
} 

Cela leur permettra d'effectuer des opérations de base avec des instances EC2 comme exemple la création, créer un groupe de sécurité pour cette instance, les balises etc, mais les empêche d'effectuer des opérations de suppression. Fondamentalement, cette politique est une extension de la politique AmazonEC2ReadOnlyAccess.