AWS Systems Manager Fleet ManagerからドメインユーザーでもRDP接続できるか確認してみた

AWS Systems Manager Fleet ManagerからドメインユーザーでもRDP接続できるか確認してみました。
2021.11.25

マネージメントコンソールからドメインユーザーでRDP接続できるかも気になってきた

こんにちは、のんピ(@non____97)です。

先日のアップデートでAWS Systems Manager Fleet ManagerからRDP接続できるようになりました。

こちらの検証記事ではRDP接続をするとき、ローカルのAdministratorユーザーを使用してログインしました。

ここでドメインユーザーでもFleet ManagerからRDP接続できるのか気になったので検証してます。

いきなりまとめ

  • ドメインユーザーもFleet ManagerからRDP接続できる

やってみた

ドメインへの参加

それでは、早速やってみます。

事前準備として、AWS Managed Microsoft AD (Standard Edition)は先に作成済みです。

AWS Managed Microsoft AD

また、AWS Managed Microsoft ADのDNSアドレスをDNSサーバーとしたDHCPオプションセットも作成し、VPCに割り当て済みです。

DHCPオプションセット

VPC

ドメイン参加するために、Fleet ManagerからローカルのAdministratorユーザーでRDP接続をします。

AWS Systems Manager Fleet ManagerからRDP接続

AWS Systems Manager Fleet ManagerからRDP接続 2

接続できました。

AWS Systems Manager Fleet ManagerからRDP接続 3

ドメイン参加をする前に、正しくDNSの設定がされているかを確認するために、ipconfig /allを実行しました。コマンドの実行結果は以下の通りで、DHCPオプションセットで設定した通りのDNSサーバーが指定されています。

>ipconfig /all

Windows IP 構成

   ホスト名. . . . . . . . . . . . . . .: EC2AMAZ-VDBNHBV
   プライマリ DNS サフィックス . . . . .:
   ノード タイプ . . . . . . . . . . . .: ハイブリッド
   IP ルーティング有効 . . . . . . . . .: いいえ
   WINS プロキシ有効 . . . . . . . . . .: いいえ
   DNS サフィックス検索一覧. . . . . . .: us-east-1.ec2-utilities.amazonaws.com
                                          ec2.internal
                                          corp.non-97.net

イーサネット アダプター イーサネット 2:

   接続固有の DNS サフィックス . . . . .: corp.non-97.net
   説明. . . . . . . . . . . . . . . . .: Amazon Elastic Network Adapter
   物理アドレス. . . . . . . . . . . . .: 02-EE-FB-45-66-1F
   DHCP 有効 . . . . . . . . . . . . . .: はい
   自動構成有効. . . . . . . . . . . . .: はい
   リンクローカル IPv6 アドレス. . . . .: fe80::fcfb:e4be:d49:b4ae%7(優先)
   IPv4 アドレス . . . . . . . . . . . .: 172.31.10.145(優先)
   サブネット マスク . . . . . . . . . .: 255.255.240.0
   リース取得. . . . . . . . . . . . . .: 2021年11月24日 5:29:16
   リースの有効期限. . . . . . . . . . .: 2021年11月24日 6:29:16
   デフォルト ゲートウェイ . . . . . . .: 172.31.0.1
   DHCP サーバー . . . . . . . . . . . .: 172.31.0.1
   DHCPv6 IAID . . . . . . . . . . . . .: 118098316
   DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-29-1D-AC-2A-0E-2F-96-DB-B0-15
   DNS サーバー. . . . . . . . . . . . .: 172.31.39.76
                                          172.31.10.192
   NetBIOS over TCP/IP . . . . . . . . .: 有効

ドメイン参加の準備ができたので、ドメインに参加します。

システムのプロパティ - コンピューター名タブ - 変更で所属するグループでドメインを選択して、Managed Microsoft ADで作成したドメイン名(corp.non-97.net)を入力し、OKをクリックします。

ドメインへの参加

認証のポップアップが表示されるので、Managed Microsoft ADで作成時に設定したドメインのAdminユーザーの認証情報を入力して、OKをクリックします。

