AWS Systems Manager Session Manager - AWS Systems Manager

AWS Systems Manager Session Manager

Session Manager est une capacité AWS Systems Manager entièrement gérée. Avec Session Manager, vous pouvez gérer vos instances Amazon Elastic Compute Cloud (Amazon EC2), appareils de périphérie, serveurs sur site et machines virtuelles. Vous pouvez utiliser un shell interactif en un clic, basé sur un navigateur, ou l'AWS Command Line Interface (AWS CLI). Session Manager permet une gestion des nœuds sécurisée et vérifiable, sans nécessité d'ouvrir les ports entrants ni de gérer des hôtes bastion ou des clés SSH. Session Manager permet la mise en conformité avec des stratégies d'entreprise qui nécessitent un accès contrôlé aux nœuds gérés, des pratiques de sécurité strictes, ainsi que des journaux totalement vérifiables contenant des informations d'accès aux nœuds, tout en fournissant aux utilisateurs finaux un accès inter-plateforme à vos nœuds gérés d'un simple clic.

Comment mon organisation peut-elle tirer parti de Session Manager ?

Session Manager offre les avantages suivants :

  • Contrôle centralisé des accès aux nœuds gérés à l'aide de politiques IAM

    Les administrateurs disposent d'un point central pour accorder et révoquer les accès aux nœuds gérés. En utilisant uniquement les politiques AWS Identity and Access Management (IAM), vous pouvez contrôler quels utilisateurs ou groupes au sein de votre organisation peuvent utiliser Session Manager et à quelles nœuds gérés ils peuvent accéder.

  • Aucun port entrant ouvert et aucune nécessité d'ouvrir des hôtes bastion ou des clés SSH

    En laissant les ports SSH et les ports PowerShell distants ouverts sur vos nœuds gérés, vous augmentez considérablement le risque que des entités y exécutent des commandes malveillantes ou non autorisées. Session Manager vous aide à renforcer votre niveau de sécurité en vous permettant de fermer ces ports entrants, et d'éviter ainsi de gérer les clés SSH et les certificats, les hôtes bastion ainsi que les zones de reroutage.

  • Accès en un clic aux nœuds gérés depuis la console et la CLI

    À l'aide des consoles AWS Systems Manager ou Amazon EC2, vous pouvez démarrer une session d'un simple clic. A l'aide de l'AWS CLI, vous pouvez également démarrer une session qui exécute une seule commande ou une séquence de commandes. Étant donné que les autorisations d'accès aux nœuds gérés sont fournies via des politiques IAM et non des clés SSH ou autres mécanismes, le temps de connexion est considérablement réduit.

  • Réacheminement de port

    Redirigez n'importe quel port de votre nœud géré distant vers un port local sur un client. Après cela, connectez-vous au port local et accédez à l'application serveur qui s'exécute sur le nœud.

  • Prise en charge multiplateforme de Windows, Linux et macOS

    Session Manager prend en charge Windows, Linux et macOS à partir d'un simple outil. Par exemple, vous n'avez pas besoin d'utiliser un client SSH pour les nœuds gérés Linux et macOS, ni une connexion RDP pour les nœuds gérés Windows Server.

  • Activité de session de journalisation et d'audit

    Pour satisfaire aux exigences opérationnelles ou de sécurité de votre organisation, vous pouvez avoir besoin de fournir un enregistrement des différentes connexions à vos nœuds gérés et des commandes qui y ont été exécutées. Vous pouvez également recevoir des notifications lorsqu'un utilisateur de votre organisation démarre ou termine une activité de session.

    Des fonctionnalités de journalisation et d'audit sont fournies, intégrées aux services AWS suivants :

    • AWS CloudTrail – AWS CloudTrail capture des informations sur les appels d'API Session Manager effectués dans votre Compte AWS et les écrit dans des fichiers journaux stockés dans un compartiment Amazon Simple Storage Service (Amazon S3) que vous spécifiez. Un seul compartiment est utilisé pour tous les journaux CloudTrail de votre compte. Pour plus d'informations, consultez Journalisation des appels d'API AWS Systems Manager avec AWS CloudTrail.

    • Amazon Simple Storage Service : vous pouvez choisir de stocker les données des journaux de session dans le compartiment Amazon S3 de votre choix à des fins de débogage et de résolution des problèmes. Les données des journaux peuvent être envoyées à votre compartiment Amazon S3 avec ou sans chiffrement à l'aide de votre AWS KMS key. Pour plus d'informations, consultez Journalisation des données de session avec Amazon S3 (console).

    • Amazon CloudWatch Logs : CloudWatch Logs vous permet de surveiller, stocker et accéder aux fichiers journaux de différents services AWS. Vous pouvez envoyer des données de journaux de session à un groupe de journaux CloudWatch Logs à des fins de débogage et de résolution des problèmes. Les données de journaux peuvent être envoyées à votre groupe de journaux avec ou sans chiffrement AWS KMS à l'aide de votre clé KMS. Pour plus d'informations, consultez Journalisation des données de session avec Amazon CloudWatch Logs (console).

    • Amazon EventBridge et Amazon Simple Notification Service : EventBridge vous permet de configurer des règles pour détecter les modifications qui touchent les ressources AWS que vous spécifiez. Vous pouvez créer une règle pour détecter le démarrage ou l'arrêt d'une session par un utilisateur de votre organisation, puis recevoir une notification via Amazon SNS (par exemple, un SMS ou un e-mail) à propos de l'événement. Vous pouvez également configurer un événement CloudWatch pour lancer d'autres réponses. Pour plus d'informations, consultez Surveillance de l'activité de session avec Amazon EventBridge (console) .

    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.

