はじめに

AWS Managed Microsoft ADで構築しているActive Directory環境において、 コンピュータがドメイン参加する際、デフォルトで参加するOUを、指定したOUに変更したい場面がありました。

通常のAD環境(オンプレ環境下)の場合だと、redircmpコマンドを実行し、変更する方法があるかと思います。

  • オンプレ環境下での場合
redircmp [OUへのパス]

しかし、上記コマンドをAWS Managed Microsoft AD環境で試したところ、エラーが表示され、変更できませんでした。その時の調査結果と、代替方法についてお伝えします。

いきなりまとめ

  • AWS Managed Microsoft ADには、オンプレ等のマネージドサービスではないActive Directoryと比べ、Admin等の管理者ユーザーであっても操作できるアクションに制約がある
  • AWS Managed Microsoft ADでは、上記制約により、redircmpコマンドを実行できない
  • 代替方法としては、以下のとおり
    • 参加対象のコンピュータ(クライアント)がEC2等のAWS環境の場合:EC2 起動ウィザードでの対応
    • 参加対象のコンピュータ(クライアント)がオンプレ環境の場合:Move-ADObjectコマンドによるスクリプト化

AWS Managed Microsoft ADにてredircmpコマンドがエラーとなる

ActiveDirectory(以下ADと称する)のドメインにコンピュータを参加させると、そのコンピュータを表すオブジェクトが自動的に作成され、そのオブジェクトは標準設定では、AD内の「Computers」という専用のOUに格納されることになります。

デフォルトの参加先となる「Computers」から、「hogehoge」というOUに変更したい場面がありました。AWS Managed Microsoft AD用の管理サーバーとなるEC2(Windows Server 2022)から、Adminユーザーにてredircmpコマンドを実行、し変更を試みたところ、以下のように失敗となります。

C:\Users\Admin>redircmp OU=hogehoge,DC=default,DC=local
Error, unable to modify the wellKnownObjects attribute. Verify that
the domain functional level of the domain is at least Windows Server 2003:
Insufficient Rights
Redirection was NOT successful.

エラー内容は、ドメインの機能レベルを確認するようにとのことですが、ドメインの機能レベルはWindows Server2012 R2であることを確認し、条件は満たしています。

なぜ実行できずエラーとなるのか調査を行いました。

AWS Managed Microsoft ADのアクションには制約があります

結論から言うと、AWS Managed Microsoft ADの仕様によるもので、redircmpコマンドが実行できません。

https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html#ms_ad_getting_started_admin_account

管理者アカウントには、ここにリストされているアクションのみが許可されます。管理者アカウントには、親 OU など、特定の OU の外部でのディレクトリ関連のアクションに対するアクセス許可もありません。

上記のとおり、ドキュメントに記載されているアクション以外の操作は許可されていないとのことです。

今回の事象の原因も上記仕様であることが想定されます。

念の為、AWSサポートにも問い合わせを行いました。

その結果、やはり上記想定の通り、AWS Managed Microsoft ADの仕様による制約によるものでした。

Microsoft 社ドキュメントによると、redircmpコマンドは、Domain Admins または Enterprise Admins グループの権限が必要となります。

https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc770619(v=ws.11)

AWS Managed Microsoft AD では、マネージドサービスの性質上Domain Admins または Enterprise Admins グループの権限をユーザー側で操作することができないため、上記結果となっているようです。

代替方法

参加対象のコンピュータ(クライアント)がEC2等のAWS環境の場合

EC2 起動ウィザードでデフォルトのドメイン参加構成を変更します

https://aws.amazon.com/jp/blogs/security/how-to-configure-your-ec2-instances-to-automatically-join-a-microsoft-active-directory-domain/

パート 1: EC2 起動ウィザードでデフォルトのドメイン参加構成を変更する

EC2起動時の起動ウィザードにて、デフォルトのOUを変更する方法となります。

サーバー側での設定ではなく、参加するコンピュータ(クライアント)視点での設定となります。

参加対象のコンピュータ(クライアント)がオンプレ環境の場合

Move-ADObjectコマンドにより、コンピュータオブジェクトを移動させ、コマンドをスクリプト化させることによって自動化させる

オンプレ環境のコンピュータ(クライアント)のデフォルトOUを変更したい場合は、少々力技となってしまいます。

デフォルトで参加OUを指定できないため、コンピュータがドメインに参加した際は都度移動させる方法となります。

ある程度自動化させる方法の一例として、EC2(Windows)のタスクスケジューラで実現する方法の例を挙げます。

ログの記録をトリガーとして、PowerShell スクリプトを実行するタスクを作成します。

対象のログを出力した際にスクリプトがキックされるようなタスクスケジューラを仕込む方法があるでしょう。

まとめ

AWS Managed Microsoft ADに限らず、マネージドサービスであるがゆえに、ユーザー側で操作できない設定があり、それによりオンプレ環境下ではできていたことができない、もしくは実現方法を工夫する必要がある場合があるでしょう。

今回ご紹介した事例もその一つとなります。

AWSでできる範囲を明確にし、設定方法を工夫・提案できることがエンジニアとしての価値の一つだなと改めて感じました。

ではまた!