AzureAD Domain Services を試してみる

schedule 2022/05/17  refresh 2023/11/08

 

 

概要

こんにちは。セシオスサポートチームです。

 

今回は、AzureADをLDAPサーバーの様に外部からLDAPS通信を使って利用する事ができる、「AzureAD Domain Service」(略:ADDS)を試してみたいと思います。もちろんお金がかかりますが、AzureADに登録したユーザーの情報をそのまま利用でき、openldap-clients に同梱されているldapsearch コマンドや、 Apache Directory Studio などを使って、LDAP/ADサーバーの様に、LDAPまたはLDAPSの通信を用いてユーザー情報の取得ができるようになります。

 

自前のADなどを使っている場合、SeciossLinkでAzureADへ同期したユーザーを、Microsoft上のアプリケーション基盤から参照するような構成にすることが可能になります。

 

目次

  • AzureAD Domain Service を建てる
  • LDAPS通信の下準備
  • 通信ポートの設定
  • 動作確認
  • 終わりに

 

AzureAD Domain Service を建てる

 

ログイン

Azureポータル へログインしましょう。

 

AADS作成

ページ上部の検索バーから、「AzureAD Domain Service」を検索し、該当サービスのページを開きます。




メニューの中の「+追加」リンクをクリックし、登録を進めます。

 

作成できていない情報などは勝手に保管されているので、 基本的に標準値のままでも登録を進めることは可能です。特別なネットワークの設計をしている場合は別途設定が必要です。




最後の確認ページまで来たら、作成する内容に問題がないか、確認します。

画像の例では、ほとんど「次へ」だけを押した形で進めました。




作成を押すと、インスタンスの作成が始まります。

デプロイが完了すれば、利用できる状態になります。



 

LDAPS通信の下準備

 

LDAPS証明書用意

今回はLDAPSでADDSに接続したいので、LDAPS用の証明書を作成します。

LDAPS用の証明書はPKCS12の形式で作成しておく必要があります。

 

正直証明書の用意はなんでも良いのですが、今回はWindowsに標準で入っているPowershellを使って作成したいと思います。  以下のコードを必要に合わせて書き換えて、Powershell へ貼り付けてください。

 

 

$dnsName="<接続先のADDS DNS名>"
$lifetime=Get-Date

New-SelfSignedCertificate -Subject *.$dnsName `
-NotAfter $lifetime.AddDays(365) -KeyUsage DigitalSignature, KeyEncipherment `
  -Type SSLServerAuthentication -DnsName *.$dnsName, $dnsName

 

 

 

以下のような出力になるはずです。  



 

Windows + R キー で、「ファイル名を指定して実行」のダイアログを表示し、「mmc」と入力してください。

Microsoft 管理コンソールが開いたら、「ファイル」→「スナップインの追加と削除」を選択します。




ダイアログが表示されたら、利用できるスナップイン の中をスクロールし、「証明書」を選択し、「追加」ボタンを選択してください。



 

追加のウィザードが表示されます。

「コンピューターアカウント」を選択します。  



このスナップインで管理するコンピューターを選択してください。と表示されたら、「ローカルコンピューター」を選択し、完了を押します。



すると、「選択されたスナップイン」に証明書 が追加されるので、OKを押します。



左のメニューペインにから、「証明書」→「個人」→「証明書」と展開していくと、先程Powershellで作成した証明書情報が表示されています。



証明書を選択し、右クリックから、「すべてのタスク」→「エクスポート」を選択してください。



証明書のエクスポート ウィザードが表示されたら、案内に沿って、進めます。

秘密鍵を一緒に出力するか聞かれるので、「エクスポートします。」を選択して次に進みます。



出力する形式は PKCS12 である必要があります。画像の様に進めてください。



PKCS12形式の証明書を作るとき、パスワードが必要になります。

任意のパスワードを設定してください。



最後に、出力先を指定します。デスクトップなどで良いと思います。



最終確認です。完了を押すとエクスポート処理が始まり、「正しくエクスポートされました。」と表示されれば、証明書作成は完了です。



 

LDAPS通信設定

証明書の作成が完了したので、AzureADの操作に戻ります。

 

先程作成したADDSのデプロイが完了していると思うので、そちらを選択しADDSの管理メニューを表示してください。

 

「Secure LDAP」という項目があるので、そちらを選択すると、LDAPSの有効化とその証明書ファイルのアップロード画面が出てきます。

 

"Secure LDAP"と、"インターネット経由での Secure LDAPアクセスを許可"を有効にした後、  画面の案内に沿って、先程作成した 証明書ファイルと、その作成時に設定したパスワードを入力してください。

 

画面の入力が完了すると、 左上に、LDAPSの設定進捗メッセージが表示されます。



暫く経つと、設定が完了します。



これで、ADDSのLDAPSを使う準備ができました。  

 

 

通信ポートの設定

LDAPSを有効化した後は、ポートを開けます。

ADDSのプロパティを開いた後、リソースグループ のリンクを選択します。



 

ADDSを構成しているリソースグループのページに遷移します。

種類が「ネットワーク セキュリティグループ」となっているリソースを選択してください。



 

左メニューから、「受信セキュリティ規則」を選択し、上部の「+追加」ボタンを選択します。



右側から追加用のメニューが表示されるようになるので、設定してください。

画像の例では、弊社のIPからのみ接続できる設定とし、ADDSへの636ポートのアクセスを許可しています。



以上で、設定は完了です。

 

動作確認

ADDSのプロパティに、「Secure LDAP 外部 IPアドレス」という項目があります。

こちらのIPを使ってADDSへ接続することができます。

お好きなツールで接続してみてください。

LDAPSearchするときはこんな感じで接続します。

 

ldapsearch -LLL -x -D "cn=管理者ユーザー,ou=AADDC Users,DC=example,DC=onmicrosoft,DC=com" -h <ADDS 外部IP> -W -b "DC=example,DC=onmicrosoft,DC=com"

 

 

 

特定のドメインを使っている場合はDC=xxxxの部分も変わると思いますが、初期設定で次へ次へやっている場合はこれで接続できるはずです。

 

ユーザーのRDNは自動的に、 AADDC Users というOUが切られていて、そこに格納されています。

注意点として、ADDSを構築した直後はADDS側にパスワード情報がない状態になっており、認証できるユーザーが誰も居ません。

 

ADDS構築後、パスワードハッシュ同期を有効にした上で、bindを行うユーザーのパスワード変更を行うことで、パスワードハッシュ情報を保持するようになり、認証ができるようになります。

 

終わりに

いかがでしたでしょうか。

AzureAD 上に作成したユーザーをMicrosoft社の基盤上で検索することができるので、画面でLDAP、ADが作成できるのは楽なのですが、負荷の状態や利用時間ごとにそれなりにお金がかかってしまうので、参照だけの用途だと、使い所が少し難しくも感じました。

今後共セシオスリンクをよろしくお願いいたします。
以上、セシオスサポートチームでした。