Accorder des autorisations IAM pour EC2 Instance Connect - 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.

Accorder des autorisations IAM pour EC2 Instance Connect

Pour vous connecter à une instance à l’aide d’EC2 Instance Connect, vous devez créer une politique IAM qui accorde à vos utilisateurs des autorisations pour les actions et la condition suivantes :

  • Action ec2-instance-connect:SendSSHPublicKey – Accorde l’autorisation d’envoyer la clé publique en mode push à une instance.

  • Condition ec2:osuser – Spécifie le nom de l’utilisateur du système d’exploitation qui peut envoyer la clé publique en mode push à une instance. Utilisez le nom d'utilisateur par défaut pour l'AMI que vous avez utilisée pour lancer l'instance. Le nom d'utilisateur par défaut pour AL2023 et Amazon Linux 2 estec2-user, et pour Ubuntu, c'ubuntuest le cas.

  • Action ec2:DescribeInstances – Requis lors de l’utilisation de la console EC2 car l’encapsuleur appelle cette action. Les utilisateurs peuvent déjà disposer de l’autorisation d’appeler cette action à partir d’une autre politique.

Envisagez de limiter l’accès à des instances EC2 spécifiques. Sinon, tous les principaux IAM disposant d’une autorisation pour l’action ec2-instance-connect:SendSSHPublicKey peuvent se connecter à toutes les instances EC2. Vous pouvez restreindre l’accès en spécifiant des ARN de ressources ou en utilisant des balises de ressource comme clés de condition.

Pour plus d’informations, consultez Actions, ressources et clés de condition pour Amazon EC2 Instance Connect.

Pour obtenir des informations sur la création de politiques IAM, veuillez consulter Création de politiques IAM dans le Guide de l’utilisateur IAM.

Autoriser les utilisateurs à se connecter à des instances spécifiques

La politique IAM suivante accorde l’autorisation de se connecter à des instances spécifiques, identifiées par leurs ARN de ressources.

Dans l’exemple de politique IAM suivant, les actions et la condition suivantes sont spécifiées :

  • L’action ec2-instance-connect:SendSSHPublicKey accorde aux utilisateurs l’autorisation de se connecter à deux instances, spécifiées par les ARN des ressources. Pour accorder aux utilisateurs l’autorisation de se connecter à toutes les instances EC2, remplacez les ARN de ressources par le caractère générique *.

  • La condition ec2:osuser accorde l’autorisation de se connecter aux instances uniquement si le nom ami-username est spécifié lors de la connexion.

  • L’action ec2:DescribeInstances est spécifiée pour accorder l’autorisation aux utilisateurs qui utiliseront la console pour se connecter à vos instances. Si vos utilisateurs n’utiliseront qu’un client SSH pour se connecter à vos instances, vous pouvez omettre ec2:DescribeInstances. Notez que les actions ec2:Describe* de l’API ne prennent pas en charge les autorisations au niveau des ressources. Par conséquent, le caractère générique * est nécessaire dans l’élément Resource.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": [ "arn:aws:ec2:region:account-id:instance/i-1234567890abcdef0", "arn:aws:ec2:region:account-id:instance/i-0598c7d356eba48d7" ], "Condition": { "StringEquals": { "ec2:osuser": "ami-username" } } }, { "Effect": "Allow", "Action": "ec2:DescribeInstances", "Resource": "*" } ] }

Autoriser les utilisateurs à se connecter à des instances avec des balises spécifiques

Le contrôle d'accès basé sur les attributs (ABAC) est une stratégie d'autorisation qui définit les autorisations en fonction de balises pouvant être associées aux utilisateurs et aux ressources. AWS Vous pouvez utiliser des balises de ressources pour contrôler l’accès à une instance. Pour plus d'informations sur l'utilisation de balises pour contrôler l'accès à vos AWS ressources, consultez la section Contrôle de l'accès aux AWS ressources dans le guide de l'utilisateur IAM.

Dans l’exemple de politique IAM suivant, l’action ec2-instance-connect:SendSSHPublicKey accorde aux utilisateurs l’autorisation de se connecter à n’importe quelle instance (indiquée par le caractère générique * dans l’ARN de la ressource) à condition que l’instance dispose d’une balise de ressource avec key=tag-key et value=tag-value.

L’action ec2:DescribeInstances est spécifiée pour accorder l’autorisation aux utilisateurs qui utiliseront la console pour se connecter à vos instances. Si vos utilisateurs n’utiliseront qu’un client SSH pour se connecter à vos instances, vous pouvez omettre ec2:DescribeInstances. Notez que les actions ec2:Describe* de l’API ne prennent pas en charge les autorisations au niveau des ressources. Par conséquent, le caractère générique * est nécessaire dans l’élément Resource.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "arn:aws:ec2:region:account-id:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/tag-key": "tag-value" } } }, { "Effect": "Allow", "Action": "ec2:DescribeInstances", "Resource": "*" } ] }