Je dois créer une stratégie IAM qui accorde de manière explicite à un rôle, un groupe ou un utilisateur IAM des autorisations pour créer et gérer des instances Amazon EC2 dans un cloud privé virtuel (VPC) particulier.

AWS ne fournit pas actuellement un moyen direct de créer une stratégie qui contrôle l'accès aux ressources EC2 en spécifiant un Amazon Resource Name (ARN) dans une stratégie de contrôle EC2 globale ou en utilisant des ARN avec des instructions conditionnelles. Même si des actions API EC2 peuvent être contrôlées via l'ARN VPC, les opérations ne peuvent pas toutes être contrôlées de cette manière.

Vous pouvez appliquer une stratégie IAM personnalisée pour restreindre un rôle, un groupe ou un utilisateur IAM à un VPC spécifique lors de la création et de la gestion d'instances EC2. Cela peut être réalisé avec un profil d'instance IAM qui accorde à une entité IAM des autorisations pour les actions suivantes :

  • Lancement d'instances EC2 dans un VPC spécifique.
  • Gestion des instances EC2 lancées par l'entité IAM.

Pour créer un profil d'instance IAM à cet effet, veuillez procéder comme suit :

1. Création d'un rôle IAM dans le compte. Ce rôle sera référencé par le profil d'instance.

a. Dans la console IAM AWS, dans le volet de navigation, choisissez Roles, puis Create New Role.

b. Saisissez un nom de rôle, puis choisissez Next Step. Vous vous référerez à ce nom de rôle ultérieurement en tant qu'ARN dans la stratégie.

c. Pour le type de rôle, sous AWS Service Roles, choisissez Amazon EC2.

d. Vous n'avez pas besoin d'attacher une stratégie à ce rôle. Sur la page Attach Policy, sélectionnez Next Step.

e. Sur la page Review, sélectionnez Create Role.

2. Créez une stratégie gérée à appliquer aux entités IAM que vous voulez pouvoir lancer et gérez des instances dans le VPC :

a. Dans la console IAM AWS, dans le volet de navigation, choisissez Policies, puis Create Policy.

b. Sélectionnez Create Your Own Policy.

c. Pour le nom de stratégie, saisissez « "VPC Lockdown for VPC-ID », où VPC-ID est l'ID du VPC auquel vous appliquerez la stratégie.

d. En option, fournissez des informations pour la Description.

e. Copiez la stratégie personnalisée suivante dans la zone Policy Document. Assurez-vous de remplacer toutes les occurrences des éléments suivants : ACCOUNTNUMBER, REGION et VPC-ID, par des valeurs qui correspondent à votre environnement, et de remplacer ROLENAME par le nom du rôle créé à l'étape 1b. Sélectionnez ensuite Create Policy.

