Azure ADデバイス登録とデバイス認証

皆さんこんにちは。国井です。

このブログでは、ADFSサーバーを利用して様々なシングルサインオンのパターンや、
アクセス制御方法のパターンを紹介してきました。
しかし、最近ではAzure ADを使って、これらを実現する方法が急速に実装されてきており、
今日紹介するAzure ADのデバイス認証機能もそのひとつです。

Azure ADのデバイス認証機能とは、
Azure ADに登録されたアプリ(クラウドサービス)にアクセスする際、
あらかじめ登録されたデバイスからのアクセスだけを許可する
というもので、

会社支給のデバイスからのみアクセスを許可させたい

という、多くの会社でのニーズを満たすものになっています。
イメージとしては、こんな感じです。

image

これから先、とても注目されることになるであろう
この機能について、今日は見てみたいと思います。

■ ■ ■

正確には「デバイス ベースのアクセス規則」と呼ばれる、
Azure ADのデバイス認証機能は、概念的なところは、最近お瘦せになって爽やかなイケメンになった!と噂のふじえさんのブログで紹介されているので、そちらに譲ることとして、私のところでは実装方法を見てみます。
デバイス認証の実装は、プレビューだったころから少し変わっているようで、このブログを公開している時点では次のステップで実装するようになっています。

1.Azure ADにアクセスさせたいアプリを登録

2.アプリへのアクセスを許可させたいデバイスを登録

3.デバイス認証を有効化

では、細かな解説なども入れながら、順番に見てみましょう。

1. Azure ADにアクセスさせたいアプリを登録

Azure ADにアプリを登録する方法については、既に当ブログでも紹介しているので、そちらを参考にしてください。

Windows Azure Active Directoryのアプリケーション連携
http://azuread.net/2013/10/15/windows-azure-active-directory%e3%81%ae%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e9%80%a3%e6%90%ba/

2. アプリへのアクセスを許可させたいデバイスを登録

アプリへのアクセスを許可させたいデバイスを登録するときは、デバイス登録の作業が必要になるのですが、このデバイス登録というのが少しややこしいのです。

まず、Windows10の場合、デバイス登録には4種類の登録方法が存在します。

image

このうち、Azure ADにデバイス情報を登録しているのが、
Azure AD参加社内参加の2種類です。
(Azure AD参加と社内参加の違いについては当ブログのこちらを参照のこと)

このいずれかの登録方法でデバイスを登録すると、デバイス認証に必要な条件が一部整うことになります。

デバイス認証なんだから、Azure ADにデバイス登録されていれば、いいんじゃないの?

って思った人もいると思いますが、残念ながら、これだけではデバイス認証で許可されることはありません。もうひとつの登録先である、Microsoft Intuneへのデバイス登録も必要です。

ここまでの話をまとめると、アプリへのアクセスを許可させたい場合のデバイス登録方法は、

Azure AD参加 + Intuneデバイス登録
社内参加 + Intuneデバイス登録

のいずれかになります。
登録方法はWindows10の[設定]-[アカウント]-[職場または学校にアクセスする]画面から以下の方法で行います。

image

また、Azure ADへのデバイス登録とIntuneへのデバイス登録を別々に設定するのが面倒という場合には、
Microsoft Azure管理ポータルのAzure ADのアプリケーション一覧画面からMicrosoft Intuneアプリにアクセスし、[これらのユーザーのデバイスの管理]という項目で、[すべて]または[グループ]を選択すれば、Azure ADに登録されたデバイスは自動的にIntuneにもデバイス登録されるという機能がありますので、これを使うと便利です。

image
ここまでの話をすると、「えっ、デバイス認証機能って、Microsoft Intuneが必要なの?」ということになると思いますが、ここでいうIntuneへのデバイス登録というのは、OMA-DM準拠のMDMへのデバイス登録のことなので、必ずしもIntuneでなくてもよいのです。
(試したことないけど、Office 365 MDMでもいけるのかしら?)

その他、デバイス登録そのものを簡単にできないように制御できないの?という疑問もあるかと思いますが、Microsoft Azure管理ポータルのAzure ADの[構成]画面から、デバイス登録に関わる各種制限が設定できるようになっているので、こうしたものを利用したり、

image

その他、(私自身、詳細な検証はこれからなのですが)Intuneへのデバイス登録であれば、Microsoft Azure管理ポータルのAzure ADのアプリケーション一覧画面からMicrosoft Intune Enrollmentアプリにアクセスし、[多要素認証と場所ベースのアクセス規則]を使えば、IPアドレスベースでデバイス登録の可否も制御できると思います。

image

3. デバイス認証を有効化

最後は、いよいよデバイス認証を有効化します。
デバイス認証の有効化は、Microsoft Azure管理ポータルのAzure ADのアプリケーション一覧画面から該当するアプリを開き、[構成]画面から設定します。

image

[デバイスベースのアクセス規則]を有効化し、[適用対象]欄でデバイス認証で制御するユーザーまたはグループの選択、[デバイスルール]欄で、デバイス認証の対象となるOS種類をそれぞれ選択します。
(ちなみに、Windowsデバイスの場合、[ドメイン参加済み]または[ポリシーに準拠]またはそのどちらか、を条件として設定できるのですが、
ドメイン参加済み=Azure ADにデバイス登録
ポリシーに準拠=Intuneにデバイス登録
のことなので、両方登録しないとデバイス認証が利用できない、という前提条件と矛盾するような気がします。。
果たして、この項目はどうやって使うのでしょうか。。)

それからデバイス認証で利用可能なブラウザー種類とアプリケーションの種類は
MSサイト「アプリケーションの条件付きアクセスのサポート」を参考にしてください。

■ ■ ■

以上の条件が整うと、アプリにアクセスるタイミングでデバイス認証が実行されます。
うまく認証(認可)された場合は、特に「デバイス認証されましたよ」みたいな画面が出ることもなく、そのままアプリにアクセスできます。
一方、デバイス認証されなかったときは、こんな感じの画面が出ます。

image

デバイス認証は、少しクセのある機能ではありますが、これから先、Azure ADを起点としたクラウドサービスへのアクセス環境を実装していこうと思った時には、
利用することも多い機能だと思いますので、今からおさえておきたいですね。

【関連情報】
職場での Windows 10 デバイスの使用
https://azure.microsoft.com/ja-jp/documentation/articles/active-directory-azureadjoin-windows10-devices/
Azure Active Directory に接続されたアプリケーションのアクセスを制御する Azure Active Directory デバイス ベースの条件付きアクセス ポリシーを設定する方法
https://azure.microsoft.com/ja-jp/documentation/articles/active-directory-conditional-access-policy-connected-applications/