LoginSignup
1
1

More than 1 year has passed since last update.

SSM Session Manager で ログ取得ができない時に確認すること

Last updated at Posted at 2020-07-05

はじめに

AWS Systems Manager のSession Managerを利用してLinuxの操作ログを取得しようと思います。
うまくログが取れない場合に確認するべき点をメモしておきます。

利用サービス

以下のサービスを利用します

  • AWS Systems Manager(以下SSMと表記)
    • Session Manager(以下セッションマネージャーと表記)
  • EC2(Linux)
    • Windowsは検証していませんが、セッションマネージャーから利用できるPowerShellの結果も同様になることが想定されます
  • S3
    • ログの保存先に利用します

本題

ログを保存するにはEC2側でS3にログを書き込むための権限が必要です。

EC2に割り当てる権限

EC2には以下の権限を持つIAMロールを割り当てます

  • セッションマネージャーを利用するための権限
    • AmazonSSMManagedInstanceCore(AWS 管理ポリシー)
  • 独自で作成した以下のポリシー
    • json形式で記述します(今回は put-Session-Manager-log-to-S3.json という名前を使用します)
    • <S3バケット名> の部分をログ保存先のバケットに書き換えて使用します
put-Session-Manager-log-to-S3.json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::<S3バケット名>/*",
                "arn:aws:s3:::<S3バケット名>"
            ]
        }
    ]
}

今回の内容とは異なるがAWSのドキュメントを参考にすれば解決できそうなケース

以下のケースの場合は参考のリンク先をご確認下さい。

  • 「AmazonSSMManagedInstanceCore」ではなくセッションマネージャーだけの権限に限定したい場合
  • S3を暗号化している場合
  • S3ではなくCloudWatch Logsにログを保存する場合

参考

Session Manager 用のカスタム IAM インスタンスプロファイルを作成する
Session Manager と Amazon S3 および CloudWatch Logs のアクセス許可を持つインスタンスプロファイルを作成する (上記ページ内の関連部分)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1