Exemples de politiques pour contrôler l'accès à la EC2 console Amazon - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de politiques pour contrôler l'accès à la EC2 console Amazon

Vous pouvez utiliser les politiques IAM pour accorder aux utilisateurs les autorisations nécessaires pour travailler avec Amazon EC2. Pour obtenir des step-by-step instructions, reportez-vous à la section Création de politiques IAM dans le guide de l'utilisateur IAM.

Puisque la console utilise des actions d’API supplémentaires pour ses fonctions, ces politiques peuvent ne pas fonctionner comme escompté. Par exemple, un utilisateur n’ayant que l’autorisation d’utiliser l’action d’API DescribeVolumes rencontre une erreur s’il tente d’afficher les volumes sur la console. Cette section illustre les politiques qui permettent aux utilisateurs d’utiliser des parties spécifiques de la console. Pour plus d'informations sur la création de politiques pour la EC2 console Amazon, consultez le billet de blog sur la AWS sécurité suivant : Octroyer aux utilisateurs l'autorisation de travailler dans la EC2 console Amazon.

Les exemples suivants présentent des déclarations de politique que vous pouvez utiliser pour autoriser les utilisateurs à utiliser Amazon EC2. Remplacez chaque user input placeholder par vos propres informations. Ces politiques sont conçues pour les demandes effectuées à l’aide de la AWS Management Console. La EC2 console Amazon peut appeler plusieurs actions d'API pour afficher une seule ressource, et cela peut ne pas être évident tant que l'utilisateur n'a pas tenté une tâche et que la console n'a pas affiché une erreur. Pour plus d'informations, consultez le billet de blog sur la AWS sécurité suivant : Octroyer aux utilisateurs l'autorisation de travailler dans la EC2 console Amazon.

Pour vous aider à déterminer quelles actions de l'API sont nécessaires pour effectuer des tâches dans la console, vous pouvez utiliser un service qui enregistre les appels, tel que AWS CloudTrail. Si votre politique n’accorde pas l’autorisation de créer ou de modifier une ressource spécifique, la console affiche un message codé avec les informations de diagnostic. Vous pouvez décoder le message à l'aide de l'action DecodeAuthorizationMessageAPI pour AWS STS ou de la decode-authorization-messagecommande contenue dans le AWS CLI.

Exemple : accès en lecture seule

Pour permettre aux utilisateurs de consulter toutes les ressources de la EC2 console Amazon, vous pouvez utiliser la même politique que dans l'exemple suivant :Exemple : accès en lecture seule. Les utilisateurs ne peuvent pas exécuter d’actions sur ces ressources ou créer des ressources, à moins qu’une autre déclaration ne leur accorde l’autorisation de le faire.

Afficher les instances et AMIs les instantanés

Vous pouvez aussi fournir un accès en lecture seule à un sous-ensemble de ressources. Pour ce faire, remplacez le caractère générique * de l’action d’API ec2:Describe par les actions ec2:Describe spécifiques de chaque ressource. La politique suivante permet aux utilisateurs de visualiser toutes les instances et tous AMIs les instantanés dans la EC2 console Amazon. L'ec2:DescribeTagsaction permet aux utilisateurs de consulter le publicAMIs. La console a besoin des informations de balisage pour être affichées en public AMIs ; vous pouvez toutefois supprimer cette action pour permettre aux utilisateurs de n'afficher que les informations privéesAMIs.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeTags", "ec2:DescribeSnapshots" ], "Resource": "*" } ] }
Note

Les actions de l' EC2 ec2:Describe*API Amazon ne prennent pas en charge les autorisations au niveau des ressources. Vous ne pouvez donc pas contrôler les ressources individuelles que les utilisateurs peuvent consulter dans la console. Par conséquent, le caractère générique * est nécessaire dans l’élément Resource de la déclaration ci-dessus. Pour plus d'informations sur les actions ARNs que vous pouvez utiliser avec quelles EC2 API Amazon, consultez Actions, ressources et clés de condition pour Amazon EC2.

