Tous les produits
Search
Centre de documentation

Elastic Compute Service:Connect to an instance by using Session Manager

Dernière mise à jour :Sep 24, 2026

Session Manager est un outil gratuit fourni par Alibaba Cloud pour vous permettre de vous connecter aux instances Elastic Compute Service (ECS). S'appuyant sur des technologies telles que Cloud Assistant et WebSocket, Session Manager permet de se connecter aux instances sans mot de passe ni serveur de rebond (jump server), et ce, sans connexion Internet. Cette rubrique décrit les scénarios d'utilisation et les notes d'utilisation de Session Manager.

Qu'est-ce que Session Manager ?

Important

Session Manager est gratuit. Pour stocker les journaux des opérations de Session Manager, activez la fonctionnalité Session Operation Record Delivery. Pour plus d'informations, consultez Distribuer les enregistrements de session.

Session Manager offre les fonctionnalités suivantes :

  • Connexion sans mot de passe : Aucune saisie de mot de passe n'est requise lors de la connexion à une instance.

  • Connexion aux instances sans accès Internet : Session Manager vous permet de vous connecter aux instances sans connexion Internet ni configuration de serveur de rebond.

    Lorsque vous utilisez Session Manager pour vous connecter à une instance, le serveur Session Manager d'Alibaba Cloud envoie les commandes associées à l'instance ECS.
  • Prise en charge de plusieurs types de clients :

Description de l'utilisateur de connexion

Par défaut, Session Manager vous connecte à une instance Linux en tant qu'utilisateur ecs-assist-user et à une instance Windows en tant qu'utilisateur system.

  • ecs-assist-user : utilisateur standard sous Linux. Cet utilisateur ne dispose pas d'autorisations au niveau du système et ne peut effectuer que des opérations autorisées. Exécutez des commandes sudo pour accorder des autorisations root temporaires à l'utilisateur ecs-assist-user.

  • system : compte système local sous Windows disposant des autorisations système les plus élevées.

Limites et prérequis

  • L'instance à laquelle vous souhaitez vous connecter doit être dans l'état Running.

  • Cloud Assistant Agent est installé sur l'instance. Session Manager s'appuie sur Cloud Assistant Agent.

    Cloud Assistant Agent est préinstallé sur les instances ECS créées à partir d'images publiques Alibaba Cloud le 1er décembre 2017 ou après cette date. Pour les instances ECS créées avant le 1er décembre 2017, installez manuellement Cloud Assistant Agent. Pour plus d'informations, consultez Installer l'agent Cloud Assistant .
  • La connectivité réseau est disponible. Assurez-vous que l'instance est connectée au serveur Cloud Assistant. Cela permet à Cloud Assistant Agent de communiquer avec le serveur Cloud Assistant via WebSocket. Pour plus d'informations, consultez la section Paramètres du groupe de sécurité de cette rubrique.

  • Jusqu'à 1 000 sessions peuvent être créées et rester disponibles par région. Chaque instance ECS peut avoir jusqu'à 20 sessions à l'état connecté. La bande passante est limitée à 200 kbit/s pour chaque session.

Autres fonctionnalités et scénarios

  • Accéder aux services sans connexion Internet à l'aide de la fonctionnalité de redirection de port

    Utilisez la fonctionnalité de redirection de port de Session Manager Client pour mapper un port de service d'une instance ECS sur un port de votre machine locale. Envoyez ensuite des requêtes vers le port local pour accéder aux services sur l'instance ECS. Par exemple, vous pouvez accéder à un service backend web déployé sur un réseau interne ou vous connecter à une instance sur un réseau interne via SSH. Session Manager établit des connexions WebSocket sur TCP. Par conséquent, la fonctionnalité de redirection de port prend uniquement en charge la redirection de port TCP et non la redirection de port UDP. Pour plus d'informations, consultez Se connecter à l'aide de la redirection de port sans adresse IP publique.

  • Ajouter une clé publique SSH temporaire à une instance

    Lorsque vous utilisez SSH pour vous connecter à une instance, Session Manager permet d'ajouter une clé publique temporaire valide pendant 60 secondes à l'instance. Connectez-vous ensuite à l'instance à l'aide de la paire de clés contenant la clé publique temporaire et une clé privée. Pour plus d'informations, consultez Utiliser l'interface CLI de Session Manager pour enregistrer une clé publique temporaire pour une connexion sans mot de passe à une instance.

  • Utiliser la fonctionnalité de distribution des enregistrements de session

    Pour établir des sessions avec plusieurs utilisateurs, utilisez la fonctionnalité de distribution des enregistrements de session afin d'afficher les journaux des opérations d'un utilisateur spécifique et d'effectuer ultérieurement un audit. Pour savoir comment activer la fonctionnalité de distribution des enregistrements de session, consultez Distribuer les enregistrements de session.

