Linux と macOS のマネージドノードで Run As サポートを有効にする - AWS Systems Manager

Linux と macOS のマネージドノードで Run As サポートを有効にする

デフォルトでは、Session Manager がマネージドノード上でシステムによって生成された ssm-user アカウントの認証情報を使用して接続を認証します。(Linux および macOS マシンでは、このアカウントは /etc/sudoers/ に追加されます)。また、オペレーティングシステム (OS) ユーザーアカウントの認証情報を使用してセッションを認証することもできます。この場合、Session Manager は、セッションを開始する前に、指定した OS アカウントがノードに存在することを確認します。ノードに存在しない OS アカウントを使用してセッションを開始しようとすると、接続に失敗します。

注記

Session Manager では、オペレーティングシステムの root ユーザーアカウントを使用して接続を認証することはできません。OS ユーザーアカウントを使用して認証されるセッションでは、ログイン制限やシステムリソースの使用制限など、ノードの OS レベルのポリシーやディレクトリのポリシーが適用されない場合があります。

仕組み

セッションの Run As サポートを有効にすると、システムによってアクセス許可が次のように確認されます。

  1. セッションを開始しているユーザーである場合、IAM エンティティ (ユーザーまたはロール) に SSMSessionRunAs = os user account name タグが付いていますか?

    「はい」の場合、マネージドノードに OS ユーザー名が存在していますか? 存在する場合は、セッションを開始します。存在しない場合は、セッションの開始を許可しないでください。

    IAM エンティティに SSMSessionRunAs = os user account name タグが付いていない場合は、ステップ 2 に進みます。

  2. IAM エンティティに SSMSessionRunAs = os user account name タグが付いていない場合、AWS アカウント の Session Manager の詳細設定で OS ユーザー名が指定されていますか?

    「はい」の場合、マネージドノードに OS ユーザー名が存在していますか? 存在する場合は、セッションを開始します。存在しない場合は、セッションの開始を許可しないでください。

注記

Run As サポートを有効にすると、Session Manager がマネージドノードの ssm-user アカウントを使用してセッションを開始することができなくなります。つまり、Session Manager が、指定された OS ユーザーアカウントを使用して接続に失敗しても、デフォルトの方法を使用した接続にはフォールバックしません。

OS アカウントを指定したり、IAM エンティティをタグ付けしたりせずに Run As をアクティブ化し、Session Manager の詳細設定で OS アカウントを指定していない場合、セッション接続は失敗します。

Linux と macOS のマネージドノードで Run As サポートを有効にするには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Session Manager] を選択します。

  3. [設定] タブを選択してから、[編集] を選択します。

  4. [Linux インスタンスの Run As サポートを有効にする] の横にあるチェックボックスをオンにします。

  5. 次のいずれかを行います。

    • [オプション 1]: [オペレーティングシステムのユーザー名] フィールドに、セッション開始時に使用する OS ユーザーアカウント名を入力します。このオプションを使用すると、Session Manager を使用して接続する AWS アカウント 内のすべてのユーザーに対して、すべてのセッションが同じ OS ユーザーによって実行されます。

    • オプション 2 (推奨事項): [IAM console] (IAM コンソール) リンクを選択します。ナビゲーションペインで、[ユーザー] または [ロール] を選択します。タグを追加するエンティティ (ユーザーまたはロール) を選択し、[タグ] タブを選択します。キー名に「SSMSessionRunAs」と入力します。キー値に対応する OS ユーザーアカウント名を入力します。[Save changes] (変更の保存) をクリックします。

      このオプションを使用すると、必要に応じて、さまざまな IAM エンティティに固有の OS ユーザーを指定できます。IAM エンティティ (ユーザーまたはロール) のタグ付けの詳細については、「IAM ユーザーガイド」の「IAM リソースのタグ付け」を参照してください。

      次に例を示します。

      Session Manager Run As アクセス許可のタグを指定したスクリーンショット。
  6. [Save] を選択します。