À qui est destiné Session Manager ?

  • À tout client AWS qui souhaite améliorer son niveau de sécurité et d'audit, réduire ses coûts opérationnels en centralisant le contrôle d'accès aux nœuds gérés et réduire l'accès aux nœuds entrants.

  • Les experts en sécurité de l'information qui souhaitent surveiller et suivre l'accès aux nœuds et leur activité, fermer les ports entrants sur les nœuds gérés ou autoriser les connexions à des nœuds gérés sans adresse IP publique.

  • Les administrateurs qui veulent accorder et révoquer des accès à partir d'un point central, et fournir aux utilisateurs une solution unique pour les nœuds gérés Linux, macOS et Windows Server.

  • Les utilisateurs qui souhaitent se connecter à un nœud géré en un seul clic depuis le navigateur ou la AWS CLI, sans avoir à fournir de clés SSH.

Quelles sont les principales fonctionnalités Session Manager ?

  • Prise en charge des nœuds gérés Windows Server, Linux et macOS

    Session Manager vous permet d'établir des connexions sécurisées à vos instances Amazon Elastic Compute Cloud (EC2), appareils de périphérie, serveurs sur site et machines virtuelles. Pour obtenir une liste des types de systèmes d'exploitation pris en charge, consultez Configuration de Session Manager.

    Note

    La prise en charge de Session Manager pour les machines sur site est assurée pour le niveau d'instances avancées uniquement. Pour plus d'informations, consultez Activation du niveau d'instances avancées.

  • Accès aux fonctionnalités de Session Manager via la console, l'interface de ligne de commande et le kit SDK

    Vous pouvez utiliser les Session Manager de l'une des façons suivantes :

    La console AWS Systems Manager inclut l'accès à toutes les fonctionnalités de Session Manager pour les administrateurs et les utilisateurs finaux. Vous pouvez effectuer n'importe quelle tâche liée à vos sessions via la console Systems Manager.

    La console Amazon EC2 permet aux utilisateurs finaux de se connecter aux instances EC2 pour lesquelles des autorisations de session leur ont été accordées.

    L'AWS CLI inclut l'accès aux fonctionnalités Session Manager pour les utilisateurs finaux. Vous pouvez démarrer une session, afficher la liste des sessions et mettre fin définitivement à une session à l'aide de l'AWS CLI.

    Note

    Pour utiliser la AWS CLI afin d'exécuter des commandes sur votre session, vous devez utiliser la version 1.16.12 de la CLI (ou une version ultérieure) et vous devez avoir installé le plugin Session Manager sur votre machine locale. Pour plus d'informations, consultez (Facultatif) Installer le plugin Session Manager pour la AWS CLI.

    Le kit SDK Session Manager se compose de bibliothèques et d'exemples de code qui permettent aux développeurs d'applications de développer des applications frontales, telles que des shells personnalisés ou des portails en libre-service pour les utilisateurs en interne qui utilisent Session Manager en natif pour se connecter aux nœuds gérés. Les développeurs et les partenaires peuvent intégrer Session Manager à leurs outils côté client ou à leurs flux de travail Automation à l'aide des API Session Manager. Vous pouvez même développer des solutions personnalisées.

  • Contrôle d'accès IAM

    Les politiques IAM vous permettent de contrôler quels membres de votre organisation peuvent démarrer des sessions sur les nœuds gérés et à quels nœuds ils peuvent accéder. Vous pouvez également fournir un accès temporaire à vos nœuds gérés. Par exemple, vous pouvez accorder à un ingénieur de garde (ou à un groupe d'ingénieurs de garde) l'accès aux serveurs de production uniquement pendant la durée de leur rotation.

  • Prise en charge de la capacité de journalisation et d'audit

    Session Manager offre des fonctionnalités d'historique de session de journalisation et d'audit dans votre Compte AWS, intégrées à différents autres services AWS. Pour plus d'informations, consultez Auditer l'activité de session et Journalisation de l'activité de session.

  • Profils de shell configurables

    Session Manager vous propose des options de configuration des préférences de session. Ces profils personnalisables vous permettent de définir des préférences 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.

  • Prise en charge du chiffrement des données clés des clients

    Vous pouvez configurer Session Manager de sorte à chiffrer les journaux des données de session que vous envoyez à un compartiment Amazon Simple Storage Service (Amazon S3) ou diffusez à un groupe de journaux CloudWatch Logs. Vous pouvez également configurer Session Manager pour chiffrer davantage les données transmises entre les ordinateurs clients et vos nœuds gérés pendant vos sessions. Pour obtenir des informations, veuillez consulter Journalisation de l'activité de session et Configurer les préférences de session.

  • Prise en charge de AWS PrivateLink pour les nœuds gérés sans adresse IP publique

    Vous pouvez aussi configurer des points de terminaison VPC pour Systems Manager en utilisant un AWS PrivateLink pour renforcer la sécurité de vos sessions. AWS PrivateLink limite l'intégralité du trafic réseau entre vos nœuds gérés, Systems Manager et Amazon EC2 au réseau Amazon. Pour de plus amples informations, veuillez consulter (Facultatif) Créer un point de terminaison de cloud privé virtuel.

  • Tunnelisation

    Dans une session, utilisez un document AWS Systems Manager (SSM) de type session pour tunneliser le trafic, tel que http ou un protocole personnalisé, entre un port local sur un ordinateur client et un port distant sur un nœud géré.

  • Commandes interactives

    Créez un document SSM de type session qui utilise une session pour exécuter de manière interactive une seule commande, ce qui vous permet de gérer les opérations pouvant être effectuées par les utilisateurs sur un nœud géré.

Qu'est-ce qu'une session ?

Une session est une connexion établie à un nœud géré en utilisant Session Manager. Les sessions sont basées sur un canal de communication bidirectionnel sécurisé entre le client (vous) et l'instance gérée à un nœud géré qui diffuse les entrées et les sorties pour les commandes. Le trafic entre un client et un nœud géré est chiffré via TLS 1.2, et les demandes de création de la connexion sont signées via Sigv4. Cette communication bidirectionnelle permet un accès interactif bash et PowerShell aux nœuds gérés. Vous pouvez également utiliser une clé AWS Key Management Service (AWS KMS) pour renforcer le chiffrement des données au-delà du chiffrement TLS par défaut.

Supposons par exemple que John est un ingénieur de garde dans votre service informatique. Il reçoit la notification d'un problème qui lui exige de se connecter à distance à un nœud géré. Il peut s'agir par exemple d'une panne qui nécessite d'être réparée, ou d'une directive pour modifier une option de configuration simple sur un nœud. À l'aide de la console AWS Systems Manager, de la console Amazon EC2 ou de l'AWS CLI, John démarre une session qui le connecte au nœud géré, exécute les commandes nécessaires sur le nœud afin de réaliser la tâche, puis met fin à la session.

Lorsque John envoie la première commande pour démarrer la session, le service Session Manager authentifie son ID, vérifie les autorisations qui lui ont été accordées par une politique IAM, vérifie les paramètres de configuration (par exemple, les limites autorisées pour les sessions), et envoie un message à l'SSM Agent pour ouvrir la connexion bidirectionnelle. Une fois la connexion établie et après que John ait saisi la commande suivante, le résultat de la commande de l'SSM Agent est chargé vers ce canal de communication et renvoyé vers son ordinateur local.