Fonctionnement de Session Manager

Comme illustré dans la figure suivante, lorsque vous vous connectez à une instance ECS à l'aide de Session Manager, Session Manager Client et l'instance ECS établissent des connexions WebSocket avec le serveur Cloud Assistant. Une fois les connexions établies, le serveur Cloud Assistant transfère chaque commande saisie vers l'instance, où Cloud Assistant Agent l'exécute.

image

Modules impliqués dans la figure

  • Client Cloud Assistant : l'outil client que vous utilisez, tel que Session Manager dans la console ECS, ali-instance-cli sur votre machine locale ou Cloud Assistant Agent.

  • Serveur Cloud Assistant : Session Manager s'appuie sur Cloud Assistant pour gérer les autorisations et l'état de la session.

  • Cloud Assistant Agent installé sur une instance : exécute les commandes que vous saisissez.

Description de la connexion

  • Lorsque Session Manager Client établit une connexion WebSocket avec le serveur Cloud Assistant (étapes 2 à 4), le serveur Cloud Assistant authentifie Session Manager Client pour déterminer si vous disposez des autorisations nécessaires pour vous connecter à l'instance à l'aide de Session Manager. Pour plus d'informations sur les autorisations pertinentes, consultez la section Gestion des autorisations de cette rubrique.

  • Lorsque Cloud Assistant Agent dans ECS établit une connexion WebSocket avec le serveur Cloud Assistant (étapes 5 et 6), le serveur Cloud Assistant notifie Cloud Assistant Agent d'établir une connexion. Ensuite, Cloud Assistant Agent établit activement une connexion avec le serveur Cloud Assistant.

    Notez que le port WebSocket sortant doit être ouvert pour que l'instance ECS puisse accéder au serveur Cloud Assistant. Le processus de connexion est indépendant des règles entrantes du groupe de sécurité auquel appartient l'instance ECS. Pour plus d'informations, consultez la section Paramètres du groupe de sécurité de cette rubrique.

Sécurité

  • Chiffrement : Le protocole Web Socket Secure (WSS) établit des connexions WebSocket persistantes entre Session Manager Client et le serveur Cloud Assistant, ainsi qu'entre le serveur Cloud Assistant et Cloud Assistant Agent. Pour améliorer la sécurité des données, le protocole WSS chiffre les connexions WebSocket persistantes à l'aide du protocole Secure Socket Layer (SSL).

  • Authentification : Lorsque vous utilisez Session Manager pour vous connecter aux instances, vous n'avez pas besoin de gérer les mots de passe des instances, ce qui élimine les risques de fuite de mot de passe. Contrairement à SSH et Virtual Network Computing (VNC) qui utilisent une authentification basée sur un nom d'utilisateur et un mot de passe, Session Manager utilise une authentification basée sur Resource Access Management (RAM). Pour plus d'informations sur les autorisations pertinentes, consultez la section Gestion des autorisations de cette rubrique.

  • Réseau : Une fois qu'une connexion WebSocket est établie entre Cloud Assistant Agent installé sur une instance et le serveur Cloud Assistant, vous pouvez utiliser Session Manager au lieu de SSH ou VNC pour vous connecter à l'instance, sans avoir besoin d'ouvrir des ports pour le trafic entrant sur l'instance. Cela améliore la sécurité de l'instance.

