Microsoft Entra テナント制限 v1 と v2 の違い

# はじめに
テナント制限には v1 と v2 があります。
v2 は、[2023年5月からパブリックプレビュー](https://jpazureid.github.io/blog/azure-active-directory/tenant-restriction-v2-is-now-public-preview/) で提供された機能です。
v2 と識別するために、従来からあった「テナント制限」を v1 と呼ぶようになったようです。
この記事では、v1 と v2 の機能の違いや、組み合わせて使う必要性についてまとめてみました。

# テナント制限とは何か？
テナント制限とはどういうものか？
それと、機密情報の流出を防ぐうえで、テナント制限と組み合わせて考える必要があるアクセス制御はどういうものがあるのかを、以下の記事にまとめました。ぜひ こちらも参照ください。

https://qiita.com/carol0226/items/3bcf4e2014c422679733

# テナント制限 v1 と v2 の違い
v1 と v2 の機能の違いを表にしてみました。
|   | テナント制限v1 | テナント制限v2 |備考|
|:-:|:-:|:-:|:-:|
|提供時期|以前から提供|[2023年5月からパブリックプレビュー](https://jpazureid.github.io/blog/azure-active-directory/tenant-restriction-v2-is-now-public-preview/)||
|プロキシサーバー|必須|不要|v1 では端末が必ずプロキシを経由するような構成が必要です。<br>v2 では 端末から直接インターネットに出るような構成でも利用が可能です。|
|デバイス|すべてのデバイス|Windowsデバイス のみ|(★1)<br>v2は 他社製デバイスは制御できない|
|細かい制御|できない|テナント、ユーザー、グループ、アプリケーションを細かく制御可能||
|匿名アクセス|できてしまう|ブロック可能|v1 は匿名アクセスが穴|
|制御可能なアプリ|すべて|Microsoftアプリ のみ|(★2)<br>v2は 他社製アプリをテナント制限できない|

★ をつけた個所は、v2 のデメリットです。
★1 は、他社製デバイスが 社内ネットワークに接続されないような対処策と組み合わせる必要があります。
（厳格な持ち込みPC持ち込み制限、 802.1x認証スイッチ、VDIの採用など）
★2 は、Chromeなどの他社製アプリには テナント制限が掛けられません。
WDACポリシーを使うと Chromeなどが Microsoft 365などの テナントの認証を必要とするサイトへのアクセスだけを許可し、その他のアクセスをブロックさせることで その対策ができます。

（詳細：テナント制限 V1 と V2 を比較する）
https://learn.microsoft.com/ja-jp/azure/active-directory/external-identities/tenant-restrictions-v2#compare-tenant-restrictions-v1-and-v2

# どう使い分けるべきか？
v1 と v2 は、それぞれ メリット・デメリットがあるので、特長を踏まえて、v1 か v2 を単独で使うか、両方を組み合わせるかを 考慮して活用すると良いと思います。

私の想像レベルですが、以下のようなシナリオが考えられそうです。

## 自社のネットワークに接続する端末を Windowsデバイスのみに統一できる場合
AVD を使っていて 実質的に 全クライアントが Windows10/11 のみである または、L2 Switch で、802.1x認証を採用していて 自社Windowsデバイス以外は 物理的にアクセスされることが出来ない環境、厳格な持ち込み制限があり 物理的に社外PCは持ち込めない、などのシチュエーションに適していると思います。
この場合は、「テナント制限v2」がお勧めです。
プロキシサーバーの運用が不要という点が、最大のメリットであり、すべて Microsoft提供のソフトウェア機能だけで実現できます。

:::note warn
テナント制限v2 のみを使った場合、端末上の Edge や Officeなどの MS製アプリの制限は可能なものの、Chrome や Safari などの外部アプリケーションには テナント制限が掛かりません。制限を掛けるためには、WDAC を使って制御することが可能です。
:::

## 社内LAN配下に さまざまな OSメーカーのデバイスがあり、匿名アクセスは容認できる
社内LAN環境には、Windows以外に Mac、ChromeBook、タブレット、スマホなど、あらゆるデバイスが接続されているような環境の場合は、「テナント制限v1」がお勧めです。
プロキシサーバーの導入が必要になってしまいますが、テナント側と プロキシサーバーの設定のみで構成することができ、端末側は何も設定する必要はありません。

## 自社のネットワークには、さまざまな OSメーカのデバイスが接続可能で、テナント制限では 細かい制御が必要となる場合
「テナント制限 v1 と v2」を組み合わせてハイブリッドで導入することをお勧めします。
「テナント制限v1」を使って、社内の全デバイスからの 他社テナントへのサインインを制限します。しかし これだけでは、匿名アクセスが許可されてしまうし、テナントごとの制御や ユーザー・グループごと、アプリケーションの種類などによって、テナント制御のON/OFF をコントロールすることはできません。
そのため、「テナント制限v1」で、ブロックすべきおおざっぱなテナント制御を構成しておき、より細かい制御が必要な部分を「テナント制限v2」で さらに制限を強化します。

# 関連記事
私の方で テナント制限v2 を実装する方法について、記事化してあります。
画面キャプチャ付きで、判りやすく手順化していますので、ぜひ、参照いただき お試しください。

https://qiita.com/carol0226/items/f0d9bcb8adffb66d49f2

以降で紹介する記事は、私は 未だ検証はできていないのですが、色々なサイトを見てきたなかで 判りやすくまとめられていて、私も参考にさせていただいた記事です。

## テナント制限v1 の関連記事

https://learn.microsoft.com/ja-jp/azure/active-directory/manage-apps/tenant-restrictions

https://qiita.com/Aida1971/items/104d9444aa6047420b0f

https://www.cloudou.net/azure-virtual-desktop/avd040/

## テナント制限v2 の関連記事

https://learn.microsoft.com/ja-jp/azure/active-directory/external-identities/tenant-restrictions-v2

https://jpazureid.github.io/blog/azure-active-directory/tenant-restriction-v2-is-now-public-preview