Esquema do documento de sessão - AWS Systems Manager

Esquema do documento de sessão

As informações a seguir descrevem os elementos do esquema de um documento de sessão. O Session Manager do AWS Systems Manager usa documentos de sessão para determinar qual tipo de sessão iniciar, como uma sessão padrão, uma sessão de encaminhamento de portas ou uma sessão para executar um comando interativo.

schemaVersion

A versão do esquema do documento de sessão. Documentos de sessão são compatíveis apenas com a versão 1.0.

Tipo: sequência

Obrigatório: Sim

description

Uma descrição que você especifica para o documento da Session (Seção). Por exemplo, “Documento para iniciar sessão de encaminhamento de porta com o Session Manager“.

Tipo: sequência

Obrigatório: Não

sessionType

O tipo de sessão que o documento de sessão é usado para estabelecer.

Tipo: sequência

Obrigatório: Sim

Valores válidos: InteractiveCommands | NonInteractiveCommands | Port | Standard_Stream

inputs

As preferências de sessão a serem usadas para sessões estabelecidas usando este documento de sessão. Este elemento é necessário para documentos de sessão que são usados para criar sessões Standard_Stream.

Tipo: StringMap

Obrigatório: Não

s3BucketName

O bucket do Amazon Simple Storage Service (Amazon S3) para o qual você deseja enviar logs de sessão no final das sessões.

Tipo: sequência

Obrigatório: Não

s3KeyPrefix

O prefixo a ser usado ao enviar logs para o bucket do Amazon S3 que você especificou na entrada s3BucketName. Para obter mais informações sobre como usar um prefixo compartilhado com objetos armazenados no Amazon S3, consulte Como usar pastas em um bucket do S3? no Guia do usuário do Amazon Simple Storage Service.

Tipo: sequência

Obrigatório: Não

s3EncryptionEnabled

Se definido como true, o bucket do Amazon S3 que você especificou na entrada s3BucketName deve ser criptografado.

Tipo: booliano

Obrigatório: Sim

cloudWatchLogGroupName

O nome do grupo de Amazon CloudWatch Logs (CloudWatch Logs) para o qual você deseja enviar logs de sessão no final das sessões.

Tipo: sequência

Obrigatório: Não

cloudWatchEncryptionEnabled

Se definido como true, o grupo de logs que você especificou na entrada cloudWatchLogGroupName deve ser criptografado.

Tipo: booliano

Obrigatório: Sim

cloudWatchStreamingEnabled

Se definido como true, uma transmissão contínua de logs de dados de sessão será enviada ao grupo de logs que você especificou na entrada cloudWatchLogGroupName. Se definido como false, os logs da sessão serão enviados ao grupo de logs que você especificou na entrada cloudWatchLogGroupName no final de suas sessões.

Tipo: booliano

Obrigatório: Sim

kmsKeyId

O ID da AWS KMS key que você quer usar para reforçar a criptografia de dados entre suas máquinas cliente locais e os nós gerenciados do Amazon Elastic Compute Cloud (Amazon EC2) aos quais você se conecta.

Tipo: sequência

Obrigatório: Não

runAsEnabled

Se definido como true, você deverá especificar uma conta de usuário existente em nós gerenciados aos quais você se conectará na entrada runAsDefaultUser. Caso contrário, as sessões não serão iniciadas. Por padrão, as sessões são iniciadas usando a conta do ssm-user criada pelo AWS Systems Manager SSM Agent. O atributo Executar como é compatível apenas com nós gerenciados do Linux.

Tipo: booliano

Obrigatório: Sim

runAsDefaultUser

O nome da conta de usuário com a qual iniciar sessões em nós gerenciados do Linux quando a entrada runAsEnabled estiver definida como true. A conta de usuário especificada para essa entrada deve existir em nós gerenciados aos quais você se conectará. Caso contrário, as sessões não serão iniciadas.

Tipo: sequência

Obrigatório: Não

idleSessionTimeout

A quantidade de tempo de inatividade que você deseja permitir antes do término de uma sessão. Essa entrada é medida em minutos.

Tipo: sequência

Valores válidos: 1 a 60

Obrigatório: Não

maxSessionDuration

O tempo máximo que você deseja permitir antes do término de uma sessão. Essa entrada é medida em minutos.

Tipo: sequência

Valores válidos: 1 a 1440

Obrigatório: Não

shellProfile

As preferências especificadas por sistema operacional para aplicar dentro das sessões, como preferências de shell, variáveis de ambiente, diretórios de trabalho e execução de vários comandos quando uma sessão é iniciada.

Tipo: StringMap

Obrigatório: Não

windows

As preferências do shell, variáveis de ambiente, diretórios de trabalho e comandos especificados para sessões em nós gerenciados do Windows.

Tipo: sequência

Obrigatório: Não

linux

As preferências do shell, variáveis de ambiente, diretórios de trabalho e comandos especificados para sessões em nós gerenciados do Linux.

Tipo: sequência

Obrigatório: Não

parameters

Um objeto que define os parâmetros que o documento aceita. Para obter mais informações sobre como especificar os parâmetros do documento, consulte parâmetros no Elementos de dados de nível superior. Com relação aos parâmetros aos quais você se refere com frequência, recomendamos armazená-los no Parameter Store do Systems Manager para isso. Você pode fazer referência aos parâmetros String e StringList do Parameter Store nesta seção de um documento. Você pode fazer referência aos parâmetros SecureString e Parameter Store nesta seção de um documento. Você pode fazer referência a um parâmetro do Parameter Store usando o seguinte formato:

{{ssm:parameter-name}}

Para obter mais informações sobre o Parameter Store, consulte AWS Systems Manager Parameter Store.

Tipo: StringMap

Obrigatório: Não

properties

Um objeto cujos valores que você especificar que são usados na operação da API do StartSession.

Para documentos de sessão que são usados para as sessões do InteractiveCommands, o objeto de propriedades inclui os comandos a serem executados nos sistemas operacionais especificados. Também é possível determinar se os comandos são executados como root usando a propriedade booleana runAsElevated. Para obter mais informações, consulte Restringir acesso a comandos em uma sessão.

Para documentos de sessão que são usados para sessões do Port, o objeto de propriedades contém o número da porta para a qual o tráfego deve ser redirecionado. Para ver um exemplo, consulte o exemplo de documento de sessão posteriormente Port neste tópico.

Tipo: StringMap

Obrigatório: Não

Standard_Stream Digite exemplo de documento de sessão

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

InteractiveCommands Digite exemplo de documento de sessão

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 } } }

Port Digite exemplo de documento de sessão

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

Exemplo de documento de sessão com caracteres especiais

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 } } }