目次
はじめに
こんにちは、ディーネットの山田です。
AWS Systems ManagerのFleet Managerで利用できる画面録画機能を使ってみました。
画面録画機能を利用することで、Fleet Manager経由で操作したリモートデスクトップ接続の画面が動画(mp4)として録画されて、S3バケットに保存されました。
作業内容
画面録画の結果を記録するS3バケットを作成
画面録画を記録するためのS3バケットを作成します。
バケット名は、任意のもので構いません。
S3バケットポリシーを設定
S3バケットポリシーに画面録画の内容を記録できるように「ssm-guiconnect.amazonaws.com」サービスからの書き込みアクセスを許可します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ConnectionRecording",
"Effect": "Allow",
"Principal": {
"Service": "ssm-guiconnect.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": [
"arn:aws:s3:::xxxxxxxx-fleetmanager-rdp-rec",
"arn:aws:s3:::xxxxxxxx-fleetmanager-rdp-rec/*"
],
"Condition": {
"StringEquals": {
"aws:SourceAccount": "{AWSアカウントID}"
}
}
}
]
}
KMSでキーを作成
画面録画を記録するためには、KMSでキーの作成が必要になるので、KMSのキーを作成します。
キーポリシーを設定
ブログの検証用に権限範囲などは、適切に設定しておりませんが本番利用される際は、最小権限の試行となるようにキーポリシーを調整してください。
{
"Version": "2012-10-17",
"Id": "key-policy-for-blog-demo",
"Statement": [
{
"Sid": "EnableRootAccess",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{AWSアカウントID}:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "AllowGUIConnectServiceViaS3",
"Effect": "Allow",
"Principal": {
"Service": "ssm-guiconnect.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "{AWSアカウントID}"
},
"StringLike": {
"kms:ViaService": "s3.ap-northeast-1.amazonaws.com"
}
}
}
]
}
「ジャストインタイムノードアクセス」を事前に有効化
「ジャストインタイムノードアクセス」が無効だと、リモートデスクトップ接続記録を有効化できない。
先に「ジャストインタイムノードアクセス」を有効化する。
「ジャストインタイムノードアクセス」を有効化することで、特権アクセスのようにどのユーザーにアクセスを許可するといった制御が行えますが、そういった設定は今回行いません。
「ジャストインタイムノードアクセス」を有効化した後、改めてリモートデスクトップ接続記録を有効化を実施
※ジャストインタイムノードアクセスを有効化すると、WebUIのスタイルが変わるのはよく分かっていません……
記録の動作検証
対象のEC2インスタンスにリモートデスクトップ接続してみます
少しだけいろいろと操作してみます
接続履歴に残ります
Recording statusがFinishedのステータスになれば、先ほど設定したS3バケットに録画データが保存されます。
録画データが正しく保存された
mp4ファイルなので、ローカルPC環境にダウンロードして再生することで閲覧可能
まとめ
- AWS Systems ManagerのFleet Managerで利用できる画面録画機能を利用することで、操作した内容を記録することができました。
- 万が一不正な操作が行われたときの証跡や、作業を行った際の証跡として有効活用できることがわかりました。

プロフィール
テクニカルサポートは卒業して、フロントサイドでお客様環境の構築をさせていただいております。
たまに、テクニカルサポートでご対応させていただくことがあるかもしれませんが、その際はよろしくお願いいたします。
インフラ系のエンジニアですが、時々休日プログラマー(Python、PHP)をやっております。