【Azure AD】条件付きアクセスにある「ドメイン参加」の条件

皆さんこんにちは。国井です。
新しいAzureポータルサイトでは、Azure ADの機能に「条件付きアクセス」と呼ばれる、Azure ADに関連付けられたアプリへのアクセスを細かく制御してくれる機能が追加されています。
条件付きアクセスのアクセス制御機能の詳細については、色々なところで解説もあるでしょうから、そちらに譲ることにして、ここではアクセス制御の機能の中にある「ドメインに参加しているデバイスが必要です」という項目に注目してみたいと思います。
実は「ドメインに参加しているデバイスが必要です」という項目、とてもよくご質問をお受けするところで、
ドメインってAzure ADドメインのこと?それともオンプレADドメイン?
オンプレADドメインだったら、どうやってドメイン参加しているって識別するの?
などなど、よく聞かれるところです。

image

ひとつずつ整理していきたいと思いますが、
まず、上の画面にもある「ドメインに参加しているデバイスが必要です」という項目が指す、
ドメインとはオンプレミスのActive Directoryドメインのことです。

次にドメイン参加しているって、どうやってAzure ADが識別するか?ですが、
残念ながら、本当にActive Directoryドメインに参加しているだけでは識別されません。

そのため、条件付きアクセスで、私のデバイスがActive Directoryドメインに参加してますって、識別させるには、Azure ADにそのことをお知らせ(=つまり、デバイス登録)しなければなりません。

そのデバイス登録の方法が次のようなやり方になります。

Step1:サービス接続ポイントを設定

サービス接続ポイントとは、クライアントコンピューターがAzure AD のテナント情報を検出するための設定で、これを設定しておくことで、Windows 10コンピューターはAzure ADに接続できるようになります。
サービス接続ポイントの設定は、Azure AD ConnectをインストールしたコンピューターからPowerShellを起動し、

Import-Module -Name “C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1”

$aadAdminCred = Get-Credential

Initialize-ADSyncDomainJoinedComputerSync -AdConnectorAccount [オンプレADドメイン名\管理者アカウント] -AzureADCredentials $aadAdminCred

以上のコマンドレットを実行するだけ。
たまに、Import-Moduleの行で失敗することがありますが、そのときはAAD Connectをインストールしたサーバーを一回再起動しましょう。
2018年4月2日追記
AdSyncPrep.psm1モジュールのロードにはMSOnlineモジュールがインストールされていることが前提条件です。もしインストールしていない場合は「Install-Module MSOnline」を実行し、PowerShellコンソール画面を開きなおしてから再度実行します。

Step2:グループポリシーでデバイス登録するように設定

Azure AD へのデバイス登録は本来、コンピューターごとに行う必要があるのですが、
お使いのPCがWindows 10であれば、グループポリシーで「デバイス登録しなさい!」という命令を送り込んで、自動的にデバイス登録を行うように設定できます。
設定項目は、コンピューターの構成>ポリシー>管理用テンプレート>Windowsコンポーネント>デバイスの登録>ドメインに参加しているコンピューターをデバイスとして登録する
このポリシー設定を有効にすればOKです。

image

Step3:デバイス登録の確認

デバイス登録はグループポリシーが適用されたタイミングで自動的に行われます。ただし、登録にはタイムラグがあるため、実際に確認できるようになるまでには少し時間がかかります。
登録確認には、Azure AD 用 PowerShellモジュールを使って、Get-MsolDevice –Allというコマンドレットを実行します。正しく登録できていれば、下の画面のようにデバイス名が表示されるはずです。
(Azure AD 用 PowerShellモジュールを使うときは必ず最新版を入れて確認してくださいね。)

image

このときに重要なポイントは、誰ユーザーがデバイスを登録したか?ってこと。
デバイスは登録さえすれば、誰でも条件付きアクセスを通過できるわけではなく、
デバイス登録を行ったユーザーがアクセスしなければ、いくら登録されたデバイスであっても「ドメインに参加しているデバイス」とはみなされません。
今回のケースでは、グループポリシーでデバイス登録しているので、デバイス登録したユーザーはグループポリシーが適用されたタイミングでサインインしていたユーザーということになります。
該当するユーザー(=グループポリシーが適用されたタイミングでサインインしていたユーザー)でサインインしている状態から、設定アプリを開き、アカウント>職場または学校にアクセスするにアクセスすると、[Azure ADに接続済み]の表示が確認できます。

image
これ、とっても重要なポイントなので、必ずチェックしておいてください。

さあ、確認の時間!

ここまでのことができたら、確認を行います。
ここでは、Exchange Online へのアクセスを制御する条件付きアクセスを設定し、

image

ドメインに参加しているときだけアクセスを許可するように設定します。

image

これで、Windows 10コンピューターから該当するユーザーでサインインし、Exchange Onlineに接続すると、アクセスできることが確認できます。一方、該当するユーザー以外でアクセスすると、デバイス登録していないとみなされるので、

image

ご覧のように条件付きアクセスの機能によってブロックされます。

■ ■ ■

いかがでしたでしょうか?
この機能、便利なんですけど、Windows 7で使えるの?とか、ADFS環境でも使えるの?とか、いろいろ出てくると思います。細かな条件については本家サイトで紹介しているので、ご覧になってみてください。

【参考】Azure Active Directory への Windows ドメイン参加済みデバイスの自動登録の構成方法
https://docs.microsoft.com/ja-jp/azure/active-directory/active-directory-conditional-access-automatic-device-registration-setup

【2017年8月29日追記】Troubleshooting auto-registration of domain joined computers to Azure AD – Windows 10 and Windows Server 2016
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-device-registration-troubleshoot-windows