Étape 8 : (Facultatif) Autoriser et contrôler les autorisations pour les connexions SSH via Session Manager - AWS Systems Manager

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.

Étape 8 : (Facultatif) Autoriser et contrôler les autorisations pour les connexions SSH via Session Manager

Vous pouvez permettre aux utilisateurs de votre Compte AWS d'utiliser l'AWS Command Line Interface (AWS CLI) pour établir des connexions Secure Shell (SSH) avec les nœuds gérés à l'aide de AWS Systems Manager Session Manager. 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.

Après avoir autorisé des connexions SSH, vous pouvez utiliser des politiques AWS Identity and Access Management (IAM) pour autoriser ou empêcher explicitement des utilisateurs, des groupes ou des rôles d'établir des connexions SSH en utilisant 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 SSH chiffre toutes les données de session et que Session Manager sert uniquement de tunnel pour les connexions SSH.

Autorisation des connexions SSH pour Session Manager

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 :

  2. 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.

    • 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'"

      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).)

Contrôle des autorisations utilisateur pour des connexions SSH en utilisant Session Manager

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 à l'adresse https://console.aws.amazon.com/iam/.

      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. Remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:*:*:document/AWS-StartSSHSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } } ] }
    • Option 2 : attachez une politique en ligne à une politique utilisateur à l'aide de la AWS Management Console, de la AWS CLI ou de l'API AWS.

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

      Pour de plus amples informations, veuillez consulter Ajout et suppression d'autorisations basées sur l'identité IAM 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 à l'adresse https://console.aws.amazon.com/iam/. 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.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession" } ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }
    • Option 2 : attachez une politique en ligne à une politique utilisateur à l'aide de la AWS Management Console, de la AWS CLI ou de l'API AWS.

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

      Pour de plus amples informations, veuillez consulter Ajout et suppression d'autorisations basées sur l'identité IAM dans le Guide de l'utilisateur IAM.