Processus de connexion

  • Se connecter à une instance à l'aide de Session Manager dans la console ECS (dans un navigateur).

    Connectez-vous à Alibaba Cloud Management Console dans un navigateur et utilisez Session Manager pour vous connecter à l'instance. Pour plus d'informations, consultez Se connecter dans la console ECS. La figure suivante illustre le processus.

    image
  • Se connecter à une instance à l'aide de Session Manager sur votre ordinateur local (sur l'interface CLI locale).

    Installez ali-instance-cli sur votre ordinateur local et utilisez l'interface CLI locale pour vous connecter à l'instance à l'aide de Session Manager.

    Pour plus d'informations, consultez Se connecter à l'aide de l'interface CLI de Session Manager. La figure suivante illustre le processus.

    image

Gestion des autorisations

Pour utiliser un utilisateur RAM afin de vous connecter à une instance à l'aide de Session Manager, vous devez disposer des autorisations requises. Le tableau suivant décrit les autorisations nécessaires.

La colonne Action correspond à l'action dans une politique RAM.

Action

Description

ecs:StartTerminalSession

(Requis) Se connecter à une instance ECS à l'aide de Session Manager.

ecs:DescribeCloudAssistantStatus

Vérifier si Cloud Assistant Agent est installé sur une instance ECS. Le système vérifie cette autorisation avant que vous ne vous connectiez à une instance dans la console ECS.

ecs:DescribeUserBusinessBehavior

Vérifier si Session Manager est activé. Le système vérifie cette autorisation avant que vous ne vous connectiez à une instance dans la console ECS.

ecs:ModifyCloudAssistantSettings

Activer ou désactiver Session Manager. Si Session Manager est activé pour le compte Alibaba Cloud actuel, vous n'avez pas besoin d'accorder cette autorisation.

Exemples de politiques d'autorisation

Exemple 1 : Utiliser Session Manager dans la console ECS

Si un utilisateur RAM souhaite utiliser Session Manager pour se connecter à une instance dans la console ECS, accordez-lui les autorisations suivantes selon le principe du moindre privilège :

  • ecs:StartTerminalSession : Autorisation permettant de se connecter à une instance à l'aide de Session Manager. Configurez le paramètre Resource pour spécifier les instances ECS auxquelles un utilisateur RAM peut se connecter à l'aide de Session Manager.

  • ecs:DescribeCloudAssistantStatus : Autorisation permettant de vérifier si Cloud Assistant Agent doit être installé sur une instance ECS. Le système vérifie cette autorisation avant que vous ne vous connectiez à une instance dans la console ECS.

  • ecs:DescribeUserBusinessBehavior : Autorisation permettant de vérifier si Session Manager est activé. Le système vérifie cette autorisation avant que vous ne vous connectiez à une instance dans la console ECS.

  • (Facultatif) ecs:ModifyCloudAssistantSettings : Autorisation permettant d'activer ou de désactiver Session Manager. Si Session Manager est activé pour le compte Alibaba Cloud actuel, vous n'avez pas besoin d'accorder cette autorisation.

Exemple de politique personnalisée :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:StartTerminalSession",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeUserBusinessBehavior",
        "ecs:DescribeCloudAssistantStatus",
        "ecs:ModifyCloudAssistantSettings"
      ],
      "Resource": "*"
    }
  ]
}

Pour savoir comment accorder des autorisations à un utilisateur RAM, consultez Gérer les autorisations des utilisateurs RAM.

Exemple 2 : Se connecter à une instance à l'aide de ali-instance-cli

Lorsque vous utilisez ali-instance-cli, spécifiez la paire AccessKey et le jeton Security Token Service (STS) de l'utilisateur RAM. Lorsque vous vous connectez à une instance à l'aide de Session Manager, le système vérifie si l'utilisateur RAM disposant des identifiants possède également l'autorisation ecs:StartTerminalSession.

Lorsque vous configurez une politique personnalisée, configurez le paramètre Resource pour spécifier les instances ECS auxquelles un utilisateur RAM peut se connecter à l'aide de Session Manager. Exemple de politique :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:StartTerminalSession",
      "Resource": "*"
    }
  ]
}

