Azure Managed Service Column <Azure運用コラム>

Azure ハイブリッドID環境を構築してみる

Category: 実践編

2021.04.20

はじめに

社内 ID 管理の仕組みといえば、Active Direcotry ドメインサービス(以下、AD DS) が昔から使われています。AD 環境をお持ちの方も多いかと思いますが、近年は Microsoft365 (以下、M365) などのクラウドアプリケーションもよく使われています。

2つの環境が混在している、あるいは、既にどちらかの環境を持っており、追加でもう一方の環境を導入したいと思っている、という方は多いと思いますが、そのような方には、2つの環境の ID 情報を統合する Hybrid ID という構成がオススメです。本コラムでは、Hybrid ID 環境がどのようなものなのか、実際に構築してみることで紹介します。

Hybrid ID 環境のメリット

Hybrid ID 環境のメリットを一言でいうと、「オンプレ環境とクラウドアプリケーションのユーザ情報を統合することで、ユーザの一元管理が可能になる」です。 より具体的には、以下のようなメリットが挙げられるでしょう。

  • システム管理者は、ユーザ追加、削除、パスワードリセットといった作業の手間が減る
  • ユーザの削除漏れで不要なユーザ情報が残ることを防ぎ、削除漏れユーザの不正アクセスやユーザ情報流出のようなセキュリティリスクを低減できる
  • 利用ユーザは同一のユーザ情報でサインインできるため、生産性の向上を見込むことができる

Hybrid ID の対象となるのは、Azure AD によって認証されるクラウドアプリケーション です。というのも、Hybrid ID はオンプレ AD DS と Azure AD のユーザ情報を同期する仕組みのことだからです。Azure AD によって認証されるアプリケーションには、以下のようなものがあります。

  • Microsoft365
  • Windows Virtual Desktop
  • Azure ポータル
  • Azure AD と統合された独自アプリケーション

ユーザの数が多い大規模なシステムほど、得られる恩恵は大きくなるでしょう。

システム構成

ここから具体的な話に入っていきます。先程、「Hybrid ID はオンプレ AD DS と Azure AD のユーザ情報を同期する仕組み」と言いましたが、正確には オンプレ AD DS → Azure AD の一方向同期となります。この同期を行うために、Azure AD Connect というツールをインストールしたサーバを用意します。

なお、同期の方法には3つの方式があります。どれを選択するかによって、クラウドアプリケーションにログインする際の振る舞いが変わります。詳しくは “注1: 同期方式の違い” を参照してください。本コラムでは、最も簡単でポピュラーな、パスワードハッシュ方式を採用することにします。

以下はパスワードハッシュ同期方式のシステム構成図です。オンプレ AD DS ドメイン上に Azure AD Connect サーバを配置します。Azure AD Connect サーバは、オンプレ AD DS ドメインのユーザ情報を読み込み、Azure AD ドメインに差分を反映させます。

Hybrid ID 環境を構築してみる

構築のポイント (前提条件)

Hybrid ID 環境には多くの前提条件があります。主なものを以下に挙げます。

  • Azure AD テナントにはカスタムドメインの設定が必要である。
  • オンプレ AD DS と Azure AD の UserPrincipalName (UPN) は一致する必要がある。
  • Azure AD Connect サーバは、オンプレ AD DS ドメインに参加しており、かつ、ドメインコントローラーとは別である必要がある。
  • その他、オンプレミス AD DS、及び、Azure AD Connect サーバに関して、以下の要件を満たしている。
    https://docs.microsoft.com/ja-jp/azure/active-directory/hybrid/how-to-connect-install-prerequisites

1番目と2番目の条件は、オンプレ AD DS と Azure AD とで同一のログイン ID を使うための条件です。このログイン ID は、正確には UPN といって “ユーザ名@ドメイン名” という形式になります。

Azure AD のドメイン名はデフォルトで “xxx.onmicrosoft.com” となっていますので、独自のドメインを取得して設定します。ここでいう “ドメイン” とは、DNS のドメインとイコールですので、レジストラからドメインを取得しなければなりません。Azure AD のカスタムドメイン設定が終わったら、今度は、オンプレ AD DS のドメイン名を、それ合わせます。AD DS ドメイン名の変更はハードルが高いですが、本コラムでは “UPN サフィックスの追加” という簡単な代替案を紹介します。

ユーザの立場からすると、ログイン ID とメールアドレスとが一致していると分かりやすいですね。従って、以下のように進めるのが理想的です。

  1. メールアドレスで使いたいドメインを Azure AD のカスタムドメインとして設定する。
  2. Azure AD のカスタムドメインに合わせて、オンプレ AD DS の UPN サフィックスを追加する。