{

   "Version":"2012-10-17",

   "Statement": [

      {

         "Sid": "NonResourceBasedReadOnlyautorisations",

         "Action": [

            "ec2:Describe*",

            "ec2:CreateKeyPair",

            "ec2:CreateSecurityGroup",

            "iam:GetInstanceProfiles",

            "iam:ListInstanceProfiles"

         ],

         "Effect":"Allow",

         "Resource": "*"

      },

      {

         "Sid": "IAMPassRoleToInstance",

         "Action": [

            "iam:PassRole"

         ],

         "Effect":"Allow",

         "Resource": "arn:aws:iam::ACCOUNTNUMBER:role/ROLENAME"

      },

      {

         "Sid": "AllowInstanceActions",

         "Effect":"Allow",

         "Action": [

            "ec2:RebootInstances",

            "ec2:StopInstances",

            "ec2:TerminateInstances",

            "ec2:StartInstances",

            "ec2:AttachVolume",

            "ec2:DetachVolume"

         ],

         "Resource": "arn:aws:ec2:REGION:ACCOUNTNUMBER:instance/*",

         "Condition": {

            "StringEquals": {

               "ec2:InstanceProfile": "arn:aws:iam::ACCOUNTNUMBER:instance-profile/ROLENAME"

            }

         }

      },

      {

         "Sid": "EC2RunInstances",

         "Effect":"Allow",

         "Action": "ec2:RunInstances",

         "Resource": "arn:aws:ec2:REGION:ACCOUNTNUMBER:instance/*",

         "Condition": {

            "StringEquals": {

               "ec2:InstanceProfile": "arn:aws:iam::ACCOUNTNUMBER:instance-profile/ROLENAME"

            }

         }

      },

      {

         "Sid": "EC2RunInstancesSubnet",

         "Effect":"Allow",

         "Action": "ec2:RunInstances",

         "Resource": "arn:aws:ec2:REGION:ACCOUNTNUMBER:subnet/*",

         "Condition": {

            "StringEquals": {

               "ec2:vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID"

            }

         }

      },

      {

         "Sid": "RemainingRunInstanceautorisations",

         "Effect":"Allow",

         "Action": "ec2:RunInstances",

         "Resource": [

            "arn:aws:ec2:REGION:ACCOUNTNUMBER:volume/*",

            "arn:aws:ec2:REGION::image/*",

            "arn:aws:ec2:REGION::snapshot/*",

            "arn:aws:ec2:REGION:ACCOUNTNUMBER:network-interface/*",

            "arn:aws:ec2:REGION:ACCOUNTNUMBER:key-pair/*",

            "arn:aws:ec2:REGION:ACCOUNTNUMBER:security-group/*"

         ]

      },

      {

         "Sid": "EC2VpcNonresourceSpecificActions",

         "Effect":"Allow",

         "Action": [

            "ec2:DeleteNetworkAcl",

            "ec2:DeleteNetworkAclEntry",

            "ec2:DeleteRoute",

            "ec2:DeleteRouteTable",

            "ec2:AuthorizeSecurityGroupEgress",

            "ec2:AuthorizeSecurityGroupIngress",

            "ec2:RevokeSecurityGroupEgress",

            "ec2:RevokeSecurityGroupIngress",

            "ec2:DeleteSecurityGroup"

         ],

         "Resource": "*",

         "Condition": {

            "StringEquals": {

               "ec2:vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID"

            }

         }

      }

   ]

}

3. Attachez cette stratégie à un utilisateur, un groupe ou un rôle :
     a. Dans la console AWS IAM, dans le volet de navigation, sélectionnez Users (vous pouvez également procéder de la même manière pour les groupes ou les rôles).
     b. Choisissez l'utilisateur, le groupe ou le rôle auquel vous souhaitez attacher la stratégie.
     c. Choisissez Policy type, puis Customer Managed Policies pour réduire l'étendue des stratégies répertoriées.
     d. Choisissez la stratégie créée à l'étape 2, puis sélectionnez Attach Policy.

Après avoir attaché cette stratégie personnalisée à un utilisateur, un groupe ou un rôle, la stratégie permet les actions suivantes :
     • Connectez-vous à AWS Management Console et ouvrez le tableau de bord EC2.
     • Lancez une instance EC2 lorsque l'entité ou les membres de l'entité spécifient les éléments suivants :
          o Les informations correctes pour le sous-réseau et VPC.
          o Les profils d'instance autorisés.
     • Effectuez les actions suivantes sur une instance EC2 lancée avec le profil d'instance adéquat :
          o Démarrer l'instance
          o Arrêter l'instance
          o Redémarrer l'instance
          o Mettre fin à l'instance
          o Attacher un volume à l'instance
          o Détacher un volume de l'instance
     • Effectuez les actions suivantes depuis le VPC :
          o Supprimer des groupes de sécurité
          o Supprimer des routes
          o Supprimer des tables de routage
          o Supprimer des listes ACL réseau
          o Supprimer des entrées de listes ACL
          o Autoriser et annuler des règles de trafic entrant et sortant au groupe de sécurité

Limiter, IAM, accès utilisateur, VPC, EC2, profil d'instance, restreindre, stratégie, compte, groupe, rôle


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.

Date de publication : 08/12/2015