ドメインのAdminユーザーの認証情報入力

正常にドメイン参加ができると、corp.non-97.netドメインへようこそ。とポップアップが表示されます。

ドメイン参加確認

ドメイン参加をするとOSの再起動が必要なので、再起動を行います。

再度、ローカルのAdministratorユーザーでログインして、コントロールパネル - システムとセキュリティ - システムを開くと、corp.non-97.netというドメインに参加できていることを確認できます。

システムからのドメイン参加確認

ドメインのAdminユーザーでのRDP接続

それでは、ローカルのAdministratorユーザー接続しているセッションを終了して、ドメインのAdminユーザーでのRDP接続できるか試してみます。

ドメインのAdminユーザーの認証情報を入力して、Connectをクリックします。

ドメインのAdminユーザーの認証情報入力

ドメインのAdminユーザーでもログインできることが確認できました。

ドメインのAdminユーザーのログイン確認

めでたし。めでたし。

ですが、これだけだと何だか物足りないので、自分で追加したドメインユーザーでもRDP接続できるか確認してみたいと思います。

自分で追加したドメインユーザーでもRDP接続できるか確認してみた

作業の流れ

AWS Managed Microsoft AD では、作成したドメインユーザーを組み込みのRemote Desktop Usersグループに追加することはできません。そのため、RDP接続を許可するグループポリシーオブジェクトを作成して、指定したOUに適用します。

こちらの作業を行うにあたって、以下のドキュメント及び、動画が非常に参考になります。

ドメイン管理に必要なツールのインストール

まず、ドメインの管理に必要なツール(ADDSの管理ツールとグループポリシー管理コンソール)をインストールします。

今回は以下のように、PowerShellで必要なツールをインストールしました。

> $result = Install-WindowsFeature -Name RSAT-ADDS,GPMC

> $result.FeatureResult

Display Name                           Name           Success # Msg Restart Needed Skip Reason
------------                           ----           ------- ----- -------------- -----------
グループ ポリシーの管理                GPMC           True    0     False          NotSkipped
リモート サーバー管理ツール            RSAT           True    0     False          NotSkipped
Active Directory 管理センター          RSAT-AD-Adm... True    0     False          NotSkipped
Windows PowerShell の Active Direct... RSAT-AD-Pow... True    0     False          NotSkipped
AD DS および AD LDS ツール             RSAT-AD-Tools  True    0     False          NotSkipped
AD DS ツール                           RSAT-ADDS      True    0     False          NotSkipped
AD DS スナップインおよびコマンドラ...  RSAT-ADDS-T... True    0     False          NotSkipped
役割管理ツール                         RSAT-Role-T... True    0     False          NotSkipped

ドメインユーザーの作成

次にドメインユーザーの作成を行います。

Active Directory ユーザーとコンピューターを起動します。

Active Directory ユーザーとコンピューターの起動

左メニューをcorp.non-97.net - corp - Usersと展開していき、Usersで右クリックし、新規作成 - ユーザーをクリックします。

ドメインユーザーの新規作成

姓とユーザーログオン名を入力し、次へをクリックします。今回のユーザー名はrdp-userとします。

姓とユーザーログオン名の入力

パスワードの入力とパスワードを無期限にするにチェックを入れて次へをクリックします。

ドメインユーザーのパスワードの設定

デフォルトではユーザーは次回ログオン時にパスワード変更が必要にチェックが付いていますが、外す必要があります。

原因は、以下Microsoft公式ドキュメントに記載の通り、RDP接続上でログイン時にユーザーのパスワード変更は行えないためです。

以下の環境で、リモート デスクトップ接続時に、ユーザーのパスワード変更ができなくなりました。原因と回避策について教えてください。<環境>[接続元]OS: Windows Server 2012 R2[接続先]OS: Windows Server 2012 R2

  • [システムのプロパティ] にて、[ネットワーク レベル認証でリモート デスクトップを実行しているコンピューターからのみ接続を許可する (推奨) ] のチェックを外している。(ネットワーク レベル認証が強制されていない)
  • 接続に使用するユーザーは、[ユーザーは次回ログオン時にパスワード変更が必要] にチェックがついている。

