AWS Systems Manager Fleet ManagerのツールはReadOnlyAccess権限では使用できない

はじめに

AWS Systems Manager Fleet Managerのツールは、マネジメントコンソールからEC2インスタンスのファイルシステム、パフォーマンスカウンター、プロセス、ユーザーとグループを確認することができる機能です。
ReadOnlyAccess権限のみをもつIAMユーザーでパフォーマンスカウンターを確認したところ、データを取得できませんでした。

ユーザーガイドを確認する

確認したドキュメントはこちらです。
Fleet Manager 読み取り専用アクセスのサンプルポリシーとReadOnlyAccessポリシーを比較したところ、ReadOnlyAccessポリシーには含まれていない4つのアクションが含まれていました。

ssm:SendCommand
ssm:StartSession
ssm:TerminateSession
kms:GenerateDataKey

ReadOnlyAccessに加えてこれらの書き込み権限を付与すると、Session ManagerやRun Commandの機能も利用可能になることに注意が必要です(サンプルポリシーのみの場合は読み取り権限不足となります)。

ユーザーガイドでは「読み取り専用アクセス」として案内されていますが、セッションをつないだりコマンドを送ったりしたいようです。
権限を付け外しして簡単に動作確認したところ、それぞれ以下の機能を使用しているようでした。

  • Session Manager(ssm:StartSession、ssm:TerminateSession、kms:GenerateDataKey)
    • パフォーマンスカウンター
    • プロセス
  • Run Command(ssm:SendCommand)
    • ファイルシステム
    • ユーザーとグループ

SSM Agentのログを確認する

SSM Agentのログをみながら、十分な権限のあるIAMユーザーを使ってFleet Managerのパフォーマンスカウンターを開いてみました。
パフォーマンスカウンターの画面を開いたタイミングでセッションを張っていることが確認できました。

おわりに

Fleet Managerパフォーマンスカウンターはインスタンスの使用状況を表示する機能なので、読み取り権限のみで問題ないと考えていました。しかし実際には表示するときにセッションをつないでいるということがわかりました。マネジメントコンソールの裏側の仕組みを理解することの大切さを改めて感じました。

参考リンク

投稿者プロフィール

n_sato