Pour plus d'informations sur les paramètres CredentialsURI et STS Token, consultez Créer une paire AccessKey et Présentation de STS

Pour savoir comment accorder des autorisations à un utilisateur RAM, consultez Gérer les autorisations des utilisateurs RAM.

Exemple 3 : Créer une politique RAM pour accorder à des utilisateurs spécifiques les autorisations d'utiliser Session Manager

  • Accordez aux utilisateurs RAM nommés testUser1 et testUser2 les autorisations d'utiliser Session Manager.

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ecs:StartTerminalSession"
          ],
          "Resource": [
            "acs:ecs:*:*:instance/*"
          ],
          "Condition": {
            "StringEquals": {
              "ecs:SessionStartAs": [
                "testUser1",
                "testUser2"
              ]
            }
          }
        }
          ],
      "Version": "1"
    }
  • Révoquez les autorisations d'utiliser Session Manager pour les utilisateurs RAM nommés testUser1 et testUser2.

    {
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ecs:StartTerminalSession"
          ],
          "Resource": [
            "acs:ecs:*:*:instance/*"
          ],
          "Condition": {
            "StringNotEqualsIgnoreCase": {
              "ecs:SessionStartAs": [
                "testUser1",
                "testUser2"
              ]
            }
          }
        }
          ],
      "Version": "1"
    }

    Pour savoir comment accorder des autorisations à un utilisateur RAM, consultez Gérer les autorisations des utilisateurs RAM.

Paramètres du groupe de sécurité

Lorsque vous utilisez Session Manager pour vous connecter à une instance ECS, assurez-vous que Cloud Assistant Agent s'exécutant sur l'instance ECS est connecté au serveur Cloud Assistant en ajoutant les règles suivantes à un groupe de sécurité sortant :

Contrairement aux méthodes de connexion telles que SSH et Remote Desktop Protocol (RDP), Cloud Assistant Agent établit activement une connexion WebSocket avec le serveur Session Manager. Ouvrez uniquement le port WebSocket sortant du serveur Cloud Assistant dans une règle de sécurité. Pour plus d'informations sur le fonctionnement de Session Manager, consultez la section Fonctionnement de Session Manager de cette rubrique.
Important
  • Si vous utilisez des groupes de sécurité de base, y compris le groupe de sécurité par défaut, tout le trafic sortant est autorisé. Aucune configuration supplémentaire n'est requise.

  • Si vous utilisez un groupe de sécurité avancé, tout le trafic sortant est refusé. Configurez les règles pertinentes. Le tableau suivant décrit les règles. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité de base et avancés.

Pour savoir comment ajouter des règles à un groupe de sécurité, consultez Ajouter une règle de groupe de sécurité.

Action

Priorité

Type de protocole

Plage de ports

Objet d'autorisation

Description

Allow

1

Custom TCP

443

100.100.0.0/16

Ce port est utilisé pour accéder au serveur Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Ce port est utilisé pour accéder au serveur sur lequel le package d'installation de Cloud Assistant Agent est stocké lorsque vous souhaitez installer ou mettre à jour Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Ce port est utilisé pour résoudre les noms de domaine.

Si vous souhaitez vous connecter à une instance uniquement à l'aide de Session Manager, supprimez les règles entrantes qui autorisent le port SSH (par défaut 22) et le port RDP (par défaut 3389) d'un groupe de sécurité afin d'améliorer la sécurité de l'instance ECS.

Intégrer la fonctionnalité Session Manager dans vos applications pour la connexion aux instances

Pour obtenir le code complet utilisé pour se connecter à une instance ECS ou à une instance gérée à l'aide de Session Manager, consultez cloud-assistant-starter. Le fichier AxtSession.tsx de ce projet contient l'exemple de code pour appeler l'opération StartTerminalSession afin d'obtenir WebSocketURL et d'établir une connexion. Après avoir porté le code dans votre application d'entreprise, vous pouvez utiliser Session Manager pour vous connecter aux instances.