AzureADとIntuneでデバイス認証してみた

# 1, はじめに

最近ゼロトラストネットワークという言葉をよく耳にするようになりました。 
またコロナウイルスの影響もあり、リモートワーク環境が少しずつ当たり前になりつつあると感じています。 
このような状況では、IP制限のみで制御しきれなくなってきています。 
そんな中でデバイス認証がこの状況を打破する手法ではないかと考えています。 
今回はAzureADとMicrosoft Intuneを用いたデバイス認証の手法を検証していきます。今回制限をかける範囲は、Azureでの作業です。 

# 2. Microsoft Intuneとは

Microsoft Intuneとは、Microsoftの製品の一つで、[公式ドキュメント](https://docs.microsoft.com/ja-jp/mem/intune/fundamentals/what-is-intune)には以下のように記されています。

> Microsoft Intune は、モバイル デバイス管理 (MDM) とモバイル アプリケーション管理 (MAM) を中心にしたクラウドベースのサービスです。

要するに、デバイス管理とモバイルデバイス(持ち運び可能なPC, スマホなど)のアプリケーションを管理することができます。 
今回はこちらのデバイス管理の機能を用いて、デバイス認証を検証していきます。

# 3. 事前準備

今回は検証のため、[EMS(Enterprise Mobility + Security E5)](https://www.microsoft.com/ja-jp/microsoft-365/enterprise-mobility-security)の無料試用版を使用します。 
EMSの内容は以下画像の通り、AzureAD Premium P2, Azure Rights Management, Microsoft Intuneが含まれているパッケージです。 
こちらをアクティブ化して使用します。

<img width="582" alt="EMS.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/712b3e2a-8584-d864-fad3-c4510346ff8f.png">

図.3.1 EMSの内容紹介

# 4. デバイス認証検証

私が普段使用しているmacOSを使ってデバイス認証を行います。 
macOSのデバイス認証は、ログイン時にクライアント証明書を求められるようになります。 
windows端末である場合、デバイス登録部分の手順が異なるので、windows端末で検証する場合は、[「Windows デバイスの Intune 登録方法」](https://docs.microsoft.com/ja-jp/mem/intune/enrollment/windows-enrollment-methods)を参照ください。

## 4.1. Intuneライセンスの付与

今回の検証用に[intune test user]というユーザーを作成したので、このユーザーにIntuneのライセンスを以下手順で付与します。

1. [intune test user]ユーザーを選択し、[ライセンス]を選択。
<img width="1220" alt="intune_test_user_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/69ca7ebe-a60a-84b5-1a79-64ea63628b1b.png">


2. [割り当て]を選択。
<img width="1174" alt="intune_test_user_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/046c57b9-8d93-eae3-1cb8-a0fb439ff0a1.png">


3. Intuneを選択して[保存]を選択。
<img width="675" alt="intune_test_user_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/e674f579-ba2a-f39c-5e48-fcceac3c09e8.png">


## 4.2. プッシュ通知証明書の登録

macOSデバイスを登録する際にプッシュ通知証明書の登録が必要となります。 
プッシュ通知証明書の登録手順は、[Apple MDM プッシュ証明書を取得する](https://docs.microsoft.com/ja-jp/mem/intune/enrollment/apple-mdm-push-certificate-get)を参照ください。

## 4.3. デバイスの登録

macOSのデバイス登録手順は、[Intune で macOS デバイスの登録をセットアップする](https://docs.microsoft.com/ja-jp/mem/intune/enrollment/macos-enroll#user-owned-macos-devices-byod)に記載されています。 
ABM([Apple Business Manager](https://www.apple.com/jp/business/it/))を利用していると、一括登録ができるので、簡単にデバイス登録ができます。 
今回は個人利用端末での検証のため、macポータルサイトアプリをダウンロードし、以下手順でデバイスの登録を行います。

1. [aka.ms/EnrollMyMac](https://aka.ms/EnrollMyMac)からポータルサイトアプリをダウンロードする。

2. ダウンロードしたファイルを開く。
<img width="757" alt="device_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/f01ef329-0a20-0ac7-7c93-9524d371844c.png">


3. [続ける]を選択。
<img width="624" alt="device_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/64ef1a6d-1746-1852-f2b5-07dd99237350.png">


4. [続ける]を選択。
<img width="621" alt="device_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/239bd577-b9b1-f481-298b-bca293813b4a.png">


5. [同意する]を選択。
<img width="619" alt="device_4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/22b716cd-ccfc-407a-e014-8d0effe71a5a.png">


6. [インストール]を選択。
<img width="619" alt="device_5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/4d549511-9704-1c0a-1d7c-b9c1c144fa46.png">


7. 認証を行い、インストールする。
<img width="619" alt="device_6.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/938a5096-9343-b19c-f190-bea86324c12c.png">


8. [閉じる]を選択。
<img width="619" alt="device_7.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/c6492d01-72b9-0ca3-bc10-837152d7061b.png">


9. [OK]を選択。
<img width="622" alt="device_8.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/c84418bc-8e7f-48f6-46e8-c1751b4f9861.png">


10. インストーラを今後使用しない場合は、[ゴミ箱に入れる]を選択。
<img width="617" alt="device_9.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/7f452c44-423e-2980-0184-caa470c303d3.png">


11. アプリケーションフォルダに[ポータルサイト.app]が存在することを確認し、[ポータルサイト.app]開く。
<img width="756" alt="device_10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/81ffe755-dfbe-ff82-a4db-120bd5718c8d.png">


12. [サインイン]を選択。
<img width="801" alt="portal_site_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/422218c2-db97-6af7-c999-123b8167594e.png">


13. 使用デバイスと紐付けるユーザーでサインインする。
<img width="807" alt="portal_site_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/9613d9ae-4016-280e-8d1c-227de5f82de5.png">


14. パスワードを入力し、[サインイン]する。
<img width="801" alt="portal_site_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/419f469a-037d-1860-7f95-7b767dd2cfe4.png">


15. 接続が確立されたら、[開始]を選択。
<img width="801" alt="portal_site_5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/e4b814d6-e3ee-c744-fb53-6e96a4cdd01c.png">


16. [続行]を選択。
<img width="808" alt="portal_site_6.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/57513685-36ba-0765-9ea5-06a89f0b5401.png">


17. 手順に則り進める。
<img width="805" alt="portal_site_7.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/2163034e-4fa6-5ca0-fa32-bcbd43c2f9da.png">
<img width="666" alt="portal_site_8.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/775878b6-c2cf-b879-5649-3ffcc70bad33.png">
<img width="664" alt="portal_site_9.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/f97d7d49-6359-742c-1914-624c36d0b43c.png">
<img width="804" alt="portal_site_10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/0226980a-1ba6-13ee-f929-9f273b878f85.png">


18. [完了]を選択。
<img width="801" alt="portal_site_11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/7321b9f5-1d55-a677-0df8-6fe874ccb0ec.png">

19. ポータルサイトに戻り、デバイスが登録されていることを確認する。(デフォルトのポリシーを適用しているため、準拠状態になっています。)
<img width="1235" alt="portal_site_12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/fb560f3d-dc56-18d7-5578-9ef8dba9c1ba.png">


## 4.4. 条件付きアクセス

条件付きアクセスポリシーを追加し、今回検証用に作成した[intune test user]に紐付けます。 
「デバイス準拠ポリシー」という名前で、条件は、「デバイスは準拠しているとしてマーク済みである必要があります」にチェックを入れています。 
詳細は以下画像を参照ください。

ポリシー付与対象ユーザーを「intune_test_user」に設定
<img width="645" alt="access_policy_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/46363a3a-9dcf-a7e6-80f4-961e0e225873.png">

ポリシー適用アプリを「すべてのクラウドアプリ」に設定
<img width="648" alt="access_policy_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/50a29fd0-dc21-a8a5-8fda-6b2f3579d524.png">

アクセス許可する条件を「デバイスは準拠しているとしてマーク済みである必要があります」に設定
![access_policy_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/51fe5ad5-8b7c-cbca-df01-45f96164b795.png)




## 4.5. ログイン検証

デバイス登録した端末を使用して、[intune test user]でログインをすると、クライアント認証が求められます。こちらで使用する証明書はデバイス登録時に端末に保存されているため、その証明書を使用することになります。
<img width="1420" alt="login_test_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/3a94662b-3633-444f-e934-b81e609eee01.png">


デバイス登録していないデバイスでログインすると、以下のような表示が出ます。
![login_test_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329544/4c621a7b-c63a-e817-2b6e-bff1030deeef.jpeg)


[今すぐ登録]を選択し、先に進むとポータルサイトからデバイス登録するよう促されます。 
各個人が持ってる端末が1台ずつである場合、デバイス登録の上限を設定することでデバイスを登録させないようすることも可能です。 
他にもデバイス登録に制限をかけることができます。デバイス登録制限をするには、[登録制限を設定する](https://docs.microsoft.com/ja-jp/mem/intune/enrollment/enrollment-restrictions-set)を参照ください。

# 5. まとめ

AzureADとMicrosoft Intuneを使用したデバイス認証を検証しました。 
デバイス認証ができるようになれば、IP制限から解放され、場所にとらわれない環境
を実現することができるので、個人的にとてもありがたいことだと感じています。 
また、Office365製品や、その他AzureAD認証をかけられるサービスも同様にデバイス認証をかけることができるようになるので、とても便利です。 

Microsoft Intuneは他にもデバイスを管理する機能があるため試用期間中に様々なことを検証してみようと思いました。


# 参考資料

- Microsoft Intune ドキュメント  
  https://docs.microsoft.com/ja-jp/mem/intune/fundamentals/what-is-intune
- Windows デバイスの Intune 登録方法  
https://docs.microsoft.com/ja-jp/mem/intune/enrollment/windows-enrollment-methods
- Apple MDM プッシュ証明書を取得する  
https://docs.microsoft.com/ja-jp/mem/intune/enrollment/apple-mdm-push-certificate-get
- 登録制限を設定する  
https://docs.microsoft.com/ja-jp/mem/intune/enrollment/enrollment-restrictions-set