逆に、オンプレ AD DS ドメインに Azure AD ドメインを合わせる、という考え方もできますが、オンプレ AD DS ドメインでよく使われる “.local” などは DNS ドメインとして取得できないので、Azure AD のカスタムドメインにも設定できないことに注意してください。

Hybrid ID 環境を構築する

さらに理解を深めるため、実際に Hybrid ID 環境を構築してみましょう。本質的な理解に専念するため、以下のように構成を簡略化します。

Onprem VNET (オンプレ環境の代替)
  • ドメインコントローラ 1台 (Azure VM、Windows 2019)
  • メンバサーバ 1台 (Azure VM、WIndows 2019)
Azure
  • Azure AD
クラウドアプリケーション
  • Azure ポータル

上記メンバサーバが Azure AD Connect となるサーバです。 また、オンプレ AD DS のドメイン名は “rworks-azure.local” とします。

1. Azure AD テナントにカスタムドメインを設定する

今回は検証用に “rworks-azure.tk” というドメインを取得しておきました。Azure AD のカスタムドメインとして、これを設定しましょう。”Azure AD” サービスの画面を開き、カスタムドメインを追加します。

追加すると、認証用の TXT レコードが発行されますので、これを DNS サービスに登録してください。Azure が名前解決できることを確認すると、追加したドメインは “確認済み” というステータスに変わります。

2. AD DS の UPN サフィックスを追加する

今度はオンプレ AD DS 側の設定です。Server Manager から [Tool] > [Active Directory Domains and Trusts] を開きます。開いたら、以下のように右クリックして [Property] を選択します。

[Alternative UPN Suffixes] に Azure AD のカスタムドメイン名と同じものを追加して、[OK] をクリックします。

なお、この時点では “UPN サフィックス” が追加されただけであり、実際にドメイン名が変わったわけではありません。ただ、これ以降にユーザを作成しようとすると、以下のようにドメインを選択できるようになります。ユーザを作成する際は、必ず、追加したほうのドメインを選択するようにしてください。

既存のユーザについては、PowerShell から一括変更可能が可能です。

$LocalUsers = Get-ADUser -Filter "UserPrincipalName -like '*rworks-azure.local'" -Properties userPrincipalName -ResultSetSize $null
$LocalUsers | foreach {$newUpn = $_.UserPrincipalName.Replace("@rworks-azure.local","@rworks-azure.tk"); $_ | Set-ADUser -UserPrincipalName $newUpn}

3. Azure AD Connect 用のユーザを作成する

このあとインストールする Azure AD Connect は、オンプレ AD DS と Azure AD とに接続してデータを読み取り、差分を Azure AD に書き出します。その際に使うユーザを用意します。

まず、Azure AD ユーザです。以下のように、Azure AD ロール “グローバル管理者” を持つユーザを作成してください。

次に、オンプレ AD DS ユーザの方ですが、こちらは Azure AD Connect のインストール中に作成できるので、ここでは作りません。自分で作りたい方は、作ったユーザをフォレストの管理者グループである “Enterprise Admins” に参加させてください。

4. Azure AD Connect のインストールをする

下準備がやっと終わり、いよいよ Azure AD Connect のインストールです。ドメインに参加している Windows サーバを1台、用意してください。用意ができたら、Microsoft のページ から Azure AD Connect のインストーラをダウンロードして、サーバに配置します。そして、インストーラを実行して、ウィザードに従っていきます。

“Express Setting” を使うと数クリックで同期できてしまうのですが、今回はカスタマイズ設定でやってみます。

インストールされるコンポーネント関連のオプションです。デフォルトのままとします。

サインインの方法を選びます。”パスワードハッシュ同期” を選びます。

Azure AD への接続に使うユーザを聞かれます。事前に作っておいた Azure AD グローバル管理者のユーザを入力します。

次に、オンプレ側の接続先ディレクトリを聞かれます。”rworks-azure.local” を選択します。ここで、追加した UPN サフィックスのほうを入力してもエラーになるので気をつけてください。あくまで追加したものは “代替” であり、ドメインが変更されたわけではないからです。

なお、上記ディレクトリ追加時に、オンプレ AD DS への接続用ユーザを聞かれます。”Create New AD Account” を選んで新規作成しましょう。ここで入力するのは、”接続用ユーザを作るためのユーザ” なので、ドメイン Administrator で OK です。

Azure AD とオンプレ AD DS との両方に接続ができると、オンプレ AD DS と Azure AD のドメイン対比表が現れます。右側が “Verified” になっている行が、“Azure AD が認証済みのカスタムドメインで、かつ、オンプレ AD DS の UPN サフィックスとも一致しているもの” です。この行がなければ、事前準備の設定が間違っているので、再度見直しましょう。

