Schéma de document de session - 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.

Schéma de document de session

Les informations suivantes décrivent les éléments de schéma d'un document de session. AWS Systems Manager Session Manager utilise des documents de session pour déterminer le type de session à démarrer, par exemple, une session standard, une session de réacheminement de port ou une session d'exécution de commande interactive.

schemaVersion

Version de schéma du document de session. Les documents de session prennent uniquement en charge la version 1.0.

Type : chaîne

Obligatoire : oui

description

Description que vous spécifiez pour le document de session. Par exemple, « Document pour démarrer la session de réacheminement de port avec Session Manager ».

Type : chaîne

Obligatoire : non

sessionType

Type de session établie en utilisant le document de session.

Type : chaîne

Obligatoire : oui

Valeurs valides: InteractiveCommands | NonInteractiveCommands | Port | Standard_Stream

inputs

Préférences de session à utiliser pour les sessions établies en utilisant ce document de session. Cet élément est nécessaire pour les documents de session utilisés pour créer des sessions Standard_Stream.

Type : StringMap

Obligatoire : non

s3BucketName

Le compartiment Amazon Simple Storage Service (Amazon S3) vers lequel vous voulez envoyer des journaux de session au terme de vos sessions.

Type : chaîne

Obligatoire : non

s3KeyPrefix

Préfixe à utiliser lors de l'envoi de journaux au compartiment Amazon S3 que vous avez spécifié dans l'entrée s3BucketName. Pour de plus amples informations sur l'utilisation d'un préfixe partagé avec des objets stockés dans Amazon S3, veuillez consulter Utilisation d'un compartiment S3 dans le Guide de l'utilisateur Amazon Simple Storage.

Type : chaîne

Obligatoire : non

s3EncryptionEnabled

Si l'entrée est définie sur true, le compartiment Amazon S3 que vous avez spécifié dans l'entrée s3BucketName doit être chiffré.

Type : booléen

Obligatoire : oui

cloudWatchLogGroupName

Nom du groupe Amazon CloudWatch Logs (CloudWatch Logs) auquel vous souhaitez envoyer des journaux de session au terme de vos sessions.

Type : chaîne

Obligatoire : non

cloudWatchEncryptionEnabled

Si l'entrée est définie sur true, le groupe de journaux que vous avez spécifié dans l'entrée cloudWatchLogGroupName doit être chiffré.

Type : booléen

Obligatoire : oui

cloudWatchStreamingEnabled

Si l'entrée est définie sur true, un flux continu de journaux de données de session est envoyé au groupe de journaux que vous avez spécifié dans l'entrée cloudWatchLogGroupName. Si l'entrée est définie sur false, les journaux de session sont envoyés au groupe de journaux que vous avez spécifié dans l'entrée cloudWatchLogGroupName à la fin de vos sessions.

Type : booléen

Obligatoire : oui

kmsKeyId

ID de la AWS KMS key à utiliser pour renforcer le chiffrement des données entre vos machines client locales et les nœuds gérés Amazon Elastic Compute Cloud (Amazon EC2) auxquels vous êtes connecté.

Type : chaîne

Obligatoire : non

runAsEnabled

Si l'entrée est définie sur true, vous devez spécifier un compte utilisateur existant sur les nœuds gérés auxquels vous vous connecterez dans l'entrée runAsDefaultUser. Sinon, les sessions ne démarreront pas. Par défaut, les sessions sont démarrées en utilisant le compte ssm-user créé par l'SSM Agent AWS Systems Manager. La fonction Exécuter en tant que n'est prise en charge que pour la connexion aux nœuds gérés Linux.

Type : booléen

Obligatoire : oui

runAsDefaultUser

Nom du compte utilisateur avec lequel démarrer les sessions sur les nœuds gérés Linux lorsque l'entrée runAsEnabled est définie sur true. Le compte utilisateur que vous spécifiez pour cette entrée doit exister sur les nœuds gérés auxquels vous vous connecterez ; sinon, les sessions ne démarreront pas.

Type : chaîne

Obligatoire : non

idleSessionTimeout

Durée d'inactivité que vous voulez autoriser avant la fin d'une session. Cette entrée est mesurée en minutes.

Type : chaîne

Valeurs valides : 1-60

Obligatoire : non

maxSessionDuration

Durée maximale que vous voulez autoriser avant la fin d'une session. Cette entrée est mesurée en minutes.

Type : chaîne

Valeurs valides : 1 à 1 440

Obligatoire : non

shellProfile

Préférences que vous spécifiez par système d'exploitation, et qui sont à appliquer dans les sessions, telles que les préférences de shell, les variables d'environnement, les répertoires de travail et l'exécution de plusieurs commandes au démarrage d'une session.

Type : StringMap

Obligatoire : non

windows

Préférences de shell, variables d'environnement, répertoires de travail et commandes que vous spécifiez pour les sessions sur les nœuds gérés Windows.

Type : chaîne

Obligatoire : non

linux

Préférences de shell, variables d'environnement, répertoires de travail et commandes que vous spécifiez pour les sessions sur les nœuds gérés Linux.

