1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Systems Manager Run command - ssm run command

Using Run Command, a tool in AWS Systems Manager, you can remotely and securely manage the configuration of your managed nodes. A managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance or non-EC2 machine in your hybrid and multicloud environment that has been configured for Systems Manager.

(引用元 上記リンク)

次の文章はgeminiにより生成

SSM Run Command(AWS Systems Manager Run Command)とは、AWS上にある仮想サーバー(EC2インスタンス)や、オンプレミスのサーバーに対して、SSHやRDPで直接ログインすることなく、安全かつリモートからコマンドを実行できる機能です。

「何台ものサーバーに一括でパッチを当てたい」「セキュリティ上、サーバーへの直接ログインは禁止したい」といった運用上の課題を解決するために非常によく使われます。

RDPは人間がログインするので、少し用途が違うが、
SSHではなぜ良くないのだろうかを改めて整理する。

jenkins + ssh

Jenkins
↓ SSH
EC2

メリット

シンプル
多くのエンジニアが理解している
AWS 以外でも使える

デメリット 

SSH 鍵管理が必要
22 番ポートを開ける必要がある
接続元のIP管理が必要
誰がいつ何をしたか?の管理がしにくくなる

小規模環境では十分実用的ですが、大規模運用になると管理負荷が上がります。

SSM run commandだと

SSH 鍵管理が必要
22 番ポートを開ける必要がある
接続元のIP管理が必要
誰がいつ何をしたか?の管理がしにくくなる

このようなデメリットをなくせる。

次のことが必要になる。

  • SSM AgentをEC2に入れる。
  • IAM ロールの準備。
  • Systems Manager への HTTPS 通信経路

そしてさらに以下の2パターンがある。

IAM ユーザーでやる場合

[AWS外部 (オンプレなど)]
Jenkins (アクセスキーを保持)

↓ AWS API (HTTPS / ssm:SendCommand) ※インターネット経由

[AWS環境内]
SSM Run Command

EC2 / オンプレサーバー

デメリット

鍵漏洩のリスク

漏洩するとどうなるか。

ssm:SendCommand だけに権限を絞っていたとしても、
ランサムウェアを実行し、管理下のサーバーすべてに一斉にコマンドを送り、データを暗号化して身代金を要求する、とかができちゃう。

IAM ロールでやる場合(推奨)

[AWS環境内]
Jenkins (IAMロール付与)
↓ AWS API (HTTPS) ※認証情報の管理不要
SSM Run Command

EC2

デメリット

これに特有のデメリットはない。

上述の他の方法と共通するが、jenkinsそのものが乗っ取られた時に、
色々実行されてしまうというリスクは残る。

まとめ

以上を踏まえると、IAMユーザーを使っても鍵ローテなどができていればIAM ロールの場合とセキュリティリスクは大差ないように思えた(?)

以上

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?