2019-07-17

 タイトルが長いですが、Windows Serverで構築したActive DirectoryドメインA(domain.local)と、AWSのPaaS Active Directory Service B(domain.cloud)との信頼関係を結ぶ検証をしてみた。
 ドメイン名であるが、よく見かけるhome.comとcloud.comというドメイン名ではないところが本投稿の特徴である。何故domain.localとdomain.cloudとしているかは後述する。


 Active Directoryでは識別のためのドメイン名は2種類ある。domain.localの様なFQDNのドメイン名に相当するドメイン名と、過去互換性を考慮して作成されているNETBIOSドメイン名とがある。後者は本ドメイン名では"domain"の様にトップドメイン".local"を削除したものがActive Directoryの初期デプロイ時に設定される。

 さて、この前提の様なActive Directoryドメイン名を持つドメインの信頼関係を結ぶとどうなるか?失敗してしまう。
 これは両方のActive Directoryドメイン名は異なるのだがNETBIOSドメイン名は"domain"と同一のものに自動設定されてしまい、同一のNETBIOSドメイン名間では信頼関係が構築できない仕様のためと思われる。

 これを解決するには、どちらかのActive Directoryドメインをデプロイする際にNETBIOSドメイン名を明示的に"DOMAINcloud"の様に他のNETBIOSドメインと異なるものに明示的に設定すると良い。

 また、Active Directoryドメイン名とNETBIOSドメイン名とは異なるものとする必要がある様だ。NETBIOSドメイン名自体は"."を使用可能であるのだが、"domain.cloud"とNETBIOSドメイン名を設定する事はActive Directory ドメイン名と同一となるためか設定出来ない。

 本環境では

ドメインA
Active Directoryドメイン名 domain.local
NETBIOSドメイン名 domain

ドメインB
Active Directoryドメイン名 domain.cloud
NETBIOSドメイン名 domaincloud

 と設定する事で所定の目的が達成された。

 お気づきの様に、NETBIOSドメイン名はユーザがOSへドメインログオンする際に使われている。
 ドメインBであれば、ユーザ名は"domaincloud\administrator"の様になる。


 さて、冒頭に記述した様に何故domain.localとdomain.cloudとActive Directoryドメイン名としたのかを説明する。
 これはオンプレからAWSへ極力シームレスな移行を狙ったためである。

 例えばオンプレ上のPCからオンプレ上のAP01サーバへアクセスするには

\\AP01.domain.local\
\\AP01\

 という2種類の表記が出来る。前者はFQDN、後者は短縮名表記となる。
 短縮名でもアクセス可能なのは、PCとAP01とは同一ドメインに所属しているので、名前解決で自動的にdomain.localが補われるためである。

 次にAP01サーバをAWSへ移行すると

\\AP01.domain.cloud\

 のみが使用できる。短縮名ではアクセス出来ない。
 よって、プログラムやショートカットなどを修正する必要がある。

 ここで、WindowsであればTCP/IPコントロールパネルの「以下のDNSサフィックスを順に追加する」を以下に設定するとどうなるか?

domain.local
domain.cloud

 を設定してみよう。

 短縮名でAP01を指定すると、先ずはAP01.domain.localを解決しようとして、これは失敗する。次にAP01.domain.cloudを解決しようとして、これは成功する。
 
 実装としては、DNSサフィックスの情報をGPOで設定し、接続先名を短縮名で記載しておくと移行が簡単になる。

 この工夫のために信頼関係を結ぶ際に若干悩んだが理解は深まったという事で...。

 

0 コメント:

自己紹介

自分の写真
東京都, Japan
憂鬱な凍死家です。こちらではmixiとは異なり固めの話題中心です。

Total Page View

Categories

Powered by Blogger.

Popular Posts

Blog Archive