はじめに
注意:この記事は 2026年 5月時点の情報をもとに書かれています。
Microsoft 365(M365)の導入が進む中、企業の情シスやネットワークエンジニアにとって「会社のアカウントは許可するが、個人のアカウントや他社テナントへのログインは禁止する」というテナント制限(Tenant Restriction)は必須要件になりつつある。
Fortinetの公式ドキュメント(Restricted SaaS access)を読めば、FortiGateの機能を使ってこのテナント制限をネットワーク側で制御できることがわかる。
しかし、ここで「スモールオフィス向けだから安価なFortiGate 50Gを選ぼう」と判断すると、構築フェーズで完全に詰むことになる。本記事ではその技術的な理由と、正しい機器選定について解説する。
1. 課題:M365のテナント制御(TR)の仕組み
M365のテナント制御(TRv1や最新のTRv2)をネットワーク機器で実現するためには、HTTPS通信のヘッダー書き換え(Header Insertion)が必須となる。
具体的には、PCがM365の認証エンドポイント(login.microsoftonline.com や login.live.com など)へアクセスする際、ネットワーク機器がSSLインスペクションで通信を解読し、HTTPヘッダーに以下のような特定の値を強制的に挿入する。
- TRv1:
Restrict-Access-To-Tenants - TRv2:
sec-Restrict-Tenant-Access-Policy
Microsoft側はこのヘッダーを見て「許可された組織からのアクセスか」を判定している。つまり、「ヘッダーの挿入」ができなければテナント制御は成立しない。
2. 機器選定の罠:なぜFG-50Gではダメなのか
FortiGateのWebフィルタ機能には、このヘッダー挿入機能が備わっている。公式ドキュメントにも設定手順が明記されているため、最新のOS(FortiOS 7.4や7.6)を積んだFG-50Gを買えばできると誤認しやすい。
しかし、FG-50G(RAM 2GBモデル)ではこのヘッダー挿入が不可能だ。
理由は、FortinetのOS仕様変更にある。FortiOS 7.4.4以降、メモリが2GB以下のローエンドモデルからは、リソース保護のために「プロキシ関連機能」が完全に削除された。
(参考:Proxy-related features no longer supported on FortiGate 2 GB RAM models
- ヘッダー挿入は、インスペクションモードが「プロキシベース(Proxy-based)」でなければ動作しない。
- FG-50Gではプロキシモードが選べず、「フローベース(Flow-based)」に固定される。
- フローベースのWebフィルタは「URLを見て遮断する(検閲)」ことはできても、「パケットの中にヘッダーを書き足す(編集)」ことはできない。
結果として、設定画面からHeader Insertionの項目が消滅し、CLIで叩き込んでも機能しないという事態に陥る。
(参考)インスペクションモードについて
3. 解決策:どのモデルを選ぶべきか、どう構成すべきか
ネットワークベースでのテナント制限を要件に含める場合、解決策は以下のいずれかになる。
- 解決策A:メモリ4GB以上のモデルを選定する(推奨)
- スモールオフィスであっても、FG-90G 以上のモデルを選定すること。
- これらはメモリ要件をクリアしており、最新のOSでもプロキシベースのWebフィルタとヘッダー挿入機能がフルに活用できる。
- ※あるいは FG-70Gでも可か?メモリの情報がなかったので判断不能。
- 解決策B:エンドポイント側(Intune等)で制御する
- ネットワーク機器でのヘッダー挿入を諦め、Microsoft Intune等を利用してWindows OSのレジストリやブラウザ設定から直接TRv2のヘッダーを送出させる構成にする。
- 解決策C:古いOSの機器をプロキシ専用として内側に置く(ハック)
- すでにFG-50Gを買ってしまった場合の最終手段。プロキシ機能が削除される前のOS(FortiOS 7.2系など)で稼働するルーター(FG-60Fなど)を、FG-50Gの内側に透過モード(Transparent)で配置する。
- FG-60FのWebフィルタでヘッダー挿入だけを肩代わりさせる構成だが、管理対象が増え、古いOSを維持するセキュリティリスクも伴うため、あくまで緊急避難的な措置である。
まとめ
公式ドキュメントは「OSが持つ全機能」を解説しているが、「ハードウェアの制限」までは各ページに書かれていない。M365の通信制御のように「パケットの中身を書き換える」重たい処理を実装する際は、単に最新OSに対応しているかだけでなく、「プロキシ機能がサポートされるメモリ容量(4GB以上)か」を必ず確認すること。