Création d'un document de préférences Session Manager (ligne de commande) - 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.

Création d'un document de préférences Session Manager (ligne de commande)

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.

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

Pour un exemple de création de préférences de session en utilisant AWS CloudFormation, consultez le document Create a Systems Manager pour les Session Manager préférences 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":"" } }
  2. 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": "DOC-EXAMPLE-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 :

  3. Enregistrez le fichier.

  4. 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"
        }
    }