下に “UserPrincipalName” とあるように UPN が同期されます。実はメールアドレスなど別の属性で同期することも可能なのですが、推奨はされていません。このまま次に進みましょう。

このあとの項目は全てデフォルトで進めます。要件に合わせて、調整してください。デフォルトだと、全ての OU が同期されます。

最後に追加オプションです。”Password Writeback” を選択すると、Azure AD 側で変更したパスワードがオンプレ AD DS 側にも反映されるので便利です。(本来はオンプレ AD DS から Azure AD への一方向同期だったことを思い出してください。)

最後に、”Install” をクリックすると、設定が反映されて初回の同期が始まります。

5. ユーザが同期されていることを確認する

Azure AD にユーザが同期されていることを確認します。なお、同期はリアルタイムで行われるわけではなく、30分ごとなので注意してください。初回同期を実施したばかりなので、今回はすぐに反映されているはずですが、待てない人は PowerShell コマンドで強制同期も可能です。

Azure AD ユーザを見てみると、”同期されたディレクトリ” が “はい” になっているユーザが増えていることが分かります。無事に同期されました。

ここで、注意点が1つあります。Azure AD Connect は Azure AD にユーザを作成しただけであり、この時点では、ユーザには何の権限も割り当てられていない状態である、ということです。どのようなアプリケーションに対して、どのような操作を許可するか、は変わらず管理者のお仕事です。

今回は以下のように Azure ポータルの操作を許可するために、Azure ロールを割り当てました。実際の運用では、あらかじめ権限を割り当てたグループを作成しておき、そこにユーザを一括追加するのがよいでしょう。

以下の通り、無事にオンプレ AD DS と同じ ID とパスワードでログインできました。

まとめ

ここまで、実際に Hybrid ID 環境を構築することで、Hybrid ID の概念と仕組みについて説明しました。

Hybrid ID は専門用語が多く、公式ドキュメントを見ても、なかなか理解が難しい技術だと思います。また、作業量としてはそれほど多くないですが、満たすべき前提条件が多く、きちんと事前準備を行わないと失敗することもありますので、しっかりと概念を理解することが重要です。

Hybrid ID は他の Azure サービスで使われる構成の基本形であり、Windows Virtual Desktop や Azure Files (マネージドファイルサービス) との連携にも必要になります。また、条件付きアクセスや Intune といったサービスと組み合わせて、オンプレ環境にゼロトラストセキュリティを実現することもできます。ここから発展して出来ることがたくさんあるので、また別のコラムにて紹介します。

本コラムが、Hybrid ID 環境の導入を検討されている方の理解の手助けとなればと思います。

注1: 同期方式の違い

同期には以下の3つの方式があり、Azure AD Connect 導入時にどれかを選択する必要があります。

  • パスワードハッシュ同期方式 : オンプレ AD DS での ID と パスワードが Azure AD に同期されます。このとき、パスワードはハッシュ化されて同期されます。クラウドへのログイン時には、クラウド側で認証が行われます。もっとも簡単に Hybrid ID を実現する方法です。
  • パススルー認証方式 : オンプレ AD DS での ID のみが Azure AD に同期されます。クラウドへのログイン時には、クラウド側で認証が行われますが、内部的には Azure AD からオンプレ側にある認証エージェントを経由して、オンプレ AD DS にてパスワードの検証が行われます。コンプライアンスの関係で、パスワードをクラウドに置きたくないケースに向いていますが、オンプレ側で障害が発生するとクラウド側にもログインできなくなるため、認証エージェントの冗長化が必要です。
  • フェデレーション認証方式 : オンプレ AD DS での ID のみが Azure AD に同期されます。パススルー認証方式に似ていますが、クラウドへのログイン時にはオンプレ側にリダイレクトされ、オンプレ側で認証が行われます。自前の認証基盤を使えるので、スマートカード認証やオンプレ MFA 認証など、Azure AD がサポートしていないオプションを選択できますが、構成は複雑になります。

企業のポリシーに合わせて、最適な方式を選択する必要があります。以下にそれぞれの詳細な日比較と、どれを選択したらよいかのフローチャートがありますので、参考にしてください。
https://docs.microsoft.com/ja-jp/azure/active-directory/hybrid/choose-ad-authn

本文へ戻る

Azure設計・構築を相談する

Azure構築サービス

Azure構築サービス

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Azure導入個別相談会(無料)

Tag: ハイブリッドID

関連記事

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php