Afficher les instances et CloudWatch les métriques

La politique suivante permet aux utilisateurs de consulter les instances dans la EC2 console Amazon, ainsi que les CloudWatch alarmes et les métriques dans l'onglet Surveillance de la page Instances. La EC2 console Amazon utilise l' CloudWatch API pour afficher les alarmes et les métriques. Vous devez donc autoriser les utilisateurs à utiliser les cloudwatch:GetMetricData actions cloudwatch:DescribeAlarms cloudwatch:DescribeAlarmsForMetriccloudwatch:ListMetrics,cloudwatch:GetMetricStatistics,, et.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "cloudwatch:GetMetricData" ], "Resource": "*" } ] }

Exemple : utilisation de l'assistant de EC2 lancement d'instance

L'assistant de EC2 lancement d'instance Amazon est un écran proposant des options permettant de configurer et de lancer une instance. Votre politique doit inclure l’autorisation d’utiliser les actions d’API qui permettent aux utilisateurs d’utiliser les options de l’Assistant. Si votre politique n’inclut pas l’autorisation d’utiliser ces actions, certains éléments de l’Assistant ne peuvent pas se charger correctement et les utilisateurs ne peuvent pas exécuter de lancement.

Accès de base à l’assistant de lancement d’instances

Pour exécuter un lancement avec succès, les utilisateurs doivent avoir l’autorisation d’utiliser l’action d’API ec2:RunInstances, ainsi qu’au moins les actions d’API suivantes :

  • ec2:DescribeImages : afficher et sélectionner une AMI.

  • ec2:DescribeInstanceTypes : afficher et sélectionner un type d’instance.

  • ec2:DescribeVpcs : afficher les options réseau disponibles.

  • ec2:DescribeSubnets : afficher tous les sous-réseaux disponibles pour le VPC choisi.

  • ec2:DescribeSecurityGroups ou ec2:CreateSecurityGroup : pour afficher et sélectionner un groupe de sécurité existant, ou en créer un nouveau.

  • ec2:DescribeKeyPairs ou ec2:CreateKeyPair : pour sélectionner une paire de clés existante ou en créer une nouvelle.

  • ec2:AuthorizeSecurityGroupIngress : ajouter des règles entrantes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeInstanceTypes", "ec2:DescribeKeyPairs", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateKeyPair" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*" } ] }

Vous pouvez ajouter des actions d’API à votre politique pour fournir plus d’options pour les utilisateurs, par exemple :

  • ec2:DescribeAvailabilityZones : afficher et sélectionner une zone de disponibilité spécifique.

  • ec2:DescribeNetworkInterfaces : afficher et sélectionner les interfaces réseau existantes pour le sous-réseau sélectionné.

  • Pour ajouter des règles sortantes à des groupes de sécurité VPC, les utilisateurs doivent recevoir l’autorisation d’utiliser l’action d’API ec2:AuthorizeSecurityGroupEgress. Pour modifier ou supprimer des règles existantes, les utilisateurs doivent recevoir l’autorisation d’utiliser l’action d’API ec2:RevokeSecurityGroup* appropriée.

  • ec2:CreateTags : Pour attribuer des balises aux ressources qui sont créées par RunInstances. Pour de plus amples informations, veuillez consulter Accorder l'autorisation de baliser les EC2 ressources Amazon lors de la création. Si les utilisateurs n’ont pas l’autorisation d’utiliser cette action et qu’ils essaient d’appliquer des balises sur la page de balisage de l’assistant de lancement d’instances, le lancement échoue.

    Important

    La spécification d’un Name (Nom) lors du lancement d’une instance crée une balise et nécessite l’action ec2:CreateTags. Veillez à accorder aux utilisateurs l’autorisation d’utiliser l’action ec2:CreateTags, car cela limite votre capacité à utiliser la clé de condition aws:ResourceTag pour restreindre leur utilisation d’autres ressources. Si vous accordez aux utilisateurs l’autorisation d’utiliser l’action ec2:CreateTags, ils peuvent modifier la balise d’une ressource afin de contourner ces restrictions. Pour de plus amples informations, veuillez consulter Contrôle d’accès à l’aide de l’accès basé sur les attributs.

  • Pour utiliser des paramètres Systems Manager lors de la sélection d’une AMI, vous devez ajouter ssm:DescribeParameters et ssm:GetParameters à votre politique. ssm:DescribeParameters accorde à vos utilisateurs l’autorisation d’afficher et de sélectionner des paramètres Systems Manager. ssm:GetParameters accorde à vos utilisateurs l’autorisation d’obtenir les valeurs des paramètres Systems Manager. Vous pouvez également restreindre l’accès à des paramètres Systems Manager spécifiques. Pour plus d’informations, consultez Restreindre l’accès à des paramètres Systems Manager spécifiques plus loin dans cette section.

