

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
<a name="ec2-instance-connect-configure-IAM-role"></a>

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 de l’AMI que vous avez utilisé pour lancer l’instance. Le nom d'utilisateur par défaut pour AL2023 Amazon Linux 2 est`ec2-user`, et pour Ubuntu, c'est`ubuntu`.
+ 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.
+ `ec2:DescribeVpcs`action — Obligatoire lors de la connexion à une IPv6 adresse.

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 une ressource ARNs ou en utilisant des balises de ressource comme [clés de condition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2instanceconnect.html#amazonec2instanceconnect-policy-keys).

Pour plus d’informations, consultez [Actions, ressources et clés de condition pour Amazon EC2 Instance Connect](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2instanceconnect.html).

Pour obtenir des informations sur la création de politiques IAM, veuillez consulter [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

## Autoriser les utilisateurs à se connecter à des instances spécifiques
<a name="eic-permissions-allow-users-to-connect-to-specific-instances"></a>

La politique IAM suivante autorise la connexion à des instances spécifiques, identifiées par leur ressource ARNs. 

Dans l’exemple de politique IAM suivant, les actions et la condition suivantes sont spécifiées :
+ L'`ec2-instance-connect:SendSSHPublicKey`action autorise les utilisateurs à se connecter à deux instances, spécifiées par la ressource ARNs. Pour autoriser les utilisateurs à se connecter à *toutes les* instances EC2, remplacez la ressource ARNs par le `*` caractère générique.
+ La `ec2:osuser` condition accorde l'autorisation de se connecter aux instances uniquement si cela {{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`.
+ L'`ec2:DescribeVpcs`action est spécifiée pour autoriser les utilisateurs qui utiliseront la console à se connecter à vos instances à l'aide d'une IPv6 adresse. Si vos utilisateurs n'utilisent qu'une IPv4 adresse publique, vous pouvez l'omettre`ec2:DescribeVpcs`. 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`.

------
#### [ JSON ]

****  

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

------

## Autoriser les utilisateurs à se connecter à des instances avec des balises spécifiques
<a name="eic-permissions-allow-users-to-connect-to-instances-with-specific-tags"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources) 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’utilisent 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`.

L'`ec2:DescribeVpcs`action est spécifiée pour autoriser les utilisateurs qui utiliseront la console à se connecter à vos instances à l'aide d'une IPv6 adresse. Si vos utilisateurs n'utilisent qu'une IPv4 adresse publique, vous pouvez l'omettre`ec2:DescribeVpcs`. 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`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey", 
            "Resource": "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/{{tag-key}}": "{{tag-value}}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeVpcs"
            ],
            "Resource": "*"
        }
    ]
}
```

------