Microsoft 365 では他組織のテナントに接続させないために Proxy を利用した Tenant Restriction を行うことができます。
Tenant Restriction を行うと、設定したテナント以外へのアクセスを拒否することができるのですが、今まではコンシューマー向けのサービスである Microsoft Account 関連のアクセスには対応することができませんでした。
これ、結構致命的で login.live.com へのアクセスを遮断することを同時に行うことで対処するケースがあったのですが、なんと 2021 年 7 月頃から Microsoft Account への対応ができる機能がリリースされていたようです。
ちょろっと書かれているのですが、すごく重要な内容ですね笑
早速設定を行ってみました。
簡単に実装するため、 Fiddler を利用します。
この方法も上記 docs に記されているのでチェックしてみてください。
ルールの設定で以下メソッドに追記することで、 Fiddler 通過後にカスタムヘッダーを与えることができます。
OnBeforeRequest
こんな内容を追記してみましょう。
if (
oSession.HostnameIs("login.microsoftonline.com") ||
oSession.HostnameIs("login.microsoft.com") ||
oSession.HostnameIs("login.windows.net")
)
{
oSession.oRequest["Restrict-Access-To-Tenants"] = "Tenant.onmicrosoft.com";
}
こうすると、ほかのテナントにログインしようとするとブロックされ、アクセスできないように制御されます。
ここまでは今までの動きですが、ここに以下の内容を追加してみてください。
if (
oSession.HostnameIs("login.live.com")
)
{
oSession.oRequest["sec-Restrict-Tenant-Access-Policy"] = "restrict-msa";
}
login.live.com へのアクセス時に sec-Restrict-Tenant-Access-Policy ヘッダーに restrict-msa という値を与えるという内容です。
先のものと合わせるとこんな感じですね。
この状態でコンシューマー向け Outlook を起動してみましょう。
このサイトでサインインを行います。
まずはアカウントを入力して、、、
パスワードレス設定を入れていたので、 Microsoft Authenticator の確認が表示されました。
要するにサインインまでは行うという感じですね。
結果、サインイン後にアクセスできないことが通知される流れになっています。
この機能を活用すると、 AutoPilot や Windows Update など、ユーザーを介さないトラフィックはそのまま通過できるため、融通の利いた構成とすることができるようになります。
ようやく来たかーという感じですので、コンシューマー側にアクセスさせたくない組織の管理者はこの設定をチェックしておくとよいでしょう。
音楽:テレサ