Type : chaîne

Obligatoire : non

parameters

Objet qui définit les paramètres acceptés par le document. Pour plus d'informations sur la définition des paramètres de document, consultez Paramètres dans le Éléments de données niveau supérieur. Pour les paramètres que vous référencez souvent, nous vous recommandons de les stocker dans Parameter Store de Systems Manager, puis de les référencer. Vous pouvez référencer les paramètres Parameter Store String et StringList dans cette section d'un document. Vous pouvez référencer les paramètres Parameter Store SecureString dans cette section d'un document. Vous pouvez référencer un paramètre Parameter Store en utilisant le format suivant.

{{ssm:parameter-name}}

Pour plus d'informations sur Parameter Store, consultez AWS Systems Manager Parameter Store.

Type : StringMap

Obligatoire : non

properties

Objet dont les valeurs que vous spécifiez sont utilisées dans l'opération d'API StartSession.

Pour les documents de session utilisés pour des sessions InteractiveCommands, l'objet Propriétés inclut les commandes à exécuter sur les systèmes d'exploitation que vous spécifiez. Vous pouvez également déterminer si les commandes sont exécutées en tant que root à l'aide de la propriété booléenne runAsElevated. Pour de plus amples informations, consultez Restreindre l'accès aux commandes dans une session.

Pour les documents de session utilisés pour des sessions Port, l'objet Propriétés contient le numéro de port vers lequel le trafic doit être redirigé. Pour obtenir un exemple, veuillez consulter l'exemple de document de session de type Port plus loin dans cette rubrique.

Type : StringMap

Obligatoire : non

Exemple de document de session de type Standard_Stream

YAML
---
schemaVersion: '1.0'
description: Document to hold regional settings for Session Manager
sessionType: Standard_Stream
inputs:
s3BucketName: ''
s3KeyPrefix: ''
s3EncryptionEnabled: true
cloudWatchLogGroupName: ''
cloudWatchEncryptionEnabled: true
cloudWatchStreamingEnabled: true
kmsKeyId: ''
runAsEnabled: true
runAsDefaultUser: ''
idleSessionTimeout: '20'
maxSessionDuration: '60'
shellProfile:
windows: ''
linux: ''
JSON
{ "schemaVersion": "1.0", "description": "Document to hold regional settings for Session Manager", "sessionType": "Standard_Stream", "inputs": { "s3BucketName": "", "s3KeyPrefix": "", "s3EncryptionEnabled": true, "cloudWatchLogGroupName": "", "cloudWatchEncryptionEnabled": true, "cloudWatchStreamingEnabled": true, "kmsKeyId": "", "runAsEnabled": true, "runAsDefaultUser": "", "idleSessionTimeout": "20", "maxSessionDuration": "60", "shellProfile": { "windows": "date", "linux": "pwd;ls" } } }

Exemple de document de session de type InteractiveCommands

YAML
--- schemaVersion: '1.0' description: Document to view a log file on a Linux instance sessionType: InteractiveCommands
parameters: logpath: type: String description: The log file path to read. default: "/var/log/amazon/ssm/amazon-ssm-agent.log" allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
properties: linux: commands: "tail -f {{ logpath }}" runAsElevated: true
JSON
{ "schemaVersion": "1.0", "description": "Document to view a log file on a Linux instance", "sessionType": "InteractiveCommands", "parameters": { "logpath": { "type": "String", "description": "The log file path to read.", "default": "/var/log/amazon/ssm/amazon-ssm-agent.log", "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$" } }, "properties": { "linux": { "commands": "tail -f {{ logpath }}", "runAsElevated": true } } }

Exemple de document de session de type Port

YAML
--- schemaVersion: '1.0' description: Document to open given port connection over Session Manager sessionType: Port parameters: paramExample: type: string description: document parameter
properties: portNumber: anyPortNumber
JSON
{ "schemaVersion": "1.0", "description": "Document to open given port connection over Session Manager", "sessionType": "Port", "parameters": { "paramExample": { "type": "string", "description": "document parameter" } }, "properties": { "portNumber": "anyPortNumber" } }

Exemple de document de session avec caractères spéciaux

YAML
--- schemaVersion: '1.0' description: Example document with quotation marks sessionType: InteractiveCommands parameters: Test: type: String description: Test Input maxChars: 32 properties: windows: commands: | $Test = '{{ Test }}' $myVariable = \"Computer name is $env:COMPUTERNAME\" Write-Host "Test variable: $myVariable`.`nInput parameter: $Test" runAsElevated: false
JSON
{ "schemaVersion":"1.0", "description":"Test document with quotation marks", "sessionType":"InteractiveCommands", "parameters":{ "Test":{ "type":"String", "description":"Test Input", "maxChars":32 } }, "properties":{ "windows":{ "commands":[ "$Test = '{{ Test }}'", "$myVariable = \\\"Computer name is $env:COMPUTERNAME\\\"", "Write-Host \"Test variable: $myVariable`.`nInput parameter: $Test\"" ], "runAsElevated":false } } }