Windows Server 2012 R2 および Windows 8.1 以降のネットワーク レベル認証の動作について

ユーザーは次回ログオン時にパスワード変更が必要にチェックが付いている状態でユーザーを作成すると、Fleet ManagerからドメインユーザーでRDP接続しようとするとAn error occurred. Generic errorと表示されます。

An error occurred. Generic error

ちょっと横道に外れました。

最後にドメインユーザーの作成確認をして、問題なければ完了をクリックします。

ドメインユーザー作成確認

ドメインユーザーの作成が完了すると、以下のようになります。

ドメインユーザー作成完了確認

セキュリティグループの作成とセキュリティグループへのドメインユーザーの追加

次にセキュリティグループの作成とセキュリティグループへのドメインユーザーの追加を行います。

Usersで右クリックし、新規作成 - グループをクリックします。

セキュリティグループの新規作成

グループ名を入力してOKをクリックします。今回のグループ名はrdp-groupとします。

セキュリティグループの設定

セキュリティグループの作成が完了すると、以下のようになります。

セキュリティグループ作成完了確認

作成したセキュリティグループにドメインユーザーを追加します。

ドメインユーザーrdp-userを右クリックし、グループに追加をクリックする。

ドメインユーザーのグループへの追加

作成したセキュリティグループ名rdp-groupを入力して名前を確認し、OKをクリックします。

ドメインユーザーのセキュリティグループへの追加設定

正常にセキュリティグループへのドメインユーザーの追加が完了すると、[グループに追加] 操作が完了しました。というポップアップが表示されます。

ドメインユーザーのセキュリティグループへの追加確認

グループポリシーオブジェクト(GPO)の作成

最後にグループポリシーオブジェクト(GPO)を作成します。

グループポリシーの管理を起動します。

グループポリシーの管理を起動

今回はComputersOUに存在するコンピューター全てにRDP接続できるようにしたいので、フォレスト - ドメイン - corp.non-97.net - corp - Computers上で右クリックし、このドメインにGPOを作成し、このコンテナーにリンクするをクリックします。

このドメインにGPOを作成し、このコンテナーにリンクする

GPO名を入力し、OKをクリックします。今回のグループ名はrdp-gpoとします。

GPO名の入力

作成したGPO上で右クリックし、編集をクリックします。

GPOの編集

コンピューターの構成 - 基本設定 - コントロールパネルの設定 - ローカルユーザーとグループ上で右クリックし、新規作成 - ローカルグループをクリックします。

ローカルグループの作成

グループ名でRemote Desktop Users (ビルトイン)を選択し、追加をクリックします。

ローカルグループのメンバー追加

作成したセキュリティグループ名(corp¥rdp-group)を選択し、OKをクリックします。

セキュリティグループ名の選択

正しくメンバーが追加されていることを確認して、OKをクリックします。

ローカルグループの作成確認

正しくローカルグループの作成ができると、以下のようになります。

作成したローカルグループの確認

ポリシーの更新は一定間隔で行われます。今回はgpupdate/forceでポリシーを強制的に適用します。

> gpupdate /force
ポリシーを最新の情報に更新しています...

コンピューター ポリシーの更新が正常に完了しました。
ユーザー ポリシーの更新が正常に完了しました。

追加したドメインユーザーでのRDP接続

動作確認として、追加したドメインユーザーでのRDP接続をしてみます。  

追加したドメインユーザーの認証情報を入力して、Connectをクリックします。

追加したドメインユーザーの認証情報入力

正常に追加したドメインユーザーでのRDP接続できました。めでたし。めでたし。

追加したドメインユーザーでのRDP接続

ドメインユーザーでもAWS Systems Manager Fleet ManagerからRDP接続できた

ドメインユーザーでもAWS Systems Manager Fleet ManagerからRDP接続できることが確認できました。

個人的にはローカルマシンとRDP接続先のEC2インスタンスとドラッグ&ドロップなどで簡単にファイルのやり取りができれば、いよいよ踏み台サーバーの立場が無くなるのかなと考えています。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!