今回も前回に続き、「Azure AD とオンプレミス Active Directory とのフェデレーション」を構成する作業について説明しよう。
前回は、「Azure AD の準備」「管理者IDの作成」「アイデンティティフェデレーションを構成するための準備」「フェデレーションの構成」まで行った。以下、続きの作業を解説する。
アイデンティティフェデレーションを構成する
FS1でPowerShell コンソールを「管理者」として起動しよう。コンソールから以下のコマンドを実行する。
$Cred = Get-Credential
すると、以下のようなポップアップが開くので、Azure AD ドメインの管理者ID(admin@mynavidomain.onmicrosoft.com)とパスワードを指定し、OKをクリックする。管理者IDは先ほど作成した admin なので注意しよう。
ここで指定したユーザーIDとパスワードの組み合わせは、$Cred という変数に格納されるので、これを使用してAzure AD に接続する。以下のコマンドを実行しよう。
Connect-MsolService -Credential $cred
次に、以下のコマンドを実行し、リモート操作機能を有効にする。難しい解説は今回は省くことにする。エラーが発生することがあるが、これは「すでに設定されている」というアラートなので気にしなくてよい。
Enable-PSRemoting -force
次に、以下のコマンドを使用し、オンプレミスのAD FSサーバーをAzure AD に登録する。ホスト名は環境に合わせて変更していただきたい。
Set-MsolAdfscontext -Computer fs1.mynavi.mydns.jp
最後に以下のコマンドでフェデレーションを構成する。
New-MsolFederatedDomain -DomainName mynavi.mydns.jp
ただし、エラーが表示されるはずだ。これは想定内なので問題ない。エラーに続いて以下のような「警告」も表示されているはずだ。
このエラーおよび警告は、Azure AD からオンプレミスのADドメイン(mynavi.mydns.jp)が参照できないことを意味している。何も設定していないのだから当然だ。ここで、警告の中の以下の文字列に注目していただきたい。
MS=ms24098064
この文字列が、Azure ADとオンプレミスADを結び付けるためのキーワードとなる。この文字列を TXT レコードとして外部DNSに登録することで、Azure ADは当該ドメインを発見することができる。
この演習では外部DNSとして mydns.jp を使用しているので、ブラウザでの管理画面をhttp://www.mydns.jp/から開こう。他のDNSを使用している場合には、そちらの手順に従っていただきたい。
MyDNS.JP のユーザーIDとパスワードを使用してログオンしたら「DOMAIN INFO」をクリックする。
画面をスクロールダウンすると以下のような画面が現れるので、次のようにTXTレコードを指定しよう。
登録したら「CHECK」をクリックし、「OK」で保存する。
以上で TXTレコードが保存された。反映には少し時間を要するが、1分おきくらいに再度以下のコマンドを実行し続けよう。成功すると、以下のようなメッセージが表示される。
以上で、フェデレーション自体の構成は完了だ(まだすべての作業が完了したわけではない)。
試しに、以下のURLにアクセスしてみよう(前回作成したHOSTSファイルが有効である必要がある)。Azure ポータルを起動しているブラウザとは別のブラウザを使用するのがよいだろう。IEのInPrivateモードのように、ログオンセッションを分離できるモードを使用するのがお勧めだ。
https://myapps.microsoft.com/
ログオン画面が表示されたらオンプレミスADのアカウント cloudadmin@mynavi.mydns.jp を入力してみよう(ドメイン名は環境に合わせて変更していただきたい)。
「続行」ボタンをクリックすると、以下のようにリダイレクトが機能することに気づくだろう。
リダイレクトされると以下の画面が表示される。
ここでURLを確認してみよう。以下のようなURLにリダイレクトされているはずだ。
https://sts.mynavi.mydns.jp/adfs/ls/?username=cloudadmin%40mynavi.mydns.jp..........
オンプレミスAD FSのURLであることに気づくだろう。正確には、Web Application Proxy のURLだ。
「このサイトの閲覧を続行する」をクリックすると、以下のような画面が表示される。これはWeb Application Proxy が用意している認証画面だ。
ここにパスワードを入力してサインインをクリックしてみよう。オンプレミスADでの認証は通過するものの、Azure ADにリダイレクトされてから先に進めない。
これは、まだAzure AD にオンプレミスADのユーザーIDが同期されていないからだ。ご存じの通り、フェデレーションとは「連携」を意味する。何を連携させるかと言えば、Identityだ。2つのディレクトリ(この場合はAzure ADとオンプレミスAD)に登録されている異なるIdentityを関連付けて、認証を連携させることをアイデンティティ・フェデレーションと呼ぶ。
オンプレミスADで認証された結果をAzure ADに伝え、それに対応するAzure AD上のユーザーIDでも認証が成功したものとするわけだ。よって、オンプレミスにしかユーザーIDが登録されていない状態では、連携先のユーザーIDが見つからないため結果として認証に失敗することになる。
編集協力:ユニゾン
安納 順一
日本マイクロソフト テクニカル エバンジェリスト
主にインフラ系テクノロジーの日本市場への訴求を担当。近年はパブリッククラウド上のアイデンティティ・プロバイダーであるAzure Active Directoryを活用したセキュリティ基盤のデザインや実装方法などがメインのフィールドである。
Technetで個人ブログもさまざまな技術情報を発信している。