16
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Systems Manager セッションマネージャーを使ってEC2鍵とAWS ACCESS KEY管理から開放されよう

Last updated at Posted at 2018-10-04

EC2鍵やAWS_ACCESS_KEYの管理から開放されたいと思ったことはないですか?
僕は毎日思っています。セッションマネージャを使えば、鍵管理不要でセキュアなサーバが作れます。

セッションマネージャとは?

  • AWSが2018/9に発表した、EC2を操作できる対話型シェル

セッションマネージャはなにが嬉しいのか?

  • SSHがなくてもサーバ作業が可能になる
    • EC2鍵管理をなくし、およびSSHポート開放も不要になる
  • AWS ACCESS KEYの管理を減らせる可能性がある
    • ローカルPCにAWS ACCESS KEYを置いてAWS作業を行っている場合、AWS ACCESS KEY自体を不要にできる。
    • 例えば、EC2にIAMロールを付与すれば、AWS ACCESS KEYがなくてもIAMロール権限でAWS CLIやSDKを実行できるが、セッションマネージャからEC2にログインしてAWS作業を行うようにすれば、AWS ACCESS KEYの管理が不要になる
  • コマンドログがS3に格納されるので、監査の要件も満たせる

雰囲気

10月-04-2018 19-47-14.gif

セッションマネージャの使い方

  • EC2にSSMエージェントをインストールする(2.3.12以上)
    • 本来、Amaxon LinuxにはデフォルトでSSMエージェントがinstallされているが、2018/10/4時点では残念なことにinstallされているバージョンが古いので、upgradeが必要
  • AmazonEC2RoleforSSMポリシーを付与したロールを作成し、EC2に付与する
  • AWS → SystemManager → セッションマネージャ → セッションの開始
  • ログイン後、ec2-userにスイッチすればいつものサーバ作業が可能になる

セキュア風サーバの作り方

  • 新規のEC2キーペアを作成する
  • 新規のEC2キーペアを用いてEC2を起動する
  • お好きなIAMロールを付与する
  • UserData等でSSMエージェントをupgradeする。(現状のAmazonLinux2だとSSMエージェントバージョンが古いので更新が必要。AMIがもっと最新になることを期待)
  • ローカルに勝手にダウンロードされるEC2キーペアを削除する
  • AWS上からもEC2キーペアを削除する
  • セッションマネージャからEC2にログインし、SSHデーモンなど不要なプロセスを落とす
  • SSHポートも当然付与しない

これでIAMロール権限に沿ったAWS作業が可能になります。

できないこと例

  • ファイルアップロードみたいなことはできない。でもgit pullできるようにすればあんまり困らない。
  • Ansible等の構成管理ツールは当てられない
    • 追記: 最近はSSM + Ansible連携等もできます
16
15
2

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
16
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?