Actuellement, les actions de l' EC2 Describe*API Amazon ne prennent pas en charge les autorisations au niveau des ressources. Vous ne pouvez donc pas restreindre les ressources individuelles que les utilisateurs peuvent consulter dans l'assistant de lancement d'instance. Cependant, vous pouvez appliquer les autorisations au niveau des ressources sur l’action d’API ec2:RunInstances pour limiter les ressources que les utilisateurs peuvent employer pour lancer une instance. Le lancement échoue si les utilisateurs sélectionnent des options qu’ils ne sont pas autorisés à utiliser.

Limiter l’accès à un type d’instance, un sous-réseau et une région spécifiques

La politique suivante permet aux utilisateurs de lancer t2.micro des instances en utilisant AMIs Owned by Amazon, et uniquement dans un sous-réseau spécifique (subnet-1a2b3c4d). Les utilisateurs ne peuvent se lancer que dans la région spécifiée. Si les utilisateurs sélectionnent une autre région ou un autre type d’instance, d’AMI ou de sous-réseau dans l’assistant de lancement d’instances, le lancement échoue.

La première instruction accorde aux utilisateurs l’autorisation d’afficher les options dans l’assistant de lancement d’instances ou d’en créer de nouvelles, comme illustré dans l’exemple ci-dessus. La deuxième déclaration accorde aux utilisateurs l’autorisation d’utiliser les ressources interface réseau, volume, paire de clés, groupe de sécurité et sous-réseau pour l’action ec2:RunInstances, lesquelles sont requises pour lancer une instance sur un VPC. Pour plus d’informations sur l’utilisation de l’action ec2:RunInstances, consultez Instances de lancement (RunInstances). Les troisième et quatrième déclarations accordent aux utilisateurs l’autorisation d’utiliser, respectivement, les ressources de l’instance et celles de l’AMI, mais uniquement si l’instance est une instance t2.micro, et que l’AMI appartient à Amazon, ou à certains partenaires de confiance et vérifiés.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeInstanceTypes", "ec2:DescribeKeyPairs", "ec2:CreateKeyPair", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" }, { "Effect": "Allow", "Action":"ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:111122223333:network-interface/*", "arn:aws:ec2:region:111122223333:volume/*", "arn:aws:ec2:region:111122223333:key-pair/*", "arn:aws:ec2:region:111122223333:security-group/*", "arn:aws:ec2:region:111122223333:subnet/subnet-1a2b3c4d" ] }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:111122223333:instance/*" ], "Condition": { "StringEquals": { "ec2:InstanceType": "t2.micro" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*" ], "Condition": { "StringEquals": { "ec2:Owner": "amazon" } } } ] }

Restreindre l’accès à des paramètres Systems Manager spécifiques

La politique suivante accorde l’accès à l’utilisation des paramètres Systems Manager avec un nom spécifique.

La première instruction accorde aux utilisateurs l’autorisation d’afficher les paramètres Systems Manager lors de la sélection d’une AMI dans l’assistant de lancement d’instances. La deuxième instruction accorde aux utilisateurs l’autorisation d’utiliser uniquement les paramètres nommés prod-*.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": "arn:aws:ssm:region:123456123456:parameter/prod-*" } ] }

Exemple : Utiliser des groupes de sécurité

Afficher les groupes de sécurité et ajouter ou supprimer des règles

La politique suivante autorise les utilisateurs à consulter les groupes de sécurité dans la EC2 console Amazon, à ajouter et à supprimer des règles entrantes et sortantes, et à répertorier et modifier les descriptions des règles pour les groupes de sécurité existants dotés de cette balise. Department=Test

Dans la première déclaration, l’action ec2:DescribeTags permet aux utilisateurs d’afficher les balises sur la console, ce qui permet aux utilisateurs d’identifier plus facilement les groupes de sécurité qu’ils sont autorisés à modifier.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeSecurityGroupRules", "ec2:DescribeTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:ModifySecurityGroupRules", "ec2:UpdateSecurityGroupRuleDescriptionsIngress", "ec2:UpdateSecurityGroupRuleDescriptionsEgress" ], "Resource": [ "arn:aws:ec2:region:111122223333:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Test" } } }, { "Effect": "Allow", "Action": [ "ec2:ModifySecurityGroupRules" ], "Resource": [ "arn:aws:ec2:region:111122223333:security-group-rule/*" ] } ]}

Utiliser la boîte de dialogue Créer un groupe de sécurité

Vous pouvez créer une politique qui permet aux utilisateurs de travailler avec la boîte de dialogue Create Security Group de la EC2 console Amazon. Pour utiliser cette boîte de dialogue, les utilisateurs doivent avoir l’autorisation d’utiliser au moins les actions d’API suivantes :

  • ec2:CreateSecurityGroup : créer un groupe de sécurité.

  • ec2:DescribeVpcs: Pour afficher la liste VPCs des VPC existants.

Avec ces autorisations, les utilisateurs peuvent créer un groupe de sécurité avec succès, mais ne peuvent pas lui ajouter de règles. Pour utiliser les règles dans la boîte de dialogue Créer un groupe de sécurité, vous pouvez ajouter les actions d’API suivantes à votre stratégie :

  • ec2:AuthorizeSecurityGroupIngress : ajouter des règles entrantes.

  • ec2:AuthorizeSecurityGroupEgress : ajouter des règles sortantes aux groupes de sécurité VPC.

  • ec2:RevokeSecurityGroupIngress : modifier ou supprimer des règles entrantes existantes. Cette règle est utile pour permettre aux utilisateurs d’utiliser la fonction Copier vers le nouveau sur la console. Cette fonction ouvre la boîte de dialogue Créer un groupe de sécurité et la complète avec les mêmes règles que le groupe de sécurité sélectionné.

  • ec2:RevokeSecurityGroupEgress : modifier ou supprimer les règles sortantes pour les groupes de sécurité VPC. Cette règle permet aux utilisateurs de modifier ou de supprimer la règle sortante par défaut qui autorise tout le trafic sortant.

  • ec2:DeleteSecurityGroup : répondre lorsque les règles non valides ne peuvent pas être enregistrées. La console commence par créer le groupe de sécurité et ajoute ensuite les règles spécifiées. Si les règles ne sont pas valides, l’action échoue et la console tente de supprimer le groupe de sécurité. Comme la boîte de dialogue Créer un groupe de sécurité reste affichée, l’utilisateur peut corriger la règle non valide et essayer de recréer le groupe de sécurité. Cette action d’API n’est pas obligatoire, mais si utilisateur n’a pas l’autorisation de l’utiliser et tente de créer un groupe de sécurité avec des règles non valides, le groupe de sécurité est créé sans aucune règle et l’utilisateur doit les ajouter après-coup.

  • ec2:UpdateSecurityGroupRuleDescriptionsIngress : pour ajouter ou mettre à jour des descriptions des règles de trafic entrant pour les groupes de sécurité.

  • ec2:UpdateSecurityGroupRuleDescriptionsEgress : pour ajouter ou mettre à jour des descriptions des règles de trafic sortant pour les groupes de sécurité.

  • ec2:ModifySecurityGroupRules : pour modifier les règles de groupe de sécurité.

  • ec2:DescribeSecurityGroupRules : pour répertorier les règles de groupe de sécurité.

La stratégie suivante accorde aux utilisateurs l’autorisation d’utiliser la boîte de dialogue Créer un groupe de sécurité, ainsi que de créer des règles entrantes et sortantes pour les groupes de sécurité associés à un VPC spécifique (vpc-1a2b3c4d). Les utilisateurs peuvent créer des groupes de sécurité pour un VPC, mais ne peuvent pas leur ajouter de règles. De même, les utilisateurs ne peuvent pas ajouter de règles à un groupe de sécurité qui n’est pas associé au VPC vpc-1a2b3c4d. Les utilisateurs reçoivent aussi l’autorisation d’afficher tous les groupes de sécurité sur la console. Les utilisateurs peuvent ainsi identifier plus facilement les groupes de sécurité auxquels ils peuvent ajouter des règles entrantes. Cette stratégie accorde également aux utilisateurs l’autorisation de supprimer les groupes de sécurité associés au VPC vpc-1a2b3c4d.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress" ], "Resource": "arn:aws:ec2:region:111122223333:security-group/*", "Condition":{ "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:111122223333:vpc/vpc-1a2b3c4d" } } } ] }

Exemple : Utiliser des adresses IP Elastic

Pour permettre aux utilisateurs de consulter les adresses IP élastiques dans la EC2 console Amazon, vous devez autoriser les utilisateurs à utiliser l'ec2:DescribeAddressesaction.

Pour autoriser les utilisateurs à utiliser les adresses IP Elastic, vous pouvez ajouter les actions suivantes à votre politique.

  • ec2:AllocateAddress : allouer une adresse IP Elastic.

  • ec2:ReleaseAddress: libérer une adresse IP Elastic.

  • ec2:AssociateAddress : associer une adresse IP Elastic à une instance ou une interface réseau.

  • ec2:DescribeNetworkInterfaces et ec2:DescribeInstances : utiliser l’écran Associer l’adresse. Cet écran affiche les instances ou interfaces réseau disponibles auxquelles vous pouvez associer une adresse IP Elastic.

  • ec2:DisassociateAddress : dissocier une adresse IP Elastic d’une instance ou d’une interface réseau.

La politique suivante permet aux utilisateurs d’afficher, d’allouer et d’associer des adresses IP Elastic pour les instances. Les utilisateurs ne peuvent pas associer des adresses IP Elastic à des interfaces réseau, dissocier des adresses IP Elastic ou en libérer.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeAddresses", "ec2:AllocateAddress", "ec2:DescribeInstances", "ec2:AssociateAddress" ], "Resource": "*" } ] }

Exemple : Utiliser instances réservées

La politique suivante permet aux utilisateurs d’afficher et de modifier les instances réservées de votre compte, ainsi que d’acheter de nouvelles instances réservées dans la AWS Management Console.

Cette politique permet aux utilisateurs d’afficher tous les instances réservées, ainsi que instances à la demande, dans le compte. Il n’est pas possible de définir des autorisations au niveau des ressources pour les instances réservées individuelles.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeReservedInstances", "ec2:ModifyReservedInstances", "ec2:PurchaseReservedInstancesOffering", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeAvailabilityZones", "ec2:DescribeReservedInstancesOfferings" ], "Resource": "*" } ] }

Cette ec2:DescribeAvailabilityZones action est nécessaire pour garantir que la EC2 console Amazon puisse afficher des informations sur les zones de disponibilité dans lesquelles vous pouvez acheter des instances réservées. L’action ec2:DescribeInstances n’est pas obligatoire, mais garantit que l’utilisateur peut afficher les instances du compte et acheter des réservations pour correspondre aux spécifications exactes.

Vous pouvez ajuster les actions d’API pour limiter l’accès utilisateur : par exemple, la suppression de ec2:DescribeInstances et ec2:DescribeAvailabilityZones signifie que l’utilisateur a l’accès en lecture seule.