クライアント アクセス規則によるExchange Onlineのアクセス制御

こんちには!テクバン サポート チームの山本です。

今回は、Exchange Onlineの標準機能であるクライアント アクセス規則を利用して、OutlookやOutlook on the web等、Exchange Onlineへのアクセスを制御する方法についてのご紹介です。

クライアント アクセス規則とは

クライアント アクセス規則を利用することで、例えば社外からのOutlook 接続をブロックする等、条件に合致したExchange Onlineへのアクセスを制御することができます。

こちらはExchange Onlineの標準機能となっており、Azure AD PremiumやEnterprise Mobility & Security ( EMS ) など追加のライセンスが必要ないため、追加費用なしで実装でき、大変便利です。

クライアント アクセス規則にて使用できる条件は以下のようなものがあります。

(1) 場所

特定のグローバルIPアドレスを指定、もしくはグローバルIPアドレスのレンジなどを指定できます。

(2) 認証方式

AD FS 認証、ベーシック認証などを指定できます。

(3) ユーザー毎

特定のユーザーを指定できます。

(4) アクセス方式

ActiveSync、POP3、IMAP4、ブラウザ、PowerShellなどアクセス方式を指定できます。

(5) ユーザー属性

会社名や部署などユーザーに設定されている属性値を指定できます。

※ 使用できるすべての条件については、以下のMicrosoft 公開情報をご覧ください。

> Exchange Online のクライアント アクセス規則 – クライアント アクセス規則の条件と例外

> https://docs.microsoft.com/ja-jp/exchange/clients-and-mobile-in-exchange-online/client-access-rules/client-access-rules#client-access-rule-conditions-and-exceptions

※ 本機能の制約として、「モバイル版Outlookからのアクセスは制御できない」仕様となっております点についてはご留意ください。

設定

ここでは例として、「Outlook on the web へのアクセスを、特定のグローバルIPアドレスからのみに限定する」といったクライアント アクセス規則を作成してみたいと思います。(自社からしか利用させたくないなどのケースですね。)

クライアント アクセス規則は、Web ( Exchange 管理センター ) からは設定ができないため、まず初めにWindows PowerShellにてExchange Onlineに接続してから設定作業を行います。

※※ 注意 ※※

クライアント アクセス規則により、Windows PowerShellによるExchange Onlineへの接続までブロックされ設定変更ができなくなってしまうのを防ぐために、最上位の優先順位でWindows PowerShellによるExchange Onlineへの接続を常に許可するクライアント アクセス規則を設定することがMicrosoftにより推奨されています。

※※ 注意 ※※

そのため、まずは以下のコマンドにて、Windows PowerShellによるExchange Onlineへの接続を常に許可する規則を作成します。

> New-ClientAccessRule -Name “Allow RemotePowerShell” -Action AllowAccess -AnyOfProtocols RemotePowerShell -Priority 1

その後、以下のコマンドにて、Outlook on the web アクセスを特定のグローバルIPアドレスからのみに限定する規則を作成します。

> New-ClientAccessRule -Name “Deny Oulook on the web (Exept specific IP)” -Action DenyAccess -AnyOfProtocols OutlookWebApp -ExceptAnyOfClientIPAddressesOrRanges “192.168.100.100” -Priority 2

ちなみに上記規則の内容を詳細に解説すると、

  ・ Outlook on the webによるExchange Onlineへのアクセスをブロックする

  ・ ただし、IPアドレス “192.168.100.100” からのアクセスである場合は例外として許可する

という規則となっています。(IPアドレスの値は環境に併せて変更してください。)

ここまで設定が完了したら、以下のコマンドで設定内容を確認しましょう。

> Get-ClientAccessRule

これで設定は完了です。

ルールのテスト

設定後は、「Test-ClientAccessRule」コマンドにてクライアント アクセス規則の適用状況を確認することができます。

例えば、以下のようなコマンドを実行します。

> Test-ClientAccessRule -User user001@contoso.com -AuthenticationType BasicAuthentication -Protocol OutlookWebApp -RemoteAddress 172.17.17.17 -RemotePort 443

すると、適用されるクライアント アクセス規則が返されます。

規則にて設定したグローバルIPアドレス外からのOutlook on the web アクセスを想定しているため、規則が適用され、アクセスが拒否されていることがわかります。(「Action」 が 「DenyAccess」 になっていますね。)

次は、以下のコマンドを実行します。

> Test-ClientAccessRule -User user001@contoso.com -AuthenticationType BasicAuthentication -Protocol OutlookWebApp -RemoteAddress 192.168.100.100 -RemotePort 443

上記コマンドの場合、規則で例外として許可しているグローバルIPアドレスからのOutlook on the web アクセスを想定しているため、結果は何も返ってきません。クライアント アクセス規則が適用されないため、アクセスは許可されることとなります。

アクセス確認

では実際に、Outlook on the web ( https://outlook.office.com/ )にアクセスしてみましょう。

※※ 注意 ※※

クライアント アクセス規則を初めて設定した場合、反映に最大24時間かかる場合があります。この検証中も、クライアント アクセス規則にて想定通りのアクセス制御が実施されるまで12時間程度かかりました。

※※ 注意 ※※

(1) 例外指定したグローバルIPアドレス以外からアクセスした場合

Outlook on the webにサインインすると、以下のような画面が表示され、アクセスがブロックされます。(「 🙁 」は顔文字です。縦に見てください。。)

(2) 指定したグローバルIPアドレスからアクセスした場合

クライアント アクセス規則にて、例外としてアクセスを許可するグローバルIPアドレスからOutlook on the webにアクセスした場合は、アクセスが可能となります。

いかがでしたでしょうか。

Office 365 全体のアクセス制御とはいきませんが、Exchange Onlineに限定したアクセス制御であれば、クライアント アクセス規則を利用することで追加費用なしで、ある程度は実装することが可能となります。

アクセス制御を実施したい、でも追加で費用はかけたくない…といったユーザー様につきましては、本機能の利用を検討していただければと思います。