AWS IAM Identity Center(AWS SSO)のユーザーを使ってEC2(Windows)へRDPしてみた

2023.03.31

はじめに

以前のアップデートでAWS Systems Manager Fleet Manager(以後Fleet Manager)を使ってマネージメントコンソールからWindowsインスタンスにRDP接続できるようになりました。

この機能を使ったログイン方法としてIAM Identity Centerユーザーのシングルサインオン方法が以下AWSブログで紹介されていたので試してみました。

マルチアカウント環境ではAWS IAM Identity Center(以後IAM Identity Center)を使ってユーザー管理しているケースが多いかと思います。EC2へのRDPのみを行わせたい…みたいな要件がある時は是非参考にしてみてください。

仕組み

アーキテクチャは以下の通りです。

AWS SSOでAmazon EC2 Windowsインスタンスへのセキュアでシームレスなシングルサインオンを可能にする方法 | Amazon Web Services ブログより引用

IAM Identity Centerのアクセス許可セットでFleet Managerを使ったログインを許可します。 Fleet ManagerからWindowsインスタンスへログインすると、ローカルのWindowsユーザーアカウントとクレデンシャルを作成し、インスタンスへのサインインを自動化します。

この動作は内部的にはSSMドキュメントのAWSSSO-CreateSSOUserによって実現されているようです。ドキュメント自体はマネージメントコンソールから確認できます。

やってみる

実際にログインまでやってみます。

以下の手順で実施します。

  1. IAM Identity Centerアクセス許可セット作成
  2. グループの作成とアクセス許可セットを割り当て
  3. EC2へログイン

前提条件

  • AWS OrganizationsでIAM Identity Centerを利用している環境
  • Fleet Manager管理のWindowsインスタンスが対象アカウントにある

IAM Identity Centerアクセス許可セット作成

IAM Identity Centerの管理アカウントにログインして、ログイン用の許可セットを作成していきます。ここで利用するポリシーはAWSブログ記載の最小権限で実施します。

コンソールを開いて、許可セット > 許可セットを作成をクリックします。

許可セットタイプはカスタム許可セットを選択します。

インラインポリシーをクリックすると、ポリシーの入力欄が出てくるのでここから確認できるポリシーを貼り付けてください。

次に許可セットの詳細入力は許可セット名を入力して進みます。ここではSsoLoginPermissionSetにしました。

問題なければ作成してください。

グループの作成とアクセス許可セットを割り当て

次にグループを作成して先ほど作成したアクセス許可セットを割り当てます。

グループ名を入力して、所属させたいユーザーを選択して作成しましょう。

次に左のナビゲーションからAWS アカウントを開きます。OU構成に従ったアカウントのリストが出てくるので、Fleet ManagerでログインしたいEC2があるアカウントにチェックを入れて、ユーザーまたはグループの割り当てをクリックします。

割り当て画面に飛ぶので、先ほど作成したグループを選択して次へ進みます。

次に許可セットの割り当て画面に飛ぶので、ここでも先ほど作成した許可セットを選択します。

選択したグループと許可セットを確認して、問題なければ送信を押しましょう。新しいIAMロールが対象のアカウントに作成されます。

EC2ログイン

ここからはログイン対象のEC2があるアカウントで作業します。 SSOのログイン画面からSsoLoginPermissionSetのマネージメントコンソールでログインします。

ログインできたらSystems Managerのコンソールを開いて、フリートマネージャーを開きます。 Fleet Manager管理になっているEC2の一覧が出るので、ログインしたいEC2を選択してノードアクションからリモートデスクトップ(RDP)接続を選択します。

遷移先の画面にシングルサインオンの項目があるので、選択してConnectをクリックしましょう。

しばらくすると、セットアップが完了し以下ログインが完了しました!

以上でIAM Identity Centerのユーザーを活用したWindowsインスタンスへのシングルサインオンは完了です。

おわりに

AWSブログの通りに実施してみましたが、IAM Identity Centerを触っている人であれば特に難しい場所もなくRDPまでできました。 今回は最小権限で実施したため、個別のアクセス許可セットとグループを作成しましたが、試したいだけであればAWSAdministratorAccessManagementなどの幅広い権限で実施してみてもいいですね。

マルチアカウント環境でRDP接続が発生するケースも多いと思いますので、是非活用してみてください。

参考