

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la [documentation Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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.

# Configuration de Session Manager
<a name="session-manager-getting-started"></a>

Avant d'utiliser AWS Systems Manager Session Manager pour vous connecter aux nœuds gérés de votre compte, suivez les étapes indiquées dans les rubriques suivantes.

**Topics**
+ [Étape 1 : Exécution des conditions Session Manager prérequises](session-manager-prerequisites.md)
+ [Étape 2 : vérifier ou ajouter des autorisations d'instance pour Session Manager](session-manager-getting-started-instance-profile.md)
+ [Étape 3 : Contrôler les accès de session aux nœuds gérés](session-manager-getting-started-restrict-access.md)
+ [Étape 4 : Configuration des préférences de session](session-manager-getting-started-configure-preferences.md)
+ [Étape 5 (facultative) : Restriction de l'accès aux commandes dans une session](session-manager-restrict-command-access.md)
+ [Étape 6 : (Facultatif) AWS PrivateLink À utiliser pour configurer un point de terminaison VPC pour Session Manager](session-manager-getting-started-privatelink.md)
+ [Étape 7 : (Facultatif) activez ou désactivez les autorisations administratives du compte ssm-user.](session-manager-getting-started-ssm-user-permissions.md)
+ [Étape 8 : (Facultatif) activer et contrôler les autorisations pour les connexions SSH via Session Manager](session-manager-getting-started-enable-ssh-connections.md)

# Étape 1 : Exécution des conditions Session Manager prérequises
<a name="session-manager-prerequisites"></a>

Avant d'utiliser Session Manager, vérifiez que votre environnement respecte les conditions requises suivantes.


**conditions préalables requises de l’Session Manager**  

| Exigence | Description | 
| --- | --- | 
|  Systèmes d’exploitation pris en charge  |  Session Manager prend en charge la connexion aux instances Amazon Elastic Compute Cloud (Amazon EC2), ainsi qu'aux machines non EC2 de votre environnement [hybride et multicloud](operating-systems-and-machine-types.md#supported-machine-types) qui utilisent le niveau d'*instances avancées*. Session Manager prend en charge les versions de système d'exploitation suivantes :  Session Manager*prend en charge les instances EC2, les appareils de périphérie, les serveurs sur site et les machines virtuelles (VMs) dans votre environnement [hybride et multicloud](operating-systems-and-machine-types.md#supported-machine-types) qui utilise le niveau d'instances avancées.* Pour de plus amples informations, sur les instances avancées, veuillez consulter [Configuration des niveaux d'instance](fleet-manager-configure-instance-tiers.md).   **Linux et **macOS****  Session Managerprend en charge toutes les versions de Linux et macOS qui sont prises en charge par AWS Systems Manager. Pour plus d'informations, consultez [Systèmes d'exploitation et types de machines pris en charge](operating-systems-and-machine-types.md).  ** Windows **  Session Manager prend en charge Windows Server 2012 et versions ultérieures.  Microsoft Windows Server 2016 Nano n'est pas pris en charge.   | 
|  SSM Agent  |  Au minimum, AWS Systems Manager SSM Agent la version 2.3.68.0 ou ultérieure doit être installée sur les nœuds gérés auxquels vous souhaitez vous connecter via des sessions.  Pour utiliser l'option permettant de chiffrer les données de session à l'aide d'une clé créée dans AWS Key Management Service (AWS KMS), la version 2.3.539.0 ou ultérieure de SSM Agent doit être installée sur le nœud géré.  Pour utiliser des profils de shell dans une session, SSM Agent version 3.0.161.0 ou version ultérieure doit être installé sur le nœud géré. Pour démarrer une session de réacheminement de port Session Manager ou SSH, SSM Agent version 3.0.222.0 ou version ultérieure doit être installé sur le nœud géré. Pour diffuser des données de session à l'aide d'Amazon CloudWatch Logs, SSM Agent la version 3.0.284.0 ou ultérieure doit être installée sur le nœud géré. Pour en savoir plus sur la façon de déterminer le numéro de version exécuté sur une instance, consultez [Vérification du numéro de version de l'SSM Agent](ssm-agent-get-version.md). Pour plus d'informations sur l'installation manuelle ou la mise à jour automatique de SSM Agent, veuillez consulter [Utilisation de l’option SSM Agent](ssm-agent.md).  À propos du compte ssm-user A partir de la version 2.3.50.0 de SSM Agent, l'agent crée un compte utilisateur sur le nœud géré, avec des autorisations racine ou administrateur, nommé `ssm-user`. (Sur les versions antérieures à 2.3.612.0, le compte est créé lorsque SSM Agent démarre ou redémarre. Sur la version 2.3.612.0, et ultérieure, `ssm-user` est créé la première fois qu'une session démarre sur le nœud géré.) Les sessions sont lancées à l'aide des informations d'identification administratives de ce compte utilisateur. Pour obtenir des informations sur la limitation du contrôle administratif pour ce compte, veuillez consulter [Désactiver ou activer les autorisations administratives du compte ssm-user](session-manager-getting-started-ssm-user-permissions.md).   ssm-user sur les contrôleurs de domaine Windows Server Depuis la version 2.3.612.0 de SSM Agent, le compte `ssm-user` n'est plus créé automatiquement sur les nœuds gérés qui sont utilisés en tant que contrôleurs de domaine Windows Server. Pour utiliser Session Manager sur une machine Windows Server fonctionnant comme contrôleur de domaine, vous devez créer le compte `ssm-user` manuellement, s'il n'est pas déjà présent, et affecter des autorisations d'administrateur de domaine à l'utilisateur. Sur Windows Server, SSM Agent définit un nouveau mot de passe pour le compte `ssm-user` chaque fois qu'une session commence, ce qui signifie que vous n'avez pas besoin de spécifier un mot de passe lors de la création du compte.   | 
|  Connectivité aux points de terminaison  |  Les nœuds gérés que vous connectez doivent également autoriser le trafic sortant HTTPS (port 443) vers les points de terminaison suivants : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/session-manager-prerequisites.html) Pour plus d’informations, consultez les rubriques suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/session-manager-prerequisites.html) Vous pouvez également vous connecter aux points de terminaison requis à l'aide de points de terminaison d'interface. Pour de plus amples informations, veuillez consulter [Étape 6 : (Facultatif) AWS PrivateLink À utiliser pour configurer un point de terminaison VPC pour Session Manager](session-manager-getting-started-privatelink.md).  | 
|  AWS CLI  |  (Facultatif) Si vous utilisez le AWS Command Line Interface (AWS CLI) pour démarrer vos sessions (au lieu d'utiliser la AWS Systems Manager console ou la console Amazon EC2), la version 1.16.12 ou ultérieure de la CLI doit être installée sur votre machine locale. Vous pouvez appeler `aws --version` pour vérifier la version. Si vous devez installer ou mettre à niveau la CLI, reportez-vous à la section [Installation de la AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) dans le guide de AWS Command Line Interface l'utilisateur. Une nouvelle version de SSM Agent est lancée chaque fois que de nouveaux outils sont ajoutés à Systems Manager ou que des mises à jour sont apportées aux outils existants. Le fait de ne pas utiliser la dernière version de l’agent peut empêcher votre nœud géré d’utiliser divers outils et fonctionnalités de Systems Manager. C'est pourquoi nous vous recommandons d'automatiser le processus permettant de maintenir SSM Agent à jour sur vos machines. Pour plus d'informations, consultez [Automatisation des mises à jour de l'SSM Agent](ssm-agent-automatic-updates.md). Inscrivez‑vous sur la page [SSM Agent Release Notes](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md) du site Web de GitHub pour recevoir des notifications sur les mises à jour de SSM Agent. En outre, pour utiliser la CLI afin de gérer vos nœuds avec Session Manager, vous devez d'abord installer le plugin Session Manager sur votre machine locale. Pour plus d'informations, consultez [Installez le Session Manager plugin pour AWS CLI](session-manager-working-with-install-plugin.md).  | 
|  Activation du niveau d'instances avancées (environnements [hybrides et multicloud](operating-systems-and-machine-types.md#supported-machine-types))  |  Pour vous connecter à des machines non EC2 à l'aide deSession Manager, vous devez activer le niveau d'instances avancées dans Compte AWS et dans Région AWS lequel vous créez des activations hybrides pour enregistrer des machines non EC2 en tant que nœuds gérés. L'utilisation du niveau d'instance avancé est facturée. Pour plus d'informations sur le niveau d'instances avancées, consultez [Configuration des niveaux d'instance](fleet-manager-configure-instance-tiers.md).  | 
|  Vérification des autorisations de fonction du service IAM (environnements [hybrides et multicloud](operating-systems-and-machine-types.md#supported-machine-types))  |  Les nœuds activés par hybride utilisent le rôle de service Gestion des identités et des accès AWS (IAM) spécifié lors de l'activation hybride pour communiquer avec les opérations de l'API Systems Manager. Cette fonction du service doit contenir les autorisations requises pour se connecter à vos machines [hybrides et multicloud](operating-systems-and-machine-types.md#supported-machine-types) à l'aide de Session Manager. Si votre rôle de service contient la politique AWS gérée`AmazonSSMManagedInstanceCore`, les autorisations requises pour Session Manager sont déjà fournies. Si vous constatez que la fonction de service ne contient pas les autorisations requises, vous devez désenregistrer l'instance gérée et l'enregistrer auprès d'une nouvelle activation hybride utilisant une fonction de service IAM avec les autorisations requises. Pour plus d'informations sur l'annulation de l'enregistrement d'instances gérées, consultez [Annulation de l'enregistrement de nœuds gérés dans un environnement hybride et multicloud](fleet-manager-deregister-hybrid-nodes.md). Pour plus d'informations sur la création des politiques IAM avec des autorisations Session Manager, consultez [Étape 2 : Vérification ou ajout d'autorisations d'instance pour Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-instance-profile.html).  | 

# Étape 2 : vérifier ou ajouter des autorisations d'instance pour Session Manager
<a name="session-manager-getting-started-instance-profile"></a>

Par défaut, AWS Systems Manager n'est pas autorisé à effectuer des actions sur vos instances. Vous pouvez fournir des autorisations d'instance au niveau du compte à l'aide d'un rôle Gestion des identités et des accès AWS (IAM), ou au niveau de l'instance à l'aide d'un profil d'instance. Si votre cas d'utilisation le permet, nous vous recommandons d'accorder l'accès au niveau du compte à l'aide de la configuration de gestion des hôtes par défaut. Si vous avez déjà configuré la configuration de gestion des hôtes par défaut pour votre compte à l'aide de la politique `AmazonSSMManagedEC2InstanceDefaultPolicy`, vous pouvez passer à l'étape suivante. Pour plus d'informations sur la Configuration de gestion des hôtes par défaut, consultez [Gestion automatique des instances EC2 avec la configuration par défaut de la gestion des hôtes](fleet-manager-default-host-management-configuration.md).

Vous pouvez également utiliser des profils d'instance pour fournir les autorisations requises à vos instances. Un profil d'instance transmet un rôle IAM à une instance Amazon EC2. Vous pouvez attacher un profil d'instance IAM à une instance Amazon EC2 lorsque vous la lancez ou à une instance préalablement lancée. Pour plus d'informations, consultez [Utilisation de profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

Pour les serveurs locaux ou les machines virtuelles (VMs), les autorisations sont fournies par le rôle de service IAM associé à l'activation hybride utilisée pour enregistrer vos serveurs sur site et auprès de Systems VMs Manager. Serveurs sur site et n'utilisez VMs pas de profils d'instance.

Si vous utilisez déjà d’autres outils Systems Manager, comme Run Command ou Parameter Store, il est possible qu’un profil d’instance avec les autorisations de base requises pour Session Manager soit déjà attaché à vos instances Amazon EC2. Si un profil d'instance contenant la politique AWS gérée `AmazonSSMManagedInstanceCore` est déjà attaché à vos instances, les autorisations requises Session Manager sont déjà fournies. Cela est également vrai si la fonction du service IAM utilisée dans votre activation hybride contient la politique gérée `AmazonSSMManagedInstanceCore`.

Toutefois, dans certains cas, vous pouvez avoir besoin de modifier les autorisations attachées à votre profil d'instance. Par exemple, vous souhaitez fournir un ensemble plus restreint d'autorisations d'instance, vous avez créé une politique personnalisée pour votre profil d'instance ou vous souhaitez utiliser le chiffrement Amazon Simple Storage Service (Amazon S3) AWS Key Management Service ou les options de chiffrement AWS KMS() pour sécuriser les données de session. Pour ces cas, effectuez l'une des actions suivantes pour autoriser l'exécution d'actions Session Manager sur vos instances :
+  **Intégration des autorisations pour les actions Session Manager dans un rôle IAM personnalisé** 

  Pour ajouter des autorisations pour Session Manager des actions à un rôle IAM existant qui ne repose pas sur la politique par défaut AWS fournie`AmazonSSMManagedInstanceCore`, suivez les étapes décrites dans. [Ajouter des autorisations Session Manager à un rôle IAM existant](getting-started-add-permissions-to-existing-profile.md)
+  **Création d'un rôle IAM personnalisé contenant uniquement des autorisations Session Manager** 

  Pour créer un rôle IAM qui contient uniquement des autorisations relatives aux actions Session Manager, suivez les étapes décrites sur la page [Création d'un rôle IAM personnalisé pour Session Manager](getting-started-create-iam-instance-profile.md).
+  **Création et utilisation d'un rôle IAM autorisant toutes les actions Systems Manager** 

  Pour créer un rôle IAM pour les instances gérées par Systems Manager qui utilise une politique par défaut fournie par AWS pour accorder toutes les autorisations de Systems Manager, suivez les étapes décrites dans [Configurer les autorisations d'instance requises pour Systems Manager](setup-instance-permissions.md).

**Topics**
+ [Ajouter des autorisations Session Manager à un rôle IAM existant](getting-started-add-permissions-to-existing-profile.md)
+ [Création d'un rôle IAM personnalisé pour Session Manager](getting-started-create-iam-instance-profile.md)

# Ajouter des autorisations Session Manager à un rôle IAM existant
<a name="getting-started-add-permissions-to-existing-profile"></a>

Utilisez la procédure suivante pour ajouter des autorisations Session Manager à un rôle (IAM) Gestion des identités et des accès AWS existant. En ajoutant des autorisations à un rôle existant, vous pouvez améliorer la sécurité de votre environnement informatique sans avoir à utiliser la AWS `AmazonSSMManagedInstanceCore` politique relative aux autorisations par exemple.

**Note**  
Veuillez noter les informations suivantes :  
Notez que cette procédure suppose que votre rôle existant comprend déjà d'autres autorisations `ssm` Systems Manager relatives aux actions auxquelles vous souhaitez accorder l'accès. Employée seule, cette politique ne s'avère pas suffisante pour utiliser Session Manager.
L'exemple de politique suivant inclut une action `s3:GetEncryptionConfiguration`. Cette action est requise si vous avez choisi l'option **Appliquer le chiffrement du journal S3** dans les préférences de journalisation de Session Manager.
Si l'`ssmmessages:OpenControlChannel`autorisation est supprimée des politiques associées à votre profil d'instance IAM ou à votre rôle de service IAM, SSM Agent le nœud géré perd la connectivité avec le service Systems Manager dans le cloud. Cependant, la résiliation d'une connexion peut prendre jusqu'à 1 heure après la suppression de l'autorisation. Il s'agit du même comportement que lorsque le rôle d'instance IAM ou le rôle de service IAM est supprimé.

**Pour ajouter des autorisations Session Manager à un rôle existant (console)**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Choisissez le nom du rôle auquel vous souhaitez ajouter les autorisations.

1. Choisissez l'onglet **Permissions** (Autorisations).

1. Sélectionnez **Ajouter des autorisations**, puis **Créer la politique en ligne**.

1. Sélectionnez l'onglet **JSON**.

1. Remplacez le contenu de politique par défaut par le contenu suivant. *key-name*Remplacez-le par le Amazon Resource Name (ARN) de la AWS Key Management Service clé (AWS KMS key) que vous souhaitez utiliser.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Pour de plus amples informations sur l'utilisation d'une clé CMK pour chiffrer les données de session, consultez [Activer le chiffrement des données de session par clé KMS (console)](session-preferences-enable-encryption.md).

   Si vous n'avez pas l'intention d'utiliser le AWS KMS chiffrement pour les données de votre session, vous pouvez supprimer le contenu suivant de la politique.

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Choisissez **Suivant : Balises**.

1. (Facultatif) Ajoutez des identifications en choisissant **Add tag** (Ajouter une identification), et en saisissant les identifications préférées de la politique.

1. Choisissez **Suivant : Vérification**.

1. Sur la page **Examiner une politique**, dans le champ **Nom**, saisissez un nom pour la politique en ligne, tel que **SessionManagerPermissions**.

1. (Facultatif) Dans le champ **Description**, saisissez une description pour la politique. 

   Sélectionnez **Créer une politique**.

Pour de plus amples informations sur les actions `ssmmessages`, consultez [Référence : ec2messages, ssmmessages et autres opérations d'API](systems-manager-setting-up-messageAPIs.md).

# Création d'un rôle IAM personnalisé pour Session Manager
<a name="getting-started-create-iam-instance-profile"></a>

Vous pouvez créer un rôle Gestion des identités et des accès AWS (IAM) qui accorde Session Manager l'autorisation d'effectuer des actions sur vos instances gérées Amazon EC2. Vous pouvez également inclure une politique pour accorder les autorisations nécessaires pour que les journaux de session soient envoyés à Amazon Simple Storage Service (Amazon S3) et Amazon CloudWatch Logs.

Après avoir créé le rôle IAM, pour plus d'informations sur la façon d'attacher le rôle à une instance, voir [Attacher ou remplacer un profil d'instance](https://aws.amazon.com/premiumsupport/knowledge-center/attach-replace-ec2-instance-profile/) sur le AWS re:Post site Web. Pour plus d'informations sur les profils d'instance et les rôles IAM, veuillez consulter les rubriques [Utilisation de profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) dans le *Guide de l'utilisateur IAM* et [Rôles IAM pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) dans le *Guide de l'utilisateur Amazon Elastic Compute Cloud pour les instances Linux*. Pour plus d’informations sur la création d’un rôle de service IAM pour les ordinateurs sur site, consultez [Créer le rôle de service IAM requis pour Systems Manager dans les environnements hybrides et multicloud](https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html).

**Topics**
+ [Création d'un rôle IAM avec les autorisations Session Manager minimales (console)](#create-iam-instance-profile-ssn-only)
+ [Création d'un rôle IAM avec des autorisations pour Session Manager Amazon S3 et CloudWatch Logs (console)](#create-iam-instance-profile-ssn-logging)

## Création d'un rôle IAM avec les autorisations Session Manager minimales (console)
<a name="create-iam-instance-profile-ssn-only"></a>

Procédez comme suit pour créer un rôle IAM personnalisé avec une politique qui autorise uniquement des actions Session Manager sur vos instances.

**Création d'un profil d'instance avec des autorisations Session Manager minimales**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation, sélectionnez **Politiques**, puis **Créer une politique**. (Si un bouton **Get Started [Mise en route]** est affiché, sélectionnez-le, puis **Create Policy [Créer une politique]**.)

1. Sélectionnez l'onglet **JSON**.

1. Remplacez le contenu par défaut par la politique suivante. Pour chiffrer les données de session à l'aide de AWS Key Management Service (AWS KMS), *key-name* remplacez-le par le Amazon Resource Name (ARN) de AWS KMS key celui que vous souhaitez utiliser.
**Note**  
Si l'`ssmmessages:OpenControlChannel`autorisation est supprimée des politiques associées à votre profil d'instance IAM ou à votre rôle de service IAM, SSM Agent le nœud géré perd la connectivité avec le service Systems Manager dans le cloud. Cependant, la résiliation d'une connexion peut prendre jusqu'à 1 heure après la suppression de l'autorisation. Il s'agit du même comportement que lorsque le rôle d'instance IAM ou le rôle de service IAM est supprimé.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:UpdateInstanceInformation",
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Pour de plus amples informations sur l'utilisation d'une clé CMK pour chiffrer les données de session, consultez [Activer le chiffrement des données de session par clé KMS (console)](session-preferences-enable-encryption.md).

   Si vous n'avez pas l'intention d'utiliser le AWS KMS chiffrement pour les données de votre session, vous pouvez supprimer le contenu suivant de la politique.

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Choisissez **Suivant : Balises**.

1. (Facultatif) Ajoutez des identifications en choisissant **Add tag** (Ajouter une identification), et en saisissant les identifications préférées de la politique.

1. Choisissez **Suivant : Vérification**.

1. Sur la page **Examiner une politique**, dans le champ **Nom**, saisissez un nom pour la politique en ligne, tel que **SessionManagerPermissions**.

1. (Facultatif) Dans le champ **Description**, saisissez une description pour la politique. 

1. Sélectionnez **Créer une politique**.

1. Dans le volet de navigation, sélectionnez **Rôles**, puis **Créer un rôle**.

1. Sur la page **Créer un rôle**, choisissez **Service AWS **, et pour **Cas d'utilisation**, choisissez **EC2**.

1. Choisissez **Suivant**.

1. Sur la page **Attached permissions policy** (Politique d'autorisations attachée), cochez la case située à gauche du nom de la politique que vous venez de créer, tel que **SessionManagerPermissions**.

1. Choisissez **Suivant**.

1. Sur la page **Review** (Vérifier), pour **Role name** (Nom du rôle), saisissez un nom pour le rôle IAM, tel que **MySessionManagerRole**.

1. (Facultatif) Dans le champ **Description du rôle**, saisissez une description pour le profil d'instance. 

1. (Facultatif) Ajoutez des identifications en choisissant **Add tag** (Ajouter une identification), et en saisissant les identifications préférées du rôle.

   Choisissez **Créer un rôle**.

Pour de plus amples informations sur les actions `ssmmessages`, veuillez consulter [Référence : ec2messages, ssmmessages et autres opérations d'API](systems-manager-setting-up-messageAPIs.md).

## Création d'un rôle IAM avec des autorisations pour Session Manager Amazon S3 et CloudWatch Logs (console)
<a name="create-iam-instance-profile-ssn-logging"></a>

Procédez comme suit pour créer un rôle IAM personnalisé avec une politique qui autorise des actions Session Manager sur vos instances. La politique fournit également les autorisations nécessaires pour que les journaux de session soient stockés dans des compartiments Amazon Simple Storage Service (Amazon S3) et des groupes de journaux CloudWatch Amazon Logs.

**Important**  
Pour produire les journaux de session dans un compartiment Amazon S3 appartenant à un autre Compte AWS, vous devez ajouter l'autorisation `s3:PutObjectAcl` à la politique de rôle IAM. En outre, vous devez vous assurer que la politique relative aux compartiments accorde un accès intercompte au rôle IAM utilisé par le compte propriétaire pour accorder des autorisations Systems Manager aux instances gérées. Si le compartiment utilise le chiffrement KMS (Key Management Service), la politique KMS du compartiment doit également accorder cet accès intercompte. Pour plus d'informations sur la configuration des autorisations de compartiment intercomptes dans Amazon S3, veuillez consulter la rubrique [Accorder des autorisations intercomptes sur un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html) du *Guide de l'utilisateur Amazon Simple Storage Service*. Si les autorisations intercomptes ne sont pas ajoutées, le compte qui possède le compartiment Amazon S3 ne peut pas accéder aux journaux de sortie de la session.

Pour en savoir plus sur la spécification des préférences de stockage des journaux de session, consultez [Activation et désactivation de l’enregistrement de la session](session-manager-logging.md).

**Pour créer un rôle IAM avec des autorisations pour Session Manager Amazon S3 et CloudWatch Logs (console)**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation, sélectionnez **Politiques**, puis **Créer une politique**. (Si un bouton **Get Started [Mise en route]** est affiché, sélectionnez-le, puis **Create Policy [Créer une politique]**.)

1. Sélectionnez l'onglet **JSON**.

1. Remplacez le contenu par défaut par la politique suivante. Remplacez chaque *example resource placeholder* par vos propres informations.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel",
                   "ssm:UpdateInstanceInformation"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/s3-prefix/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           },
           {
               "Effect": "Allow",
               "Action": "kms:GenerateDataKey",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Choisissez **Suivant : Balises**.

1. (Facultatif) Ajoutez des identifications en choisissant **Add tag** (Ajouter une identification), et en saisissant les identifications préférées de la politique.

1. Choisissez **Suivant : Vérification**.

1. Sur la page **Examiner une politique**, dans le champ **Nom**, saisissez un nom pour la politique en ligne, tel que **SessionManagerPermissions**.

1. (Facultatif) Dans le champ **Description**, saisissez une description pour la politique. 

1. Sélectionnez **Créer une politique**.

1. Dans le volet de navigation, sélectionnez **Rôles**, puis **Créer un rôle**.

1. Sur la page **Créer un rôle**, choisissez **Service AWS **, et pour **Cas d'utilisation**, choisissez **EC2**.

1. Choisissez **Suivant**.

1. Sur la page **Attached permissions policy** (Politique d'autorisations attachée), cochez la case située à gauche du nom de la politique que vous venez de créer, tel que **SessionManagerPermissions**.

1. Choisissez **Suivant**.

1. Sur la page **Review** (Vérifier), pour **Role name** (Nom du rôle), saisissez un nom pour le rôle IAM, tel que **MySessionManagerRole**.

1. (Facultatif) Dans le champ **Role description** (Description du rôle), saisissez la description du nouveau rôle. 

1. (Facultatif) Ajoutez des identifications en choisissant **Add tag** (Ajouter une identification), et en saisissant les identifications préférées du rôle.

1. Choisissez **Créer un rôle**.

# Étape 3 : Contrôler les accès de session aux nœuds gérés
<a name="session-manager-getting-started-restrict-access"></a>

Vous accordez ou révoquez Session Manager l'accès aux nœuds gérés en utilisant des politiques Gestion des identités et des accès AWS (IAM). Vous pouvez créer une politique et l'associer à un utilisateur ou à un groupe IAM qui spécifie les nœuds gérés auxquels l'utilisateur ou le groupe peut se connecter. Vous pouvez également spécifier les opérations d'API Session Manager que l'utilisateur ou les groupes peuvent effectuer sur ces nœuds gérés. 

Pour vous aider à démarrer avec les politiques d'autorisations IAM pour Session Manager, nous avons créé des exemples de politiques pour un utilisateur final et un utilisateur administrateur. Vous ne pouvez utiliser ces politiques qu'avec des modifications mineures. Vous pouvez également les utiliser comme guide pour créer des politiques IAM personnalisées. Pour de plus amples informations, veuillez consulter [Exemple de stratégies IAM pour Session Manager](getting-started-restrict-access-quickstart.md). Pour obtenir des informations sur la création de politiques IAM et la façon de les attacher à des utilisateurs ou des groupes, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) et [Ajout et suppression de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l'utilisateur IAM*.

**À propos des formats des ARN d’ID de session**  
Lorsque vous créez une politique IAM pour l'accès de Session Manager, vous spécifiez un ID de session dans le cadre d'Amazon Resource Name (ARN). L'ID de session inclut le nom d'utilisateur en tant que variable. Pour illustrer cela, voici le format d'un ARN Session Manager et un exemple : 

```
arn:aws:ssm:region-id:account-id:session/session-id
```

Par exemple :

```
arn:aws:ssm:us-east-2:123456789012:session/JohnDoe-1a2b3c4d5eEXAMPLE
```

Pour de plus amples informations sur l'utilisation de variables dans les politiques IAM, consultez [Éléments de politique IAM : Variables](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html). 

**Topics**
+ [Démarrer une session shell par défaut en spécifiant le document de session par défaut dans les politiques IAM](getting-started-default-session-document.md)
+ [Démarrer une session avec un document en spécifiant les documents de session dans les politiques IAM](getting-started-specify-session-document.md)
+ [Exemple de stratégies IAM pour Session Manager](getting-started-restrict-access-quickstart.md)
+ [Exemples de politiques IAM supplémentaires pour Session Manager](getting-started-restrict-access-examples.md)

# Démarrer une session shell par défaut en spécifiant le document de session par défaut dans les politiques IAM
<a name="getting-started-default-session-document"></a>

Lorsque vous configurez Session Manager pour votre session Compte AWS ou lorsque vous modifiez les préférences de session dans la console Systems Manager, le système crée un document de session SSM appelé`SSM-SessionManagerRunShell`. Il s'agit du document de session par défaut. Session Manager utilise ce document pour enregistrer vos préférences de session, qui incluent des informations telles que les suivantes :
+ Emplacement dans lequel vous souhaitez enregistrer les données de session, tel qu'un bucket Amazon Simple Storage Service (Amazon S3) ou un groupe de journaux CloudWatch Amazon Logs.
+ Un identifiant de clé AWS Key Management Service (AWS KMS) pour chiffrer les données de session.
+ Si la prise en charge Run As est autorisée pour vos sessions.

Voici un exemple des informations contenues dans le document des préférences de session `SSM-SessionManagerRunShell`.

```
{
  "schemaVersion": "1.0",
  "description": "Document to hold regional settings for Session Manager",
  "sessionType": "Standard_Stream",
  "inputs": {
    "s3BucketName": "amzn-s3-demo-bucket",
    "s3KeyPrefix": "MyS3Prefix",
    "s3EncryptionEnabled": true,
    "cloudWatchLogGroupName": "MyCWLogGroup",
    "cloudWatchEncryptionEnabled": false,
    "kmsKeyId": "1a2b3c4d",
    "runAsEnabled": true,
    "runAsDefaultUser": "RunAsUser"
  }
}
```

Par défaut, Session Manager utilise le document de session par défaut lorsqu'un utilisateur démarre une session à partir de la AWS Management Console. Cela s'applique Fleet Manager soit Session Manager à la console Systems Manager, soit à EC2 Connect dans la console Amazon EC2. Session Managerutilise également le document de session par défaut lorsqu'un utilisateur démarre une session à l'aide d'une AWS CLI commande comme dans l'exemple suivant :

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE
```

Pour démarrer une session shell par défaut, vous devez spécifier le document de session par défaut dans la politique IAM, comme le montre l’exemple suivant.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnableSSMSession",
      "Effect": "Allow",
      "Action": [
        "ssm:StartSession"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
        "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssmmessages:OpenDataChannel"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Démarrer une session avec un document en spécifiant les documents de session dans les politiques IAM
<a name="getting-started-specify-session-document"></a>

Si vous utilisez la commande AWS CLI [start-session](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) en utilisant le document de session par défaut, vous pouvez omettre le nom du document. Le système appelle automatiquement le document de session `SSM-SessionManagerRunShell`.

Dans tous les autres cas, vous devez spécifier une valeur pour le paramètre `document-name`. Lorsqu'un utilisateur indique le nom d'un document de session dans une commande, le système vérifie sa politique IAM pour vérifier qu'il est autorisé à accéder au document. S'il n'est pas autorisé, la demande de connexion échoue. Les exemples suivants incluent le paramètre `document-name` dans le document de session `AWS-StartPortForwardingSession`.

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE \
    --document-name AWS-StartPortForwardingSession \
    --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
```

Pour un exemple de spécification d’un document de session Session Manager dans une politique IAM, consultez [Démarrage rapide - Politiques d'utilisateur final pour Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

**Note**  
Pour démarrer une session en utilisant SSH, vous devez effectuer les étapes de configuration sur le nœud géré cible *et* sur l’ordinateur local de l’utilisateur. Pour obtenir des informations, consultez [(Facultatif) Activer et contrôler les autorisations pour les connexions SSH via Session Manager](session-manager-getting-started-enable-ssh-connections.md).

# Exemple de stratégies IAM pour Session Manager
<a name="getting-started-restrict-access-quickstart"></a>

Utilisez les exemples de cette section pour vous aider à créer des politiques Gestion des identités et des accès AWS (IAM) fournissant les autorisations d'Session Manageraccès les plus couramment requises. 

**Note**  
Vous pouvez également utiliser une AWS KMS key politique pour contrôler les entités IAM (utilisateurs ou rôles) qui Comptes AWS ont accès à votre clé KMS. Pour plus d'informations, consultez la section [Présentation de la gestion de l'accès à vos AWS KMS ressources](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) et de [l'utilisation des politiques clés AWS KMS dans](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) le *guide du AWS Key Management Service développeur*.

**Topics**
+ [Démarrage rapide - Politiques d'utilisateur final pour Session Manager](#restrict-access-quickstart-end-user)
+ [Démarrage rapide - Politique d'administrateur pour Session Manager](#restrict-access-quickstart-admin)

## Démarrage rapide - Politiques d'utilisateur final pour Session Manager
<a name="restrict-access-quickstart-end-user"></a>

Utilisez les exemples suivants pour créer des politiques d'utilisateur final IAM pour Session Manager. 

Vous pouvez créer une politique qui permet aux utilisateurs de démarrer des sessions uniquement à partir de la Session Manager console et AWS Command Line Interface (AWS CLI), uniquement à partir de la console Amazon Elastic Compute Cloud (Amazon EC2), ou à partir des trois.

Ces politiques permettent aux utilisateurs finaux de démarrer une session sur un nœud géré particulier et de mettre fin à leurs propres sessions uniquement. Consultez la page [Exemples de politiques IAM supplémentaires pour Session Manager](getting-started-restrict-access-examples.md) pour obtenir des exemples de personnalisation de la politique.

Dans les exemples de politiques suivants, remplacez chacune *example resource placeholder* par vos propres informations. 

Sélectionnez parmi les onglets suivants pour afficher l'exemple de politique pour la plage d'accès aux sessions que vous souhaitez fournir.

------
#### [ Gestionnaire de session and Fleet Manager ]

Utilisez cet exemple de politique pour donner aux utilisateurs la possibilité de démarrer et de reprendre des sessions à partir des consoles Session Manager et Fleet Manager uniquement. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Utilisez cet exemple de politique pour permettre aux utilisateurs de démarrer des sessions uniquement à partir de la console Amazon EC2. Cette politique ne fournit pas toutes les autorisations nécessaires pour démarrer des sessions à partir de la console Session Manager et de l' AWS CLI.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

------
#### [ AWS CLI ]

Utilisez cet exemple de politique pour donner aux utilisateurs la possibilité de démarrer et de reprendre des sessions à partir de l’ AWS CLI.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------

**Note**  
`SSM-SessionManagerRunShell` est le nom par défaut du document SSM créé par Session Manager pour stocker vos préférences de configuration de session. Vous pouvez créer un document de session personnalisé et le spécifier dans cette politique à la place. Vous pouvez également spécifier le document `AWS-StartSSHSession` fourni par AWS pour les utilisateurs qui lancent des sessions à l'aide de SSH. Pour obtenir des informations sur les étapes de configuration nécessaires à la prise en charge de sessions en utilisant SSH, consultez [(Facultatif) Activer et contrôler les autorisations pour les connexions SSH à l’aide du Session Manager](session-manager-getting-started-enable-ssh-connections.md).  
L'autorisation `kms:GenerateDataKey` permet la création d'une clé de chiffrement des données qui sera utilisé pour chiffrer les données de session. Si vous comptez utiliser le chiffrement AWS Key Management Service (AWS KMS) pour les données de votre session, remplacez-le par *key-name* le nom de ressource Amazon (ARN) de la clé KMS que vous souhaitez utiliser, au format indiqué`arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`. Si vous ne voulez pas utiliser le chiffrement de clé KMS pour vos données de session, supprimez le contenu suivant de la politique.  

```
{
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "key-name"
        }
```
Pour plus d'informations sur l'utilisation AWS KMS pour le chiffrement des données de session, consultez[Activer le chiffrement des données de session par clé KMS (console)](session-preferences-enable-encryption.md).  
L’autorisation pour [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) est nécessaire pour les cas où un utilisateur tente de démarrer une session à partir de la console Amazon EC2, mais le SSM Agent doit d’abord être mis à jour vers la version minimale requise pour Session Manager. Run Command est utilisé pour envoyer une commande à l’instance afin de mettre à jour l’agent.

## Démarrage rapide - Politique d'administrateur pour Session Manager
<a name="restrict-access-quickstart-admin"></a>

Utilisez les exemples suivants pour créer des politiques d'administrateur IAM pour Session Manager. 

Ces politiques autorisent les administrateurs à démarrer une session sur les nœuds gérés qui sont balisées avec `Key=Finance,Value=WebServers`, à créer, mettre à jour et supprimer des préférences, et à mettre fin à leurs propres sessions uniquement. Consultez la page [Exemples de politiques IAM supplémentaires pour Session Manager](getting-started-restrict-access-examples.md) pour obtenir des exemples de personnalisation de la politique.

Vous pouvez créer une politique qui permet aux administrateurs d'effectuer ces tâches uniquement à partir de la Session Manager console et AWS CLI uniquement à partir de la console Amazon EC2, ou à partir des trois.

Dans les exemples de politiques suivants, remplacez chacune *example resource placeholder* par vos propres informations. 

Sélectionnez parmi les onglets suivants pour voir l'exemple de politique pour le scénario d'accès que vous souhaitez prendre en charge.

------
#### [ Gestionnaire de session and CLI ]

Utilisez cet exemple de politique pour permettre aux administrateurs d'effectuer les tâches liées à la session uniquement à partir de la console Session Manager et de l' AWS CLI. Cette politique ne fournit pas toutes les autorisations nécessaires pour effectuer les tâches liées à la session à partir de la console Amazon EC2.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Utilisez cet exemple de politique pour permettre aux administrateurs d'effectuer les tâches liées à la session uniquement à partir de la console Amazon EC2. Cette politique ne fournit pas toutes les autorisations nécessaires pour effectuer les tâches liées à la session à partir de la console Session Manager et de l' AWS CLI.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Gestionnaire de session, CLI, and Amazon EC2 ]

Utilisez cet exemple de politique pour permettre aux administrateurs d'effectuer les tâches liées à la session à partir de la console Session Manager, de l' AWS CLI et de la console Amazon EC2.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------

**Note**  
L’autorisation pour [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) est nécessaire dans les cas où un utilisateur tente de démarrer une session à partir de la console Amazon EC2, mais une commande doit d’abord être envoyée pour mettre à jour l’SSM Agent.

# Exemples de politiques IAM supplémentaires pour Session Manager
<a name="getting-started-restrict-access-examples"></a>

Les exemples de politiques suivants vous accompagnent dans la création d'une politique Gestion des identités et des accès AWS (IAM) personnalisée pour tous les scénarios d'accès utilisateur à Session Manager que vous souhaitez prendre en charge.

**Topics**
+ [Exemple 1 : octroi d'un accès aux documents depuis la console](#grant-access-documents-console-example)
+ [Exemple 2 : restriction de l'accès à des nœuds gérés spécifiques](#restrict-access-example-instances)
+ [Exemple 3 : restriction de l'accès en fonction des balises](#restrict-access-example-instance-tags)
+ [Exemple 4 : autorisation d'un utilisateur à mettre fin uniquement aux sessions qu'il a démarrées](#restrict-access-example-user-sessions)
+ [Exemple 5 : octroi d'un accès complet (administrateur) à toutes les sessions](#restrict-access-example-full-access)

## Exemple 1 : octroi d'un accès aux documents depuis la console
<a name="grant-access-documents-console-example"></a>

Vous pouvez autoriser les utilisateurs à spécifier un document personnalisé lorsqu'ils lancent une session à l'aide de la console Session Manager. L'exemple de politique IAM suivant accorde l'autorisation d'accéder à des documents dont le nom commence par **SessionDocument-** dans la Région AWS et sur le Compte AWS spécifiés.

Pour utiliser cette politique, remplacez chacune *example resource placeholder* par vos propres informations.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetDocument",
                "ssm:ListDocuments"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SessionDocument-*"
            ]
        }
    ]
}
```

------

**Note**  
La console Session Manager ne prend en charge que les documents de session dont le `sessionType` et `Standard_Stream` et utilisés pour définir les préférences de session. Pour de plus amples informations, veuillez consulter [Schéma de document de session](session-manager-schema.md).

## Exemple 2 : restriction de l'accès à des nœuds gérés spécifiques
<a name="restrict-access-example-instances"></a>

Vous pouvez créer une politique IAM qui définit les nœuds gérés auxquels un utilisateur est autorisé à se connecter à l'aide du gestionnaire de session. Par exemple, la politique suivante accorde à un utilisateur l'autorisation de démarrer, de terminer et de reprendre ses sessions sur trois nœuds spécifiques. La politique interdit à l'utilisateur de se connecter à des nœuds autres que ceux spécifiés.

**Note**  
Pour les utilisateurs fédérés, consultez [Exemple 4 : autorisation d'un utilisateur à mettre fin uniquement aux sessions qu'il a démarrées](#restrict-access-example-user-sessions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890EXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-abcdefghijEXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-0e9d8c7b6aEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

## Exemple 3 : restriction de l'accès en fonction des balises
<a name="restrict-access-example-instance-tags"></a>

Vous pouvez restreindre l'accès à des nœuds gérés en fonction de balises spécifiques. Dans l'exemple suivant, l'utilisateur est autorisé à démarrer et à reprendre des sessions (`Effect: Allow, Action: ssm:StartSession, ssm:ResumeSession`) sur n'importe quel nœud géré (`Resource: arn:aws:ec2:region:987654321098:instance/*`) à condition que le nœud soit un nœud Finance WebServer (`ssm:resourceTag/Finance: WebServer`). Si l'utilisateur envoie une commande à un nœud géré non balisé ou qui possède une balise autre que `Finance: WebServer`, le résultat de la commande affiche `AccessDenied`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

Vous pouvez créer des politiques IAM qui permettent à un utilisateur de démarrer des sessions sur des nœuds gérés qui contiennent plusieurs balises. La politique suivante permet à l'utilisateur de démarrer des sessions sur des nœuds gérés qui contiennent les balises spécifiées. Si un utilisateur envoie une commande à un nœud géré qui ne contient pas ces balises, le résultat de la commande affiche `AccessDenied`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:StartSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag-key1":[
                  "tag-value1"
               ],
               "ssm:resourceTag/tag-key2":[
                  "tag-value2"
               ]
            }
         }
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
      {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
      }
   ]
}
```

------

Pour plus d'informations sur la création de politiques IAM, consultez [Politiques gérées et politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) dans le *Guide de l'utilisateur IAM*. Pour plus d’informations sur le balisage des nœuds gérés, consultez [Balisage de vos ressources Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) dans le *Guide de l’utilisateur Amazon EC2* (le contenu s’applique aux nœuds gérés Windows et Linux). Pour plus d'informations sur le renforcement de votre posture de sécurité vis-à-vis des commandes de niveau racine non autorisées sur vos nœuds gérés, consultez [Limitation de l'accès aux commandes de niveau racine via l'SSM Agent](ssm-agent-restrict-root-level-commands.md).

## Exemple 4 : autorisation d'un utilisateur à mettre fin uniquement aux sessions qu'il a démarrées
<a name="restrict-access-example-user-sessions"></a>

Session Managerpropose deux méthodes pour contrôler les sessions auxquelles un utilisateur fédéré de votre entreprise Compte AWS est autorisé à mettre fin.
+ Utilisez la variable `{aws:userid}` dans une politique d'autorisation Gestion des identités et des accès AWS (IAM). Les utilisateurs fédérés ne peuvent terminer que les sessions qu'ils ont démarrées. Pour les utilisateurs non fédérés, utilisez la méthode 1. Pour les utilisateurs fédérés, utilisez la méthode 2.
+ Utilisez les balises fournies par les AWS balises dans une politique d'autorisation IAM. Dans la politique, vous incluez une condition qui permet aux utilisateurs de ne terminer que les sessions marquées avec des balises spécifiques fournies par AWS. Cette méthode fonctionne pour tous les comptes, y compris ceux qui utilisent la fédération IDs pour accorder l'accès à AWS.

### Méthode 1 : octroyer TerminateSession des privilèges à l'aide de la variable `{aws:username}`
<a name="restrict-access-example-user-sessions-username"></a>

La politique IAM suivante permet à un utilisateur de consulter toutes les sessions IDs de votre compte. Toutefois, les utilisateurs ne peuvent interagir avec les nœuds gérés que par le biais des sessions qu'ils ont démarrées. Un utilisateur auquel vous attribuez la politique suivante ne peut pas se connecter ni mettre fin aux sessions des autres utilisateurs. Cette politique utilise la variable `{aws:username}`.

**Note**  
Cette méthode ne fonctionne pas pour les comptes qui autorisent l'accès AWS via Federated. IDs

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:DescribeSessions"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "ssm:TerminateSession"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

### Méthode 2 : octroyer TerminateSession des privilèges à l'aide de balises fournies par AWS
<a name="restrict-access-example-user-sessions-tags"></a>

Vous pouvez contrôler les sessions qu'un utilisateur peut terminer en utilisant des variables de clé de balise conditionnelle spécifiques dans une politique utilisateur IAM. La condition spécifie que l'utilisateur ne peut terminer que les sessions qui sont marquées avec une ou deux des variables de clé de balise spécifiques et une valeur spécifiée.

Lorsqu'un de vos utilisateurs Compte AWS démarre une session, Session Manager applique deux balises de ressources à la session. La première balise de ressource est `aws:ssmmessages:target-id`, avec laquelle vous spécifiez l'ID de la cible à laquelle l'utilisateur est autorisé à se terminer. L'autre balise de ressource est `aws:ssmmessages:session-id`, avec une valeur au format `role-id:caller-specified-role-name`.

**Note**  
Session Manager ne prend pas en charge les balises personnalisées pour cette politique de contrôle d'accès IAM. Vous devez utiliser les balises de ressources fournies par AWS, décrites ci-dessous. 

 ** `aws:ssmmessages:target-id` **   
Avec cette clé de balise, vous incluez l'ID de nœud géré comme valeur dans la politique. Dans le bloc de politique suivant, l'instruction de condition permet à un utilisateur de mettre fin uniquement au nœud i-02573cafcfEXAMPLE.    
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:target-id": [
                        "i-02573cafcfEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
Si l'utilisateur tente de mettre fin à une session pour laquelle il n'a pas obtenu cette autorisation `TerminateSession`, il reçoit une `AccessDeniedException` erreur.

 ** `aws:ssmmessages:session-id` **   
Cette clé de balise inclut une variable pour l'ID de session comme valeur dans la demande de démarrage d'une session.  
L'exemple suivant illustre une politique pour les cas où le type d'appelant est `User`. La valeur que vous fournissez pour `aws:ssmmessages:session-id` est l'ID de l'utilisateur. Dans cet exemple, `AIDIODR4TAW7CSEXAMPLE` représente l'ID d'un utilisateur de votre Compte AWS. Pour récupérer l'identifiant d'un utilisateur dans votre Compte AWS, utilisez la commande IAM,`get-user`. Pour plus d'informations, voir [get-user](https://docs.aws.amazon.com/IAM/latest/UserGuide/get-user.html) dans la Gestion des identités et des accès AWS section du guide de l'utilisateur *IAM*.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "AIDIODR4TAW7CSEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
L'exemple suivant illustre une politique pour les cas où le type d'appelant est `AssumedRole`. Vous pouvez utiliser la variable `{aws:userid}` pour la valeur que vous attribuez à `aws:ssmmessages:session-id`. Vous pouvez également coder en dur un ID de rôle pour la valeur que vous attribuez à `aws:ssmmessages:session-id`. Si vous codez en dur un ID de rôle, vous devez fournir la valeur au format `role-id:caller-specified-role-name`. Par exemple, `AIDIODR4TAW7CSEXAMPLE:MyRole`.  
Pour que les balises système soient appliquées, l'ID de rôle que vous fournissez ne peut contenir que les caractères suivants : Lettres Unicode, 0-9 `_`, espace`.`, `:`, `/`, `=`, `+`, `-`, `@` et `\`.
Pour récupérer l'ID de rôle d'un rôle dans votre Compte AWS, utilisez la `get-caller-identity` commande. Pour plus d'informations, reportez-vous [get-caller-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html)à la référence des AWS CLI commandes.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "${aws:userid}*"
                     ]
                 }
             }
         }
     ]
}
```
Si un utilisateur tente de mettre fin à une session pour laquelle il n'a pas obtenu cette autorisation `TerminateSession`, il reçoit une erreur `AccessDeniedException`.

**`aws:ssmmessages:target-id`** et **`aws:ssmmessages:session-id`**  
Vous pouvez également créer des politiques IAM qui permettent à un utilisateur de terminer des sessions marquées avec les deux balises système, comme illustré dans cet exemple.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:TerminateSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/aws:ssmmessages:target-id":[
                  "i-02573cafcfEXAMPLE"
               ],
               "ssm:resourceTag/aws:ssmmessages:session-id":[
                  "${aws:userid}*"
               ]
            }
         }
      }
   ]
}
```

## Exemple 5 : octroi d'un accès complet (administrateur) à toutes les sessions
<a name="restrict-access-example-full-access"></a>

La politique IAM suivante permet à un utilisateur d'interagir pleinement avec tous les nœuds gérés et toutes les sessions créées par l'ensemble des utilisateurs des nœuds. Elle doit être accordée uniquement à un administrateur qui nécessite un contrôle total sur les activités Session Manager de votre organisation.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession",
                "ssm:ResumeSession",
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

# Étape 4 : Configuration des préférences de session
<a name="session-manager-getting-started-configure-preferences"></a>

Les utilisateurs auxquels des autorisations administratives ont été accordées dans leur politique Gestion des identités et des accès AWS (IAM) peuvent configurer les préférences de session, notamment les suivantes :
+ Activation d'Exécuter en tant que support pour les nœuds gérés Linux. Cela permet de démarrer des sessions en utilisant les informations d'identification d'un utilisateur du système d'exploitation spécifié au lieu des informations d'identification d'un `ssm-user` compte généré par le système qui AWS Systems Manager Session Manager peut être créé sur un nœud géré.
+ Configurez Session Manager pour utiliser AWS KMS key le chiffrement afin de fournir une protection supplémentaire aux données transmises entre les machines clientes et les nœuds gérés.
+ Configurez Session Manager pour créer et envoyer des journaux d'historique de session vers un bucket Amazon Simple Storage Service (Amazon S3) ou un groupe de journaux CloudWatch Amazon Logs. Les données de journaux stockées peuvent ensuite être utilisées en tant que rapports sur les connexions à vos nœuds gérés et les commandes exécutées au cours des sessions.
+ Configurer les délais d'expiration de session. Vous pouvez utiliser ce paramètre pour spécifier quand mettre fin à une session après une période d'inactivité.
+ Configurez Session Manager de sorte à utiliser des profils de shell configurables. Ces profils personnalisables vous permettent de définir des préférences dans les sessions telles que les préférences du shell, les variables d'environnement, les répertoires de travail et l'exécution de plusieurs commandes au démarrage d'une session.

Pour plus d'informations sur les autorisations qui sont nécessaires pour configurer les préférences Session Manager, veuillez consulter la rubrique [Accorder ou révoquer des autorisations utilisateur pour mettre à jour des préférences Session Manager](preference-setting-permissions.md).

**Topics**
+ [Accorder ou révoquer des autorisations utilisateur pour mettre à jour des préférences Session Manager](preference-setting-permissions.md)
+ [Spécifier une valeur de délai d'expiration d'une session inactive](session-preferences-timeout.md)
+ [Spécification de la durée de session maximale](session-preferences-max-timeout.md)
+ [Autoriser les profils de shell configurables](session-preferences-shell-config.md)
+ [Activation de la prise en charge de Run As pour les nœuds gérés Linux et macOS](session-preferences-run-as.md)
+ [Activer le chiffrement des données de session par clé KMS (console)](session-preferences-enable-encryption.md)
+ [Création d'un document de préférences Session Manager (ligne de commande)](getting-started-create-preferences-cli.md)
+ [Mettre à jour les préférences Session Manager (ligne de commande)](getting-started-configure-preferences-cli.md)

Pour plus d'informations sur l'utilisation de la console Systems Manager pour configurer des options pour la journalisation des données de session, consultez les rubriques suivantes.
+  [Journalisation des données de session avec Amazon S3 (console)](session-manager-logging-s3.md) 
+  [Données de session de streaming à l'aide d'Amazon CloudWatch Logs (console)](session-manager-logging-cwl-streaming.md) 
+  [Enregistrement des données de session à l'aide d'Amazon CloudWatch Logs (console)](session-manager-logging-cloudwatch-logs.md) 

# Accorder ou révoquer des autorisations utilisateur pour mettre à jour des préférences Session Manager
<a name="preference-setting-permissions"></a>

Les préférences de compte sont stockées sous forme de documents AWS Systems Manager (SSM) pour chacun Région AWS. Pour qu'un utilisateur puisse mettre à jour des préférences de session sur votre compte, il doit détenir les autorisations nécessaires pour accéder au type de document SSM sur lequel ces préférences sont stockées. Ces autorisations sont accordées par le biais d'une politique Gestion des identités et des accès AWS (IAM).

**Politique administrateur pour autoriser la création et la mise à jour des préférences**  
Un administrateur peut utiliser la politique suivante pour créer et mettre à jour des préférences à tout moment. La politique suivante autorise l'accès et la mise à jour du document `SSM-SessionManagerRunShell` sur le compte us-east-2 123456789012. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

**Politique utilisateur pour interdire la mise à jour des préférences**  
Utilisez la politique suivante pour interdire aux utilisateurs finaux de votre compte de mettre à jour ou remplacer des préférences Session Manager. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

# Spécifier une valeur de délai d'expiration d'une session inactive
<a name="session-preferences-timeout"></a>

Session Manager, un outil dans AWS Systems Manager, vous permet de spécifier la durée pendant laquelle un utilisateur doit rester inactif avant que le système ne mette fin à une session. Par défaut, les sessions expirent au bout de 20 minutes d'inactivité. Vous pouvez modifier ce paramètre de sorte à spécifier qu'une session expire entre 1 et 60 minutes d'inactivité. Certaines agences de sécurité informatique professionnelles recommandent de définir des délais d'inactivité de session de 15 minutes maximum. 

Le temporisateur d'expiration de la session d'inactivité se réinitialise lorsqu'il Session Manager reçoit des entrées côté client. Ces entrées incluent, sans toutefois s'y limiter :
+ Saisie au clavier dans le terminal
+ Redimensionner les événements du terminal ou de la fenêtre du navigateur
+ Reconnexion de session (ResumeSession), qui peut se produire en raison d'interruptions du réseau, de la gestion des onglets du navigateur ou WebSocket de déconnexions

Étant donné que ces événements réinitialisent le délai d'inactivité, une session peut rester active plus longtemps que le délai d'expiration configuré, même en l'absence de commandes directes du terminal.

Si vos exigences de sécurité imposent des limites de durée de session strictes quelle que soit l'activité, utilisez le paramètre *Durée maximale de session* en plus du délai d'inactivité. Pour de plus amples informations, veuillez consulter [Spécification de la durée de session maximale](session-preferences-max-timeout.md).

**Pour autoriser le délai d'expiration d'une session inactive (console)**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Session Manager**.

1. Sélectionnez l'onglet **Préférences**, puis **Modifier**.

1. Spécifiez le temps nécessaire à un utilisateur pour passer à l'état inactif avant qu'une session se termine, dans le champ **minutes**, sous **Délai d'expiration d'une session inactive**.

1. Choisissez **Enregistrer**.

# Spécification de la durée de session maximale
<a name="session-preferences-max-timeout"></a>

Session Manager, un outil dans AWS Systems Manager, vous permet de définir la durée maximale d'une session avant qu'elle ne se termine. Par défaut, les sessions n'ont pas de durée maximale. La valeur que vous spécifiez pour la durée maximale de session doit être comprise entre 1 et 1 440 minutes.

**Pour spécifier la durée de session maximale (console)**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Session Manager**.

1. Sélectionnez l'onglet **Préférences**, puis **Modifier**.

1. Activez la case à cocher en regard de **Enable maximum session duration (Activer la durée de session maximale)**.

1. Spécifiez la durée maximale de la session avant son terme dans le champ **minutes** sous **Maximum session duration (Durée de session maximale)**.

1. Choisissez **Enregistrer**.

# Autoriser les profils de shell configurables
<a name="session-preferences-shell-config"></a>

Par défaut, les sessions sur les instances EC2 pour Linux commencent à utiliser le shell Bourne (sh). Vous préférerez peut-être utiliser un autre shell, bash par exemple. En autorisant les profils de shell configurables, vous pouvez personnaliser des préférences de session, telles que des préférences de shell, des variables d'environnement, des répertoires de travail et l'exécution de plusieurs commandes au démarrage d'une session.

**Important**  
Systems Manager ne vérifie pas les commandes ou scripts de votre profil shell pour voir les modifications qu'ils apporteraient à une instance avant leur exécution. Pour limiter la capacité d'un utilisateur à modifier des commandes ou scripts entrés dans son profil shell, nous vous recommandons de procéder comme suit :  
Créez un document de type session personnalisé pour vos utilisateurs et rôles Gestion des identités et des accès AWS (IAM). Modifiez ensuite la politique IAM pour ces utilisateurs et rôles de sorte que l'opération d'API `StartSession` puisse seulement utiliser le document de type session que vous avez créé pour ceux-ci. Pour plus d'informations, consultez [Création d'un document de préférences Session Manager (ligne de commande)](getting-started-create-preferences-cli.md) et [Démarrage rapide - Politiques d'utilisateur final pour Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).
Modifiez la politique IAM pour vos utilisateurs et rôles IAM afin de refuser l'accès à l'opération d'API `UpdateDocument` pour la ressource de document de type session que vous créez. Vos utilisateurs et rôles sont ainsi autorisés à utiliser le document que vous avez créé pour leurs préférences de session mais pas à en modifier les paramètres.

**Pour activer des profils de shell configurables**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Session Manager**.

1. Sélectionnez l'onglet **Préférences**, puis **Modifier**.

1. Spécifiez les variables d'environnement, les préférences de shell ou les commandes que vous voulez exécuter au démarrage de votre session dans les champs des systèmes d'exploitation applicables.

1. Sélectionnez **Enregistrer**.

Voici quelques exemples des commandes qui peuvent être ajoutées à votre profil de shell.

Sur les instances Linux, passez au shell bash et au répertoire /usr.

```
exec /bin/bash
cd /usr
```

Affichez un horodatage et un message de bienvenue au démarrage d'une session.

------
#### [ Linux & macOS ]

```
timestamp=$(date '+%Y-%m-%dT%H:%M:%SZ')
user=$(whoami)
echo $timestamp && echo "Welcome $user"'!'
echo "You have logged in to a production instance. Note that all session activity is being logged."
```

------
#### [  Windows  ]

```
$timestamp = (Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ")
$splitName = (whoami).Split("\")
$user = $splitName[1]
Write-Host $timestamp
Write-Host "Welcome $user!"
Write-Host "You have logged in to a production instance. Note that all session activity is being logged."
```

------

Affichez l'activité dynamique du système au démarrage d'une session.

------
#### [ Linux & macOS ]

```
top
```

------
#### [  Windows  ]

```
while ($true) { Get-Process | Sort-Object -Descending CPU | Select-Object -First 30; `
Start-Sleep -Seconds 2; cls
Write-Host "Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName"; 
Write-Host "-------  ------    -----      ----- -----   ------     -- -----------"}
```

------

# Activation de la prise en charge de Run As pour les nœuds gérés Linux et macOS
<a name="session-preferences-run-as"></a>

Par défaut, Session Manager authentifie les connexions lancées à l'aide des informations d'identification d'un compte `ssm-user` généré par le système qui est créé sur un nœud géré. (Sur les machines Linux et macOS, le compte est ajouté à `/etc/sudoers/`.) Si vous préférez, vous pouvez authentifier les sessions à l’aide des informations d’identification d’un compte utilisateur de système d’exploitation (OS) ou d’un utilisateur de domaine pour les instances jointes à un Active Directory. Dans ce cas, le Gestionnaire de session vérifie que le compte de système d’exploitation (OS) que vous avez spécifié existe sur le nœud, ou dans le domaine, avant de démarrer la session. Si vous essayez de démarrer une session à l’aide d’un compte OS qui n’existe pas sur le nœud ou dans le domaine, la connexion échoue.

**Note**  
Le gestionnaire de session ne prend pas en charge l'utilisation d'un compte utilisateur `root` de système d'exploitation pour authentifier les connexions. Pour les sessions authentifiées à l'aide d'un compte utilisateur de système d'exploitation, les politiques au niveau du système d'exploitation et de répertoire du nœud, telles que les restrictions de connexion ou les restrictions d'utilisation des ressources système, peuvent ne pas s'appliquer. 

**Comment ça marche**  
Si vous activez la prise en charge de Run As pour les sessions, le système vérifie les autorisations d'accès comme suit :

1. Pour l'utilisateur qui démarre la session, son entité IAM (utilisateur ou rôle) a-t-elle été balisée avec `SSMSessionRunAs = os user account name` ?

   Si oui, le nom d'utilisateur de système d'exploitation (SE) existe-t-il sur le nœud géré ? Si c'est le cas, démarrer la session. Si ce n'est pas le cas, ne pas autoriser une session à démarrer.

   Si l'entité IAM *n'a pas* été balisée avec `SSMSessionRunAs = os user account name`, passez à l'étape 2.

1. Si l'entité IAM n'a pas été taguée`SSMSessionRunAs = os user account name`, un nom d'utilisateur du système d'exploitation a-t-il été spécifié dans les Session Manager préférences Compte AWS de ?

   Si oui, le nom d'utilisateur de système d'exploitation (SE) existe-t-il sur le nœud géré ? Si c'est le cas, démarrer la session. Si ce n'est pas le cas, ne pas autoriser une session à démarrer. 

**Note**  
Lorsque vous activez la prise en charge de l'exécution en tant que, cela empêche le Gestionnaire de session de démarrer des sessions à l'aide du compte `ssm-user` sur un nœud géré. Cela signifie que si Session Manager ne réussit pas la connexion à l'aide du compte utilisateur du système d'exploitation spécifié, il ne reviendra pas à la connexion à l'aide de la méthode par défaut.   
Si vous activez l'exécution en tant que sans spécifier de compte de système d'exploitation (SE) ni baliser une entité IAM et que vous n'avez pas spécifié de compte de système d'exploitation (SE) dans les préférences du Gestionnaire de session, les tentatives de connexion à la session échoueront.

**Pour activer Exécuter en tant que support pour les nœuds gérés Linux et macOS**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Session Manager**.

1. Sélectionnez l'onglet **Préférences**, puis **Modifier**.

1. Cochez la case en regard de **Activer Exécuter en tant que support des instances Linux**.

1. Effectuez l’une des actions suivantes :
   + **Option 1** : dans le champ **Nom d'utilisateur de système d'exploitation**, saisissez le nom du compte utilisateur de système d'exploitation (SE) que vous souhaitez utiliser pour démarrer les sessions. Avec cette option, toutes les sessions sont exécutées par le même utilisateur du système d'exploitation pour tous les utilisateurs de votre système Compte AWS qui se connectent en utilisantSession Manager.
   + **Option 2** (Recommandé) : choisir le lien **Ouvrir la console IAM**. Dans le panneau de navigation, sélectionnez **Users (Utilisateurs)** ou **Roles (Rôles)**. Sélectionnez l'entité (utilisateur ou rôle) à laquelle ajouter des balises, puis sélectionnez l'onglet **Tags (Balises)**. Entrez `SSMSessionRunAs` pour le nom de la clé. Saisissez le nom d'un compte utilisateur de système d'exploitation (SE) pour la valeur de la clé. Sélectionnez **Enregistrer les modifications**.

     Avec cette option, vous pouvez spécifier des utilisateurs de système d'exploitation (SE) uniques pour différentes entités IAM si vous le souhaitez. Pour plus d’informations sur le balisage des entités IAM (utilisateurs ou rôles), consultez la section [Balisage des ressources IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dans le *Guide de l’utilisateur IAM*.

     Voici un exemple.  
![\[Capture d'écran de la spécification de balises pour l'autorisation Exécuter en tant que de Session Manager.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/ssn-run-as-tags.png)

1. Choisissez **Enregistrer**.

# Activer le chiffrement des données de session par clé KMS (console)
<a name="session-preferences-enable-encryption"></a>

Utilisez AWS Key Management Service (AWS KMS) pour créer et gérer des clés de chiffrement. Avec AWS KMS, vous pouvez contrôler l'utilisation du chiffrement dans un large éventail d'applications Services AWS et dans celles-ci. Vous pouvez spécifier que les données de session transmises entre vos nœuds gérés et les machines locales des utilisateurs de votre Compte AWS réseau sont chiffrées à l'aide du chiffrement par clé KMS. (Cela s'ajoute au chiffrement TLS 1.2/1.3 AWS déjà fourni par défaut.) Pour chiffrer les données de Session Manager session, créez une clé KMS *symétrique* à l'aide de. AWS KMS

AWS KMS le chiffrement est disponible pour `Standard_Stream``InteractiveCommands`, et les types de `NonInteractiveCommands` session. Pour utiliser l'option permettant de chiffrer les données de session à l'aide d'une clé créée dans AWS KMS, la version 2.3.539.0 ou ultérieure de AWS Systems Manager SSM Agent doit être installée sur le nœud géré. 

**Note**  
Vous devez autoriser AWS KMS le chiffrement afin de réinitialiser les mots de passe de vos nœuds gérés depuis la AWS Systems Manager console. Pour de plus amples informations, veuillez consulter [Réinitialisation d'un mot de passe sur un nœud géré](fleet-manager-reset-password.md#managed-instance-reset-a-password).

Vous pouvez utiliser une clé que vous avez créée dans votre Compte AWS. Vous pouvez également utiliser une clé qui a été créée dans un Compte AWS différent. Le créateur de la clé dans un autre Compte AWS doit vous fournir les autorisations nécessaires pour utiliser la clé.

Une fois que vous avez activé le chiffrement de clé KMS pour vos données de session, les utilisateurs qui démarrent les sessions et les nœuds gérés auxquels ils se connectent doivent avoir l'autorisation d'utiliser la clé. Vous autorisez l'utilisation de la clé KMS Session Manager via des politiques Gestion des identités et des accès AWS (IAM). Pour plus d’informations, consultez les rubriques suivantes :
+ Ajoutez AWS KMS des autorisations pour les utilisateurs de votre compte :[Exemple de stratégies IAM pour Session Manager](getting-started-restrict-access-quickstart.md).
+ Ajoutez AWS KMS des autorisations pour les nœuds gérés dans votre compte :[Étape 2 : vérifier ou ajouter des autorisations d'instance pour Session Manager](session-manager-getting-started-instance-profile.md).

Pour plus d'informations sur la création et la gestion de clés KMS, veuillez consulter le [https://docs.aws.amazon.com/kms/latest/developerguide/](https://docs.aws.amazon.com/kms/latest/developerguide/).

Pour plus d'informations sur l'utilisation du AWS CLI pour activer le chiffrement par clé KMS des données de session de votre compte, consultez [Création d'un document de préférences Session Manager (ligne de commande)](getting-started-create-preferences-cli.md) ou[Mettre à jour les préférences Session Manager (ligne de commande)](getting-started-configure-preferences-cli.md).

**Note**  
L'utilisation de clés KMS entraîne des frais. Pour obtenir des informations, veuillez consulter [Tarification AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

**Pour activer le chiffrement des données de session par clé KMS (console)**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Session Manager**.

1. Sélectionnez l'onglet **Préférences**, puis **Modifier**.

1. Activez la case à cocher en regard de **Enable KMS encryption (Activer le chiffrement KMS)**.

1. Effectuez l'une des actions suivantes :
   + Cliquez sur le bouton en regard de **Select a KMS key in my current account** (Sélectionner une clé dans mon compte actuel), puis sélectionnez une clé dans la liste.

     -ou-

     Sélectionnez le bouton en regard de **Entrer un alias de clé KMS ou un ARN de clé KMS**. Saisissez manuellement un alias de clé KMS pour une clé créée dans votre compte actuel, ou saisissez l'Amazon Resource Name (ARN) de clé pour une clé dans un autre compte. Voici quelques exemples :
     + Alias de clé : `alias/my-kms-key-alias`
     + ARN de clé : `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`

     -ou-

     Sélectionnez **Create new key (Créer une clé)** pour créer une clé KMS dans votre compte. Une fois que vous avez créé la nouvelle clé, revenez à l'onglet **Préférences** et sélectionnez la clé pour chiffrer les données de session dans votre compte.

   Pour plus d'informations sur le partage de clés, voir [Autoriser un Comptes AWS utilisateur externe à accéder à une clé](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts) dans le *manuel du AWS Key Management Service développeur*.

1. Choisissez **Enregistrer**.

# Création d'un document de préférences Session Manager (ligne de commande)
<a name="getting-started-create-preferences-cli"></a>

Utilisez la procédure suivante pour créer des documents SSM qui définissent vos préférences pour les AWS Systems Manager Session Manager sessions. Vous pouvez utiliser le document pour configurer les options de session, notamment le chiffrement des données, la durée de session et la journalisation. Par exemple, vous pouvez spécifier si vous souhaitez stocker les données du journal de session dans un bucket Amazon Simple Storage Service (Amazon S3) ou dans un groupe de journaux CloudWatch Amazon Logs. Vous pouvez créer des documents qui définissent des préférences générales pour toutes les sessions pour un Compte AWS et Région AWS, ou qui définissent des préférences pour des sessions individuelles. 

**Note**  
Vous pouvez également configurer les préférences générales de session à l'aide de la console Session Manager.

Les documents utilisés pour définir les préférences de Session Manager doivent comporter un `sessionType` `Standard_Stream`. Pour plus d'informations sur les documents de session, veuillez consulter la rubrique [Schéma de document de session](session-manager-schema.md).

Pour plus d'informations sur l'utilisation de la ligne de commande afin de mettre à jour les préférences Session Manager existantes, veuillez consulter la rubrique [Mettre à jour les préférences Session Manager (ligne de commande)](getting-started-configure-preferences-cli.md).

Pour un exemple de création de préférences de session en utilisant CloudFormation, consultez le [document Create a Systems Manager pour les Session Manager préférences](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#aws-resource-ssm-document--examples) dans le *Guide de AWS CloudFormation l'utilisateur*.

**Note**  
Cette procédure décrit comment créer des documents pour définir Session Manager les préférences au Compte AWS niveau. Pour créer des documents qui seront utilisés pour définir les préférences au niveau de la session, spécifiez une valeur autre que `SSM-SessionManagerRunShell` pour les entrées de commande liées au nom de fichier.   
Pour utiliser votre document afin de définir les préférences des sessions démarrées à partir de l' AWS Command Line Interface (AWS CLI), indiquez le nom du document comme valeur du paramètre `--document-name`. Pour définir les préférences des sessions démarrées depuis la console Session Manager, vous pouvez saisir ou sélectionner le nom de votre document dans une liste.

**Pour créer des préférences Session Manager (ligne de commande)**

1. Créez un fichier JSON sur votre ordinateur local avec un nom tel que `SessionManagerRunShell.json`, puis collez le contenu suivant dans le fichier.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": false,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

   Vous pouvez aussi transmettre des valeurs à vos préférences de session en utilisant des paramètres plutôt qu'en codant les valeurs en dur, comme l'illustre l'exemple suivant.

   ```
   {
      "schemaVersion":"1.0",
      "description":"Session Document Parameter Example JSON Template",
      "sessionType":"Standard_Stream",
      "parameters":{
         "s3BucketName":{
            "type":"String",
            "default":""
         },
         "s3KeyPrefix":{
            "type":"String",
            "default":""
         },
         "s3EncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         },
         "cloudWatchLogGroupName":{
            "type":"String",
            "default":""
         },
         "cloudWatchEncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         }
      },
      "inputs":{
         "s3BucketName":"{{s3BucketName}}",
         "s3KeyPrefix":"{{s3KeyPrefix}}",
         "s3EncryptionEnabled":"{{s3EncryptionEnabled}}",
         "cloudWatchLogGroupName":"{{cloudWatchLogGroupName}}",
         "cloudWatchEncryptionEnabled":"{{cloudWatchEncryptionEnabled}}",
         "kmsKeyId":""
      }
   }
   ```

1. Spécifiez où vous souhaitez envoyer les données de session. Vous pouvez spécifier un nom de compartiment S3 (avec un préfixe facultatif) ou un nom de groupe de CloudWatch journaux de journaux. Si vous souhaitez continuer à chiffrer des données entre le client local et les nœuds gérés, fournissez la clé KMS à utiliser pour le chiffrement. Voici un exemple.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**Note**  
Si vous ne souhaitez pas chiffrer les données de journaux, remplacez `true` par `false` pour `s3EncryptionEnabled`.  
Si vous n'envoyez pas de journaux à un compartiment Amazon S3 ou à un groupe de CloudWatch journaux de journaux, si vous ne souhaitez pas chiffrer les données de session actives ou si vous ne souhaitez pas activer le support Run As pour les sessions de votre compte, vous pouvez supprimer les lignes correspondant à ces options. Assurez-vous que la dernière ligne de la section `inputs` ne se termine pas par une virgule.  
Si vous ajoutez un ID de clé KMS pour chiffrer vos données de session, les utilisateurs qui démarrent les sessions et les nœuds gérés auxquels ils se connectent doivent avoir l'autorisation d'utiliser la clé. Vous fournissez l'autorisation d'utiliser la clé KMS avec Session Manager via des politiques IAM. Pour plus d’informations, consultez les rubriques suivantes :  
Ajoutez AWS KMS des autorisations pour les utilisateurs de votre compte : [Exemple de stratégies IAM pour Session Manager](getting-started-restrict-access-quickstart.md)
Ajoutez AWS KMS des autorisations pour les nœuds gérés dans votre compte : [Étape 2 : vérifier ou ajouter des autorisations d'instance pour Session Manager](session-manager-getting-started-instance-profile.md)

1. Enregistrez le fichier.

1. Dans le répertoire où vous avez créé le fichier JSON, exécutez la commande suivante.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --name SSM-SessionManagerRunShell \
       --content "file://SessionManagerRunShell.json" \
       --document-type "Session" \
       --document-format JSON
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --name SSM-SessionManagerRunShell ^
       --content "file://SessionManagerRunShell.json" ^
       --document-type "Session" ^
       --document-format JSON
   ```

------
#### [   PowerShell   ]

   ```
   New-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentType "Session" `
       -DocumentFormat JSON
   ```

------

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
       "DocumentDescription": {
           "Status": "Creating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "1",
           "HashType": "Sha256",
           "CreatedDate": 1547750660.918,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "1"
       }
   }
   ```

# Mettre à jour les préférences Session Manager (ligne de commande)
<a name="getting-started-configure-preferences-cli"></a>

La procédure suivante décrit comment utiliser votre outil de ligne de commande préféré pour modifier les AWS Systems Manager Session Manager préférences de Compte AWS la zone sélectionnée Région AWS. Utilisez Session Manager les préférences pour spécifier les options de journalisation des données de session dans un bucket Amazon Simple Storage Service (Amazon S3) ou un groupe de journaux CloudWatch Amazon Logs. Vous pouvez également utiliser des préférences Session Manager pour chiffrer vos données de session.

**Pour mettre à jour les préférences Session Manager (ligne de commande)**

1. Créez un fichier JSON sur votre ordinateur local avec un nom tel que `SessionManagerRunShell.json`, puis collez le contenu suivant dans le fichier.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": true,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

1. Spécifiez où vous souhaitez envoyer les données de session. Vous pouvez spécifier un nom de compartiment S3 (avec un préfixe facultatif) ou un nom de groupe de CloudWatch journaux de journaux. Si vous souhaitez chiffrer davantage les données entre le client local et les nœuds gérés, fournissez le code AWS KMS key à utiliser pour le chiffrement. Voici un exemple.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**Note**  
Si vous ne souhaitez pas chiffrer les données de journaux, remplacez `true` par `false` pour `s3EncryptionEnabled`.  
Si vous n'envoyez pas de journaux à un compartiment Amazon S3 ou à un groupe de CloudWatch journaux de journaux, si vous ne souhaitez pas chiffrer les données de session actives ou si vous ne souhaitez pas activer le support Run As pour les sessions de votre compte, vous pouvez supprimer les lignes correspondant à ces options. Assurez-vous que la dernière ligne de la section `inputs` ne se termine pas par une virgule.  
Si vous ajoutez un ID de clé KMS pour chiffrer vos données de session, les utilisateurs qui démarrent les sessions et les nœuds gérés auxquels ils se connectent doivent avoir l'autorisation d'utiliser la clé. Vous autorisez l'utilisation de la clé KMS Session Manager via des politiques Gestion des identités et des accès AWS (IAM). Pour plus d’informations, consultez les rubriques suivantes :  
Ajoutez AWS KMS des autorisations pour les utilisateurs de votre compte :[Exemple de stratégies IAM pour Session Manager](getting-started-restrict-access-quickstart.md).
Ajoutez AWS KMS des autorisations pour les nœuds gérés dans votre compte :[Étape 2 : vérifier ou ajouter des autorisations d'instance pour Session Manager](session-manager-getting-started-instance-profile.md).

1. Enregistrez le fichier.

1. Dans le répertoire où vous avez créé le fichier JSON, exécutez la commande suivante.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-document \
       --name "SSM-SessionManagerRunShell" \
       --content "file://SessionManagerRunShell.json" \
       --document-version "\$LATEST"
   ```

------
#### [  Windows  ]

   ```
   aws ssm update-document ^
       --name "SSM-SessionManagerRunShell" ^
       --content "file://SessionManagerRunShell.json" ^
       --document-version "$LATEST"
   ```

------
#### [   PowerShell   ]

   ```
   Update-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentVersion '$LATEST'
   ```

------

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
       "DocumentDescription": {
           "Status": "Updating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "2",
           "HashType": "Sha256",
           "CreatedDate": 1537206341.565,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "2"
       }
   }
   ```

# Étape 5 (facultative) : Restriction de l'accès aux commandes dans une session
<a name="session-manager-restrict-command-access"></a>

Vous pouvez limiter les commandes qu'un utilisateur peut exécuter dans une AWS Systems Manager Session Manager session en utilisant un document de `Session` type personnalisé AWS Systems Manager (SSM). Dans ce document, vous définissez la commande qui est exécutée lorsque l'utilisateur démarre une session et les paramètres qu'il peut fournir à la commande. Le paramètre `Session` du document `schemaVersion` doit être défini sur 1.0 et le paramètre `sessionType` du document doit être défini sur `InteractiveCommands`. Vous pouvez ensuite créer des politiques Gestion des identités et des accès AWS (IAM) permettant aux utilisateurs d'accéder uniquement aux documents `Session` que vous définissez. Pour de plus amples informations sur l'utilisation des politiques IAM pour restreindre l'accès aux commandes dans une session, consultez [Exemples de politique IAM pour les commandes interactives](#interactive-command-policy-examples).

Les documents marqués du signe `sessionType` de ne `InteractiveCommands` sont pris en charge que pour les sessions démarrées à partir du AWS Command Line Interface (AWS CLI). L'utilisateur fournit le nom du document personnalisé en tant que valeur du paramètre `--document-name` et fournit toutes les valeurs des paramètres de commande à l'aide de l'option `--parameters`. Pour de plus amples informations sur l'exécution des commandes interactives, consultez [Démarrage d'une session (commandes interactives et non interactives)](session-manager-working-with-sessions-start.md#sessions-start-interactive-commands).

Mettez en œuvre la procédure suivante pour créer un document SSM personnalisé de type `Session` qui définit la commande qu'un utilisateur est autorisé à exécuter.

## Restreindre l'accès aux commandes dans une session (console)
<a name="restrict-command-access-console"></a>

**Pour restreindre les commandes qu'un utilisateur peut exécuter dans une session Session Manager (console)**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, cliquez sur **Documents**.

1. Sélectionnez **Create command or session (Créer une commande ou une session)**.

1. Pour **Name (Nom)**, saisissez un nom évocateur pour le document.

1. Pour **Document type (Type de document)**, sélectionnez **Session document (Document de session)**.

1. Entrez le contenu de votre document qui définit la commande qu'un utilisateur peut exécuter dans une session Session Manager au format JSON ou YAML, comme illustré dans l'exemple suivant.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

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

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Sélectionnez **Créer un document**.

## Restreindre l'accès aux commandes dans une session (ligne de commande)
<a name="restrict-command-access-commandline"></a>

**Avant de commencer**  
Si ce n'est pas déjà fait, installez et configurez le AWS Command Line Interface (AWS CLI) ou le Outils AWS pour PowerShell. Pour plus d'informations, consultez la section [Installation ou mise à jour de la version la plus récente de l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) et [Installation d' Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

**Pour restreindre les commandes qu'un utilisateur peut exécuter dans une session Session Manager (ligne de commande)**

1. Créez un fichier JSON ou YAML pour le contenu de votre document qui définit la commande qu'un utilisateur peut exécuter dans une session Session Manager, comme illustré dans l'exemple suivant.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

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

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Exécutez les commandes suivantes pour créer un document SSM en utilisant votre contenu qui définit la commande qu'un utilisateur peut exécuter dans une session Session Manager.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --content file://path/to/file/documentContent.json \
       --name "exampleAllowedSessionDocument" \
       --document-type "Session"
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --content file://C:\path\to\file\documentContent.json ^
       --name "exampleAllowedSessionDocument" ^
       --document-type "Session"
   ```

------
#### [   PowerShell   ]

   ```
   $json = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String
   New-SSMDocument `
       -Content $json `
       -Name "exampleAllowedSessionDocument" `
       -DocumentType "Session"
   ```

------

## Les paramètres de commande interactifs et le AWS CLI
<a name="restrict-command-access-parameters-cli"></a>

Plusieurs façons permettent de définir des paramètres de commande interactifs lors de l'utilisation de la AWS CLI. En fonction du système d'exploitation (OS) de votre machine cliente que vous utilisez pour vous connecter aux nœuds gérés AWS CLI, la syntaxe que vous fournissez pour les commandes contenant des caractères spéciaux ou d'échappement peut être différente. Les exemples suivants montrent les différentes manières dont vous pouvez fournir des paramètres de commande lorsque vous utilisez le AWS CLI et comment gérer les caractères spéciaux ou d'échappement.

Les paramètres stockés dans Parameter Store peuvent être référencés dans AWS CLI les paramètres de votre commande, comme indiqué dans l'exemple suivant.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------

L'exemple suivant montre l'utilisation d'une syntaxe abrégée avec la AWS CLI pour transmettre des paramètres.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters command="ifconfig"
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters command="ipconfig"
```

------

Vous pouvez également fournir des paramètres en JSON, comme illustré dans l'exemple suivant.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["ifconfig"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["ipconfig"]}'
```

------

Les paramètres peuvent également être stockés dans un fichier JSON et fournis au AWS CLI , comme indiqué dans l'exemple suivant. Pour de plus amples informations sur l'utilisation de paramètres de la AWS CLI à partir d'un fichier, consultez [Chargement de paramètres AWS CLI à partir d'un fichier](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-file.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

```
{
    "command": [
        "my command"
    ]
}
```

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters file://complete/path/to/file/parameters.json
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters file://complete/path/to/file/parameters.json
```

------

Vous pouvez également générer un AWS CLI squelette à partir d'un fichier d'entrée JSON, comme illustré dans l'exemple suivant. *Pour plus d'informations sur la génération de AWS CLI squelettes à partir de fichiers d'entrée JSON, consultez la section [Génération de AWS CLI squelettes et de paramètres d'entrée à partir d'un fichier d'entrée JSON ou YAML](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-skeleton.html) dans le Guide de l'AWS Command Line Interface utilisateur.*

```
{
    "Target": "instance-id",
    "DocumentName": "MyInteractiveCommandDocument",
    "Parameters": {
        "command": [
            "my command"
        ]
    }
}
```

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --cli-input-json file://complete/path/to/file/parameters.json
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --cli-input-json file://complete/path/to/file/parameters.json
```

------

Lorsque des caractères d'échappement sont placés entre guillemets, vous devez ajouter des barres obliques inverses supplémentaires aux caractères d'échappement, comme l'illustre l'exemple suivant.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------

Pour plus d'informations sur l'utilisation de guillemets avec les paramètres de commande dans la AWS CLI, consultez [Utilisation de guillemets avec des chaînes dans la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-quoting-strings.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

## Exemples de politique IAM pour les commandes interactives
<a name="interactive-command-policy-examples"></a>

Vous pouvez créer des politiques IAM permettant aux utilisateurs d'accéder uniquement aux documents `Session` que vous définissez. Les commandes qu'un utilisateur peut exécuter dans une session Session Manager sont ainsi limitées uniquement aux commandes définies dans vos documents SSM personnalisés de type `Session`.

 **Autoriser un utilisateur à exécuter une commande interactive sur un seul nœud géré**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/i-02573cafcfEXAMPLE",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Autoriser un utilisateur à exécuter une commande interactive sur tous les nœuds gérés**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Autoriser un utilisateur à exécuter plusieurs commandes interactives sur tous les nœuds gérés**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document-2"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

# Étape 6 : (Facultatif) AWS PrivateLink À utiliser pour configurer un point de terminaison VPC pour Session Manager
<a name="session-manager-getting-started-privatelink"></a>

Vous pouvez renforcer la sécurité de vos nœuds gérés en configurant AWS Systems Manager pour qu'il utilise un point de terminaison Virtual Private Cloud (VPC) d'interface. Les points de terminaison de l'interface sont alimentés par AWS PrivateLink une technologie qui vous permet d'accéder en privé à Amazon Elastic Compute Cloud (Amazon EC2) et à Systems APIs Manager à l'aide d'adresses IP privées. 

AWS PrivateLink restreint tout le trafic réseau entre vos nœuds gérés, Systems Manager et Amazon EC2 vers le réseau Amazon. (Les nœuds gérés n'ont pas accès à Internet). De même, vous n'avez pas besoin d'une passerelle Internet, d'un périphérique NAT ni d'une passerelle réseau privé virtuel. 

Pour plus d’informations sur la création d’un point de terminaison d’un VPC, voir [Renforcement de la sécurité des instances EC2 à l’aide des points de terminaison de VPC pour Systems Manager](setup-create-vpc.md).

L'alternative à l'utilisation d'un point de terminaison de VPC est l'activation de l'accès Internet sortant sur vos nœuds gérés. Dans ce cas, les nœuds gérés doivent également autoriser le trafic sortant HTTPS (port 443) vers les points de terminaison suivants :
+  `ec2messages.region.amazonaws.com` 
+  `ssm.region.amazonaws.com` 
+  `ssmmessages.region.amazonaws.com` 

Systems Manager utilise le dernier de ces points de terminaison, `ssmmessages.region.amazonaws.com`, pour appeler le service Session Manager dans le cloud à partir de SSM Agent.

Pour utiliser des fonctionnalités facultatives telles que le chiffrement AWS Key Management Service (AWS KMS), le streaming des CloudWatch journaux vers Amazon CloudWatch Logs (Logs) et l'envoi de journaux vers Amazon Simple Storage Service (Amazon S3), vous devez autoriser le trafic sortant HTTPS (port 443) vers les points de terminaison suivants :
+  `kms.region.amazonaws.com` 
+  `logs.region.amazonaws.com` 
+  `s3.region.amazonaws.com` 

Pour de plus amples informations sur les points de terminaison requis pour Systems Manager, veuillez consulter [Référence : ec2messages, ssmmessages et autres opérations d'API](systems-manager-setting-up-messageAPIs.md).

# Étape 7 : (Facultatif) activez ou désactivez les autorisations administratives du compte ssm-user.
<a name="session-manager-getting-started-ssm-user-permissions"></a>

À partir de la version 2.3.50.0 de AWS Systems Manager SSM Agent, l'agent crée un compte utilisateur local appelé `ssm-user` et l'ajoute à `/etc/sudoers` (LinuxetmacOS) ou au groupe Administrateurs (). Windows Sur les versions de l'agent antérieures à 2.3.612.0, le compte est créé la première fois que l'SSM Agent démarre ou redémarre après l'installation. Sur la version 2.3.612.0 et version ultérieure, le compte `ssm-user` est créé la première fois qu'une session est démarrée sur un nœud. Il s'`ssm-user`agit de l'utilisateur du système d'exploitation (OS) par défaut lorsqu'une AWS Systems Manager Session Manager session est démarrée. SSM Agentla version 2.3.612.0 a été publiée le 8 mai 2019.

Si vous souhaitez interdire aux utilisateurs Session Manager d'exécuter des commandes administratives sur un nœud, vous pouvez mettre à jour les autorisations du compte `ssm-user`. Vous pouvez restaurer ces autorisations après qu'elles ont été supprimées.

**Topics**
+ [Gestion des autorisations de compte sudo ssm-user sous Linux et macOS](#ssm-user-permissions-linux)
+ [Gérer les autorisations administrateur de compte ssm-user sur Windows Server](#ssm-user-permissions-windows)

## Gestion des autorisations de compte sudo ssm-user sous Linux et macOS
<a name="ssm-user-permissions-linux"></a>

Utilisez l'une des procédures suivantes pour activer ou désactiver les autorisations de compte sudo ssm-user sur les nœuds gérés Linux et macOS.

**Utiliser Run Command pour modifier les autorisations sudo ssm-user (console)**
+ Exécutez la procédure décrite sur la page [Exécution des commande à partir de la console](running-commands-console.md) en appliquant les valeurs suivantes :
  + Pour **Command document (Document de commande)**, sélectionnez `AWS-RunShellScript`.
  + Pour supprimer un accès sudo, dans la zone **Command parameters (Paramètres de la commande)**, collez la commande suivante dans la zone **Commands (Commandes)** :

    ```
    cd /etc/sudoers.d
    echo "#User rules for ssm-user" > ssm-agent-users
    ```

    -ou-

    Pour restaurer un accès sudo, dans la zone **Command parameters (Paramètres de la commande)**, collez la commande suivante dans **Commands (Commandes)** :

    ```
    cd /etc/sudoers.d 
    echo "ssm-user ALL=(ALL) NOPASSWD:ALL" > ssm-agent-users
    ```

**Utiliser la ligne de commande pour modifier des autorisations sudo ssm-user (AWS CLI)**

1. Connectez-vous au nœud géré et exécutez la commande suivante.

   ```
   sudo -s
   ```

1. Modifiez le répertoire de travail à l'aide de la commande suivante.

   ```
   cd /etc/sudoers.d
   ```

1. Ouvrez le fichier nommé `ssm-agent-users` pour le modifier.

1. Pour supprimer l'accès sudo, supprimez la ligne suivante.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

   -ou-

   Pour restaurer l'accès sudo, ajoutez la ligne suivante.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

1. Enregistrez le fichier.

## Gérer les autorisations administrateur de compte ssm-user sur Windows Server
<a name="ssm-user-permissions-windows"></a>

Utilisez l'une des procédures suivantes pour activer ou désactiver les autorisations administrateur de compte ssm-user sur les nœuds gérés Windows Server.

**Utiliser Run Command pour modifier les autorisations administrateur (console)**
+ Exécutez la procédure décrite sur la page [Exécution des commande à partir de la console](running-commands-console.md) en appliquant les valeurs suivantes :

  Pour **Command document (Document de commande)**, sélectionnez `AWS-RunPowerShellScript`.

  Pour supprimer un accès administrateur, dans la zone **Command parameters (Paramètres de la commande)**, collez la commande suivante dans la zone **Commands (Commandes)**.

  ```
  net localgroup "Administrators" "ssm-user" /delete
  ```

  -ou-

  Pour restaurer un accès administrateur, dans la zone **Command parameters (Paramètres de la commande)**, collez la commande suivante dans la zone **Commands (Commandes)**.

  ```
  net localgroup "Administrators" "ssm-user" /add
  ```

**Utilisation de la fenêtre d'invite de commande ou PowerShell pour modifier les autorisations administrateur**

1. Connectez-vous au nœud géré et ouvrez PowerShell ou la fenêtre d'invite de commande.

1. Pour supprimer un accès administrateur, exécutez la commande suivante.

   ```
   net localgroup "Administrators" "ssm-user" /delete
   ```

   -ou-

   Pour restaurer un accès administrateur, exécutez la commande suivante.

   ```
   net localgroup "Administrators" "ssm-user" /add
   ```

**Utilisation de la console Windows pour modifier les autorisations administrateur**

1. Connectez-vous au nœud géré et ouvrez PowerShell ou la fenêtre d'invite de commande.

1. À partir de la ligne de commande, exécutez `lusrmgr.msc` pour ouvrir la console **Utilisateurs et groupes locaux**.

1. Ouvrez le répertoire **Utilisateurs**, puis **ssm-user**.

1. Dans l'onglet **Membre de**, effectuez l'une des opérations suivantes :
   + Pour supprimer un accès administrateur, sélectionnez **Administrateurs**, puis **Supprimer**.

     -ou-

     Pour restaurer un accès administrateur, saisissez **Administrators** dans la zone de texte, puis sélectionnez **Add (Ajouter)**.

1. Sélectionnez **OK**.

# Étape 8 : (Facultatif) activer et contrôler les autorisations pour les connexions SSH via Session Manager
<a name="session-manager-getting-started-enable-ssh-connections"></a>

Vous pouvez autoriser les utilisateurs de votre compte Compte AWS à utiliser le AWS Command Line Interface (AWS CLI) pour établir des connexions Secure Shell (SSH) aux nœuds gérés à l'aide AWS Systems Manager Session Manager de. Les utilisateurs qui se connectent à l'aide de SSH peuvent également copier des fichiers entre leurs ordinateurs locaux et les nœuds gérés à l'aide de SCP (Secure Copy Protocol). Vous pouvez utiliser cette fonctionnalité pour vous connecter aux nœuds gérés sans avoir à ouvrir de ports entrants ou à maintenir des hôtes bastions.

 Lorsque vous établissez des connexions SSH viaSession Manager, AWS CLI et SSM Agent créez des WebSocket connexions sécurisées via TLS avec des points de terminaison. Session Manager La session SSH s'exécute dans ce tunnel crypté, fournissant une couche de sécurité supplémentaire sans nécessiter l'ouverture de ports entrants sur vos nœuds gérés.

Après avoir autorisé les connexions SSH, vous pouvez utiliser des politiques Gestion des identités et des accès AWS (IAM) pour autoriser ou refuser explicitement aux utilisateurs, aux groupes ou aux rôles d'établir des connexions SSH à l'aide de ceux-ci. Session Manager

**Note**  
La journalisation n'est pas disponible pour les sessions Session Manager qui se connectent via le réacheminement de port ou SSH. Cela est dû au fait que le protocole SSH chiffre toutes les données de session au sein de la connexion TLS sécurisée établie entre les Session Manager points de terminaison AWS CLI et et sert Session Manager uniquement de tunnel pour les connexions SSH.

**Topics**
+ [Autorisation des connexions SSH pour Session Manager](#ssh-connections-enable)
+ [Contrôle des autorisations utilisateur pour des connexions SSH en utilisant Session Manager](#ssh-connections-permissions)

## Autorisation des connexions SSH pour Session Manager
<a name="ssh-connections-enable"></a>

Suivez les étapes suivantes pour autoriser les connexions SSH via Session Manager sur un nœud géré. 

**Pour autoriser des connexions SSH pour Session Manager**

1. Sur le nœud géré vers lequel vous souhaitez activer les connexions SSH, procédez comme suit :
   + Assurez-vous que SSH s'exécute sur le nœud géré. (Vous pouvez fermer les ports entrants sur le nœud.)
   + Assurez-vous que SSM Agent 2.3.672.0 ou une version ultérieure est installé sur le nœud géré.

     Pour plus d'informations sur l'installation ou la mise à jour de SSM Agent sur un nœud géré, consultez les rubriques suivantes :
     + [Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour Windows Server](manually-install-ssm-agent-windows.md).
     +  [Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour Linux](manually-install-ssm-agent-linux.md) 
     +  [Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour macOS](manually-install-ssm-agent-macos.md) 
     +  [Comment installer le SSM Agent sur des nœuds Windows hybrides](hybrid-multicloud-ssm-agent-install-windows.md) 
     +  [Comment installer le SSM Agent sur des nœuds Linux hybrides](hybrid-multicloud-ssm-agent-install-linux.md) 
**Note**  
Pour l'utiliser Session Manager avec des serveurs locaux, des appareils de périphérie et des machines virtuelles (VMs) que vous avez activés en tant que nœuds gérés, vous devez utiliser le niveau d'instances avancées. Pour de plus amples informations, sur les instances avancées, veuillez consulter [Configuration des niveaux d'instance](fleet-manager-configure-instance-tiers.md).

1. Sur l'ordinateur local à partir duquel vous souhaitez vous connecter à un nœud géré à l'aide de SSH, procédez comme suit :
   + Assurez-vous que la version 1.1.23.0 ou une version ultérieure du plug-in Session Manager est installée.

     Pour plus d'informations sur l'installation du plug-in Session Manager, consultez [Installez le Session Manager plugin pour AWS CLI](session-manager-working-with-install-plugin.md).
   + Mettez à jour le fichier de configuration SSH pour activer l'exécution d'une commande de proxy qui démarre une session Session Manager et transfère toutes les données via la connexion.

      **Linux et macOS** 
**Astuce**  
Le fichier de configuration SSH est généralement situé dans `~/.ssh/config`.

     Ajoutez le fichier de configuration suivant sur l'ordinateur local.

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
         User ec2-user
     ```

      ** Windows ** 
**Astuce**  
Le fichier de configuration SSH est généralement situé dans `C:\Users\<username>\.ssh\config`.

     Ajoutez le fichier de configuration suivant sur l'ordinateur local.

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"
     ```
   + Vérifiez que vous disposez d'un certificat au format PEM (Privacy Enhanced Mail) ou au minimum d'une clé publique, à utiliser lors de l'établissement de connexions avec les nœuds gérés. Il doit s'agir d'une clé déjà associée au nœud géré. Les autorisations de votre fichier de clé privée doivent être configurés afin que vous soyez le ou la seul(e) à pouvoir le lire. Vous pouvez utiliser la commande suivante pour définir les autorisations de votre fichier de clé privée afin que vous soyez le ou la seul(e) à pouvoir le lire.

     ```
     chmod 400 <my-key-pair>.pem
     ```

     Par exemple, pour une instance Amazon Elastic Compute Cloud (Amazon EC2), le fichier de paire de clés que vous avez créé ou sélectionné lors de la création de l'instance. (Vous spécifiez le chemin d'accès au certificat ou à la clé dans la commande de démarrage de session. Pour plus d'informations sur le démarrage d'une session à l'aide de SSH, consultez [Démarrage d'une session (SSH)](session-manager-working-with-sessions-start.md#sessions-start-ssh).)

## Contrôle des autorisations utilisateur pour des connexions SSH en utilisant Session Manager
<a name="ssh-connections-permissions"></a>

Après avoir activé des connexions SSH sur un nœud géré en utilisant Session Manager, vous pouvez utiliser des politiques IAM pour autoriser ou empêcher des utilisateurs, des groupes ou des rôles d'établir des connexions SSH en utilisant Session Manager. 

**Pour utiliser une politique IAM afin d'autoriser des connexions SSH en utilisant Session Manager**
+ Utilisez l’une des options suivantes :
  + **Option 1** : ouvrez la console IAM à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse. 

    Dans le panneau de navigation, sélectionnez **Policies (Politiques)**, puis mettez à jour la politique d'autorisations permettant à l'utilisateur ou au rôle de votre choix de démarrer les connexions SSH via Session Manager. 

    Par exemple, ajoutez l'élément suivant à la politique Quickstart que vous avez créée dans [Démarrage rapide - Politiques d'utilisateur final pour Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user). Remplacez chaque *example resource placeholder* par vos propres informations. 

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ssm:StartSession",
                "Resource": [
                    "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
                    "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
                ]
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Option 2** : associez une politique en ligne à une politique utilisateur à l'aide de l'API AWS Management Console AWS CLI, de ou de l' AWS API.

    À l'aide de la méthode de votre choix, associez la déclaration de politique de l'**option 1** à la politique d'un AWS utilisateur, d'un groupe ou d'un rôle.

    Pour de plus amples informations, veuillez consulter [Ajout et suppression d'autorisations basées sur l'identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l'utilisateur IAM*.

**Pour utiliser une politique IAM afin de refuser des connexions SSH en utilisant Session Manager**
+ Utilisez l’une des options suivantes :
  + **Option 1** : ouvrez la console IAM à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse. Dans le panneau de navigation, sélectionnez **Policies (Politiques)**, puis mettez à jour la politique d'autorisations pour l'utilisateur ou le rôle afin de bloquer le démarrage des sessions Session Manager. 

    Par exemple, ajoutez l'élément suivant à la politique Quickstart que vous avez créée dans [Démarrage rapide - Politiques d'utilisateur final pour Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Deny",
                "Action": "ssm:StartSession",
                "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Option 2** : associez une politique en ligne à une politique utilisateur à l'aide de l'API AWS Management Console AWS CLI, de ou de l' AWS API.

    À l'aide de la méthode de votre choix, associez la déclaration de politique de l'**option 1** à la politique d'un AWS utilisateur, d'un groupe ou d'un rôle.

    Pour de plus amples informations, veuillez consulter [Ajout et suppression d'autorisations basées sur l'identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l'utilisateur IAM*.