Session Manager 設定の更新 (コマンドライン) - AWS Systems Manager

Session Manager 設定の更新 (コマンドライン)

以下の手順では、好みのコマンドラインツールを使用して、選択した AWS リージョン で AWS アカウント の AWS Systems Manager Session Manager 設定を変更する方法を説明します。Session Manager の設定を用いて、Amazon Simple Storage Service (Amazon S3) バケットまたは Amazon CloudWatch Logs ロググループにセッションデータを記録するためのオプションを指定します。Session Manager 設定を使用して、セッションデータを暗号化することもできます。

Session Manager 設定を更新するには (コマンドライン)
  1. SessionManagerRunShell.json などの名前でローカルマシンに 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": false, "kmsKeyId": "", "runAsEnabled": true, "runAsDefaultUser": "", "idleSessionTimeout": "", "maxSessionDuration": "", "shellProfile": { "windows": "date", "linux": "pwd;ls" } } }
  2. セッションデータを送信する場所を指定します。(オプションでプレフィックスが付いた) S3 バケット名または CloudWatch Logs ロググループ名を指定することができます。ローカルクライアントとマネージドノード間でデータをさらに暗号化する場合、暗号化に使用する AWS KMS key キーを指定します。次に例を示します。

    { "schemaVersion": "1.0", "description": "Document to hold regional settings for Session Manager", "sessionType": "Standard_Stream", "inputs": { "s3BucketName": "amzn-s3-demo-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" } } }
    注記

    セッションログデータを暗号化しない場合は、s3EncryptionEnabled の「true」を「false」に変更します。

    Amazon S3 バケットまたは CloudWatch Logs ロググループにログを送信しない場合、アクティブなセッションデータを暗号化しない場合、またはアカウントのセッションの Run As サポートを有効にしない場合は、それらのオプション用に次の行を削除できます。「inputs」セクションの最後の行がカンマで終わっていないことを確認してください。

    セッションデータを暗号化するために KMS キー ID を追加する場合、セッションを開始するユーザーとそのユーザーが接続するマネージドノードの両方が、キーを使用する許可が必要になります。AWS Identity and Access Management (IAM) ポリシーを使用して、Session Manager で KMS キーを使用するアクセス許可を付与します。詳細については、以下のトピックを参照してください。

  3. ファイルを保存します。

  4. JSON ファイルを作成したディレクトリで、次のコマンドを実行します。

    Linux & macOS
    aws ssm update-document \ --name "SSM-SessionManagerRunShell" \ --content "file://SessionManagerRunShell.json" \ --document-version "\$LATEST"
    Windows
    aws ssm update-document ^ --name "SSM-SessionManagerRunShell" ^ --content "file://SessionManagerRunShell.json" ^ --document-version "$LATEST"
    PowerShell
    Update-SSMDocument ` -Name "SSM-SessionManagerRunShell" ` -Content (Get-Content -Raw SessionManagerRunShell.json) ` -DocumentVersion '$LATEST'

    成功すると、コマンドは以下のような出力を返します。

    {
        "DocumentDescription": {
            "Status": "Updating",
            "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
            "Name": "SSM-SessionManagerRunShell",
            "Tags": [],
            "DocumentType": "Session",
            "PlatformTypes": [
                "Windows",
                "Linux"
            ],
            "DocumentVersion": "2",
            "HashType": "Sha256",
            "CreatedDate": 1537206341.565,
            "Owner": "111122223333",
            "SchemaVersion": "1.0",
            "DefaultVersion": "1",
            "DocumentFormat": "JSON",
            "LatestVersion": "2"
        }
    }