LoginSignup
0
0

AWS Session Manager接続でLinuxのOSユーザーを変えてみた

Last updated at Posted at 2023-11-01

概要

この記事では以下の内容について説明します。

  • EC2 Linux / Mac インスタンスで、ssm-user以外でセッションマネージャーに接続する方法
  • Session Managerの「Run As」機能について

「Run As」とは?

image.png

Session Managerを使用してLinux/MacOSサーバーに接続する場合、
デフォルトではssm-userアカウントを自動生成し、接続されます。

(ssm-userアカウントは、サーバー内にSSM-Agentをインストールする際に
自動で生成され、以下の様に/etc/sudoers.d/に追加されます)

[root@ip-172-31-34-95 sudoers.d]# ll
total 8
-r--r-----. 1 root root 128 Oct 31 23:55 90-cloud-init-users
-r--r-----. 1 root root  58 Nov  1 00:13 ssm-agent-users

[root@ip-172-31-34-95 sudoers.d]# cat ssm-agent-users
# User rules for ssm-user
ssm-user ALL=(ALL) NOPASSWD:ALL

ssm-userは強い権限を持っているので、実際の運用で利用するには
別のOSユーザーで運用させたい場合もあると思いますし、IAMユーザーごとに
利用させたいOSユーザーを分けたいという場合もあると思います。

そのような場合、「Run As」を利用することで、
サーバー上に存在するOSユーザーアカウントを使用してセッションマネージャーに接続できるようになります。

ただし、インスタンス上に存在しないOSアカウントを利用しようとすると、接続は失敗します。
また、セッションマネージャーはrootユーザーを使用して接続することはできません。

使い方

image.png

「Run As」の使用方法は一般的に以下の通り

  1. Session Managerの設定から「Run As」を有効化します。
  2. IAMユーザーまたはロールにSSMSessionRunAsタグを付けます。
  3. タグを付けたIAMユーザーでセッションを開始します。

「SSMSessionRunAs」タグが付いていないIAMユーザーは接続できないことに注意してください。

「Run As」の設定手順

image.png

ここでは、「Run As」を使用して特定のOSユーザーでセッションマネージャーに接続する方法を紹介します。

  1. Session Managerの設定でOSユーザーを指定して接続
  2. IAMユーザーにSSMSessionRunAsタグを付けて接続

スイッチロールにSSMSessionRunAsタグを付ける方法もありますが、ここでは省略します。

実装手順

  1. AWS Systems ManagerのSession Manager画面から「Edit」を選択します。

    ssm-runas01.png

  2. 「Enable Run As support for Linux instances」にチェックを入れると、「Run As」が有効になります。ここで「Operating system user name」の項目にOSユーザー名を入力すると、セッションを開始する際に常にそのユーザーで接続されるようになります。

    ssm-runas02.png

  3. IAMユーザーの場合は、SSMSessionRunAsタグにOSユーザー名を指定します。

    ssm-runas03.png

  4. あとはEC2(Linux)にSession Manager接続を行えば、指定したOSユーザーでログインできます。(事前にLinux上でユーザーを作成していることが前提です)

ssm-runas04.png

まとめ

この記事ではSession Managerの「Run As」機能について説明しました。
特定のOSユーザーでセッションを開始したい場合は便利な機能ですので、ぜひ活用してみてください。

参考リンク

Turn on run as support for Linux and macOS managed nodes

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