kkamegawa's weblog

Visual Studio,TFS,ALM関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Azure Active Directory Domain ServicesでTFSを使ってみる

Azure Active Directory Domain Servicesができたときからぜひ使ってみたいと思っていました。フルマネージドなので、AD特有の面倒なことが解消されそうです。

azure.microsoft.com

ただ、いろいろ問題もあります。

  • 高い。裏で4台くらいのサーバーを動かしているので、しょうがないのですが、もうちょっとお安くならないものかと…。
  • 全部の機能が使えない。例えば、Domain AdminやEnterprise Adminといった権限はないので、Kerberos認証に必要なsetspnが使えません。これは回避策があります(後述)。
  • 現在、クラッシックデプロイしかサポートされていないので、ARMベースのデプロイする仮想マシンとつなぐ場合VPNが必須。

田中さんもかかれているので、こちらもどうぞ。

tech.tanaka733.net

作ってみる

f:id:kkamegawa:20170727063925p:plain

Azureポータルから、Azure AD Domain Servicesを検索して作っていきます。

f:id:kkamegawa:20170727063921p:plain

ディレクトリは初期値では「既定のディレクトリ」しかないので、選択できません。カスタムドメイン(exsample.jpなど)を作りたい場合は、クラッシックポータルからドメインを作っておきましょう。既定のディレクトリは~.onmicrosoft.comが作られています。

このonmicrosoft.comの前のドメイン名はクラッシックポータルでは変更できるように見えるのですが、変更してもユーザー追加のところで追加できないので、変えないでおきましょう。そのまま。

リソースグループやら、場所を選択します。

f:id:kkamegawa:20170727063914p:plain

ネットワークに仮想ネットワークとアドレス空間、サブネットを指定します。DNSで二つとられるし、なに使うかわからないので、どーんととっておきます。ここでは/22を指定しています。クラッシックポータルで作るときは/22位がデフォルトだったはずですが、新ポータルでは/24がデフォルトです。

サブネットは/24を指定しています。

f:id:kkamegawa:20170727063911p:plain

これでOK押して確定。

f:id:kkamegawa:20170727064222p:plain

AAD DC Administratorsというグループがいわゆるドメイン管理者(正確にはもっとロックダウンされていますが)になります。とりあえずここでサブスクリプションの管理者を追加しておきます。

f:id:kkamegawa:20170727064218p:plain

で、これで全部できました。OKを押すとデプロイが始まります。Azure AD Domain ServicesはVPNと仮想マシンを結構いっぱいデプロイするので、実際に使用できるまでにかなり時間がかかります。30分くらいは見ておいたほうがいいです。

f:id:kkamegawa:20170727063932p:plain

その間、クラッシックポータルでユーザーを追加しておきます。TFSをActive Directoryで使う場合、AP層のユーザー、SQL Server Reporting(もうほとんどいらなくなりましたが)のユーザー、SQL Server用のユーザーあたりはあったほうがいいです。作っておきましょう。

ここで追加したユーザーはドメイン内の一般ユーザーになります。username@~.onmicrosoft.comでログオンできるユーザーですね。

VPNピアリング

f:id:kkamegawa:20170728054941p:plain

クラッシック仮想マシンなら必要はないのですが、もう今どきクラッシック使いたくないですよね。Azureの新機能の恩恵もうけれないし。ということでVPNピアリングを設定します。

注意点としてはIPアドレス空間が重ならないように、ということくらいです。

docs.microsoft.com

Kerberos の制約付き委任を構成する

docs.microsoft.com

setspnが使えないので、こちらの方法でKerberosの制約付き委任を構成します。

完成

これで一通りできました。あとは普通にWindows Serverを構成して、仮想ネットワークだけ明示的に既存のものを指定するだけです。

Windows Serverのドメイン参加はAAD DC Adminグループに追加した@~.onmicrosoft.comユーザーで実施します。ドメインに参加した後、Windows Serverのドメインログオンは username@~.onmicrosoft.comでできます。