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 5 (facultative) : Restriction de l'accès aux commandes dans une session
Vous pouvez restreindre les commandes qu'un utilisateur peut exécuter dans un AWS Systems Manager Session Manager session en utilisant un document Session
de 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 AWS Identity and Access Management
(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.
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).
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)
Pour restreindre les commandes qu'un utilisateur peut exécuter dans un Session Manager session (console)
Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/
. -
Dans le panneau de navigation, cliquez sur Documents.
-
Sélectionnez Create command or session (Créer une commande ou une session).
-
Pour Name (Nom), saisissez un nom évocateur pour le document.
-
Pour Document type (Type de document), sélectionnez Session document (Document de session).
-
Entrez le contenu de votre document qui définit la commande qu'un utilisateur peut exécuter dans un Session Manager session utilisant JSON ou YAML, comme indiqué dans l'exemple suivant.
-
Sélectionnez Créer un document.
Restreindre l'accès aux commandes dans une session (ligne de commande)
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 et Installation d' Outils AWS pour PowerShell.
Pour restreindre les commandes qu'un utilisateur peut exécuter dans un Session Manager session (ligne de commande)
-
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 un Session Manager session, comme indiqué dans l'exemple suivant.
-
Exécutez les commandes suivantes pour créer un document SSM à l'aide de votre contenu qui définit la commande qu'un utilisateur peut exécuter dans un Session Manager séance.
Les paramètres de commande interactifs et le AWS CLI
Plusieurs façons permettent de définir des paramètres de commande interactifs lors de l'utilisation de la AWS CLI. Selon le 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.
Paramètres enregistrés dans Parameter Store peut être référencé dans AWS CLI les paramètres de votre commande, comme indiqué dans l'exemple suivant.
L'exemple suivant montre l'utilisation d'une syntaxe abrégée avec la AWS CLI pour transmettre des paramètres.
Vous pouvez également fournir des paramètres en JSON, comme illustré dans l'exemple suivant.
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 dans le Guide de l'utilisateur AWS Command Line Interface .
{ "command": [ "
my command
" ] }
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 dans le Guide de l'AWS Command Line Interface utilisateur.
{ "Target": "
instance-id
", "DocumentName": "MyInteractiveCommandDocument
", "Parameters": { "command": [ "my command
" ] } }
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.
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 dans le Guide de l'utilisateur AWS Command Line Interface .
Exemples de politique IAM pour les commandes interactives
Vous pouvez créer des politiques IAM permettant aux utilisateurs d'accéder uniquement aux documents Session
que vous définissez. Cela limite les commandes qu'un utilisateur peut exécuter dans un Session Manager session pour uniquement les commandes définies dans vos documents SSM Session
de type personnalisé.
- 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:
region
:987654321098
:instance/i-02573cafcfEXAMPLE
", "arn:aws:ssm:region
:987654321098
:document/exampleAllowedSessionDocument
" ] } ] } - 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-west-2
:987654321098
:instance/*", "arn:aws:ssm:us-west-2
:987654321098
:document/exampleAllowedSessionDocument
" ] } ] } - 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-west-2
:987654321098
:instance/*", "arn:aws:ssm:us-west-2
:987654321098
:document/exampleAllowedSessionDocument
", "arn:aws:ssm:us-west-2
:987654321098
:document/exampleAllowedSessionDocument2
" ] } ] }