はじめに
Active Directory や Azure AD について手を動かした内容をまとめた、備忘録的記事です。
ユーザー目線では、以下のようなことができます。
・オンプレADのIDとパスワードでPCにログインする。
・ブラウザを開くと、サインイン無しで、AWSやAzureが使える。(SSO)
動作の様子を録画し、ポイント部分についてコメントをつけて、YouTube にあげています。
以下に、手順と注意点を記載していきます。
設定手順
1. Hyper-V に Windows Server を入れて、ADDSの機能を追加する
- 手元の Windows 端末にて、Hyper-V を有効化
- 手順は、こちらの記事が参考になる。
- 「外部タイプ」のスイッチを作成
- 「内部」タイプのスイッチだと、端末からインターネットにアクセスできない模様。
- 「外部」のスイッチを作ると、私の環境ではホストOSのネット通信が激遅になった。
→ こちらの手順で修復できた。
- Hyper-V 上に、WindowsServer をインストール
- 以下サイトから評価版をダウンロードできる。
- 必要に応じてコンピュータ名を変えておくと、識別しやすい。(例:AD-Server)
- Windows Server に、ADドメインコントローラーを構築
- 手順は、こちらの記事が参考になる。
- ドメイン名は、AzureAD に設定しているカスタムドメイン名を登録すると良い。(例:hogehoge.com)
- この記事にあるように、「.local」なドメインは、後ほどでてくる AzureAD Connect で同期されない。
- 加えて、AzureAD側は、「hogehoge.onmicrosoft.com」か、カスタムドメインの「hogehoge.com」なので、カスタムドメインで進めた方が良い。
- 私は最初、「.local」で進めたが同期されず、Windowsサインイン時にIDを「kensho@hogehoge.com」に変更することで進めることができた。トラブルシューティングが大変だった。
- ユーザーの作成
- 手順は、こちらの記事が参考になる。
- コンピュータも作る必要があるが、ドメインで一度ログインしてからの方が簡単なので後回し。
2. Hyper-V に Windows10 を入れて、ドメイン参加する
- Hyper-V 上に、Windowsクライアント をインストール
- 以下サイトから評価版をダウンロードできる。
- ネットワークの設定項目にて、DNSサーバのIPアドレスを、ADを構築したWindowsServerのIPアドレスに変更する。
- 必要に応じてコンピュータ名を変えておくと、識別しやすい。(例:AD-Client1)
- ドメインに参加
- 手順は、こちらのドキュメントが参考になる。
- ドメイン参加後、「hogehoge.com\user1」もしくは「user1@hogehoge.com」等でサインインできるようになる。
- Hyper-V を使っている場合、一度ローカルアカウントにサインインしないと、リモート権限がない旨のエラーでドメインユーザーではサインインができない状況になった。
- 対応方法はこちらの通りで、「拡張モード」をOffにして標準モードにすると、サインインできる。(接続画面上のボタン(基本セッション)を一か所押すだけでも可)
ここまでで、通常のドメイン参加まで構築できた
3. ADサーバにAzure AD Connectをインストールして、Azure ADにユーザー情報とデバイス情報を同期
- Azure AD Connect をインストール・設定
- 手順は、こちらの記事が参考になる。
- ユーザー情報の同期はマスト。
- 「パスワードハッシュ同期」にチェックをつける。
- ※ 検証目的なら、「ユーザーサインインの変更」項目内、サインオン方式で「パススルー認証」を選んでも良いと思う。
- 私が1回目に検証した時はハッシュ同期だけで問題なかったが、2回目に検証した時はパスワード情報が適切にAzureADに連携されず、認証でエラーが起きトラブルシューティングに手間どった。 「パススルー認証」に変更したことで問題は解決した。
- ※ 検証目的なら、「ユーザーサインインの変更」項目内、サインオン方式で「パススルー認証」を選んでも良いと思う。
- 「シングルサインオン」にもチェックをつける。
- 認証が通らないエラー発生時 ... ADサーバの参照先DNSサーバのIP設定を確認!
- 理由:インストール中に、Microsoft Online の認証が通らないエラーに遭遇し2時間溶かした。理由はAAD ConnectをインストールしたADサーバの、参照先DNSサーバIPアドレスが勝手に書き変わっていたから。これをもとのデフォルトゲートウェイと同じIPアドレスに戻したところ正常に使えるようになった。
- 「パスワードハッシュ同期」にチェックをつける。
- コンピュータも同期する。
- コンピュータも同期しないと、SSOできない。
- 「AAD Connect」の設定画面の「デバイスオプションの構成」項目から、「ハイブリッドAzureAD参加」を選択する。
- ユーザー情報の同期はマスト。
- 手順は、こちらの記事が参考になる。
- オンプレADからAzureAD に、ユーザー情報等を同期
- 待っていてもなかなか同期されないので、PowerShell からのコマンド実行が早い。
-
> Start-ADSyncSyncCycle Initial
(参考サイト)
-
- AzureAD の「ユーザー」項目に、オンプレで作ったユーザーが追加されていること。「デバイス」に、クライアント端末が追加されていることを確認する。
- 待っていてもなかなか同期されないので、PowerShell からのコマンド実行が早い。
ここまでで、オンプレADをAzureADへ同期することはできた。(オンプレ→Azureへの片方向同期)
この時点で、ドメイン参加したPCでブラウザを開き、https://portal.azure.com/ を開くと、
追加認証無しで Azure Portal を開けるはず。
4. AzureAD での認証で、AWSにSSOできるようにする
- ここでは、AWS と AzureAD とで信頼関係を結び、
AzureAD で認証されたユーザーが、追加認証無しで AWS マネジメントコンソールにアクセスできるようにする。- 手順は、こちらの記事が参考になる。
- デフォルトだと、AzureADからAWSへのユーザー情報のプロビジョニングに時間がかかるが、
「要求時にプロビジョニングする」というボタンを押して、即時対応もできる。
- デフォルトだと、AzureADからAWSへのユーザー情報のプロビジョニングに時間がかかるが、
- 手順は、こちらの記事が参考になる。
これで、仕組みは完成
5. 一連の流れで動作確認
- 再度、ドメインのID/PWでPCにサインインする。
- ブラウザを開き、https://myapps.microsoft.com/ にアクセスする。
- 追加の認証無しで、AWS マネジメントコンソールを開ける。
再掲: 動作のキャプチャ動画