Criar preferências do Session Manager (linha de comando) - AWS Systems Manager

Criar preferências do Session Manager (linha de comando)

O procedimento a seguir descreve como usar sua ferramenta de linha de comando preferencial a fim de criar preferências do Session Manager para sua conta na região da AWS selecionada. Use as preferências do Session Manager para especificar opções para o registro em log de dados de sessão em um bucket do S3 ou em um grupo de logs do Amazon CloudWatch Logs. Você também pode usar preferências do Session Manager para criptografar seus dados de sessão.

Para obter informações sobre como usar ferramentas de linha de comando para atualizar preferências existentes do Session Manager, consulte Atualizar preferências do Session Manager (linha de comando).

nota

Pode utilizar este procedimento para criar documentos de sessão personalizados para o seu Session Manager preferências que substituem as definições de nível de conta. Quando criar os seus documentos de sessão personalizados, especifique um valor diferente de SSM-SessionManagerRunShell para o parâmetro de nome e modifique as entradas conforme necessário. Para utilizar os seus documentos de sessão personalizados, tem de fornecer o nome do seu documento de sessão personalizado para o --document-name quando iniciar uma sessão a partir do AWS CLI. Quando inicia uma sessão a partir da consola, não pode especificar documentos de sessão personalizados.

Como criar preferências do Session Manager (linha de comando)

  1. Crie um arquivo JSON em sua máquina local com um nome, como SessionManagerRunShell.json e, em seguida, cole o conteúdo a seguir nesse arquivo:

    { "schemaVersion": "1.0", "description": "Document to hold regional settings for Session Manager", "sessionType": "Standard_Stream", "inputs": { "s3BucketName": "", "s3KeyPrefix": "", "s3EncryptionEnabled": true, "cloudWatchLogGroupName": "", "cloudWatchEncryptionEnabled": true, "kmsKeyId": "", "runAsEnabled": false, "runAsDefaultUser": "" } }
  2. Especifique em que local você deseja enviar dados de sessão. Você pode especificar o nome de um bucket do S3 (com um prefixo opcional) ou um nome de grupo de logs do CloudWatch Logs. Se quiser criptografar ainda mais os dados entre o cliente local e instâncias do EC2, forneça a chave do AWS KMS a ser usada para criptografia. Veja um exemplo do a seguir:

    { "schemaVersion": "1.0", "description": "Document to hold regional settings for Session Manager", "sessionType": "Standard_Stream", "inputs": { "s3BucketName": "DOC-EXAMPLE-BUCKET", "s3KeyPrefix": "MyBucketPrefix", "s3EncryptionEnabled": true, "cloudWatchLogGroupName": "MyLogGroupName", "cloudWatchEncryptionEnabled": true, "kmsKeyId": "MyKMSKeyID", "runAsEnabled": true, "runAsDefaultUser": "MyDefaultRunAsUser" } }
    nota

    Se não quiser criptografar dados de log da sessão, altere "true" para "false" para s3EncryptionEnabled.

    Se não estiver enviando logs para um bucket do S3 ou para um grupo de logs do CloudWatch Logs, não desejar criptografar os dados da sessão ativa ou não quiser habilitar o suporte a Run As (Executar como) para as sessões em sua conta, você poderá excluir as linhas para essas opções. Certifique-se de que a última linha na seção "entradas" não termina com uma vírgula.

    Se você adicionar um ID de chave do AWS KMS para criptografar dados de sessão, os usuários que iniciarem sessões e as instâncias às quais eles se conectarem deverão ter permissão para usar essa chave. Você fornece permissão para usar a CMK com o Session Manager por meio de políticas do IAM. Para obter informações, consulte os tópicos a seguir:

  3. Salve o arquivo.

  4. No diretório em que você criou o arquivo JSON, execute o seguinte comando:

    Linux
    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

    Se houver êxito, o comando gerará uma saída semelhante à seguinte:

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