Exchange Online のクライアント アクセス規則に関する手順

概要: Exchange Online でクライアント アクセス規則を表示、作成、変更、削除、テストする方法について説明します。

クライアント アクセス規則は、接続プロパティに基づいて Exchange Online の組織へのクライアントの接続を許可またはブロックします。 クライアント アクセス規則の詳細については、「Exchange Online のクライアント アクセス規則」を参照してください。

注:

2022 年 10 月以降、クライアント アクセス規則を使用していない既存のすべてのExchange Online組織のクライアント アクセス規則へのアクセスが無効になりました。 2023 年 10 月には、すべてのExchange Online組織でクライアント アクセス 規則のサポートが終了します。 詳細については、「Exchange Onlineでのクライアント アクセス規則の廃止」を参照してください。

規則が期待どおりに動作することを確認してください。 各規則と規則間の相互動作を十分にテストしてください。 詳細については、このトピックで後述する「Exchange Online PowerShell を使用してクライアント アクセス規則をテストする「」のセクションを参照してください。

始める前に把握しておくべき情報

  • 各手順の推定完了時間: 5 分未満

  • このトピックの手順は、Exchange Online の PowerShell でのみ利用できます。 Windows PowerShell を使って Exchange Online に接続する方法については、「Exchange Online PowerShell に接続する」を参照してください。

  • クライアント アクセス 規則では、IPv4 アドレスと IPv6 アドレスがサポートされます。 IPv6 アドレスと構文の詳細については、Exchange 2013 トピック「 IPv6 アドレスの基本」を参照してください。

  • この手順を実行する際には、あらかじめアクセス許可が割り当てられている必要があります。 必要なアクセス許可を確認するには、「Exchange Onlineの機能のアクセス許可」の「メール フロー」エントリを参照してください。

  • このトピックの手順で使用可能なキーボード ショートカットについては、「Exchange 管理センターのキーボード ショートカット」を参照してください。

ヒント

問題がある場合は、 Exchange のフォーラムで質問してください。 次のフォーラムにアクセスしてください: 「Exchange Online」または「Exchange Online Protection」。

Exchange Online PowerShell を使用してクライアント アクセス規則を表示する

すべてのクライアント アクセス規則の要約一覧を返すには、次のコマンドを実行します。

Get-ClientAccessRule

特定のルールについての詳細情報を返すには、次の構文を使用します。

Get-ClientAccessRule -Identity "<RuleName>" | Format-List [<Specific properties to view>]

次の例では、「Block Client Connections from 192.168.1.0/24」という名前のルールのすべてのプロパティ値が返されます。

Get-ClientAccessRule -Identity "Block Client Connections from 192.168.1.0/24" | Format-List

この例では、同じルールの指定されたプロパティのみを返します。

Get-ClientAccessRule -Identity "Block Client Connections from 192.168.1.0/24" | Format-List Name,Priority,Enabled,Scope,Action

構文およびパラメーターの詳細については、「Get-ClientAccessRule」を参照してください。

Exchange Online の PowerShell を使用してクライアント アクセス規則を作成する

Exchange Online の PowerShell でクライアント アクセス規則を作成するには、次の構文を使用します。

New-ClientAccessRule -Name "<RuleName>" [-Priority <PriorityValue>] [-Enabled <$true | $false>] -Action <AllowAccess | DenyAccess> [<Conditions>] [<Exceptions>]

この例では、Exchange ActiveSync クライアントのアクセスをブロックする「Block ActiveSync」という新しいクライアント アクセス規則を作成します。ただし、IP アドレスの範囲 192.168.10.1/24 にあるクライアントは例外とします。

New-ClientAccessRule -Name "Block ActiveSync" -Action DenyAccess -AnyOfProtocols ExchangeActiveSync -ExceptAnyOfClientIPAddressesOrRanges 192.168.10.1/24

:

  • ベスト プラクティスとして、リモート PowerShell への管理者アクセスを保持するために、優先順位が最も高いクライアント アクセス規則を作成します。 (例: New-ClientAccessRule -Name "Always Allow Remote PowerShell" -Action Allow -AnyOfProtocols RemotePowerShell -Priority 1)。
  • Priority パラメーターを使用しなかったため、規則には既定の 優先度 の値があります。 詳細については、このトピックで後述する「 Exchange Online の PowerShell を使用してクライアント アクセス規則の優先順位を設定する」のセクションを参照してください。
  • Enabled パラメーターを使用せず、既定値は であるため、ルールは有効になっています$true

この例では、クライアントが 192.168.10.1/24 の範囲の IP アドレスから送信されている場合、またはユーザー アカウント名に "tanyas" が含まれている場合を除き、クラシック Exchange 管理センターのアクセスをブロックする、EAC アクセスの制限という名前の新しいクライアント アクセス規則を作成します。

New-ClientAccessRule -Name "Restrict EAC Access" -Action DenyAccess -AnyOfProtocols ExchangeAdminCenter -ExceptAnyOfClientIPAddressesOrRanges 192.168.10.1/24 -ExceptUsernameMatchesAnyOfPatterns *tanyas*

構文およびパラメーターの詳細については、「New-ClientAccessRule」を参照してください。

正常な動作を確認する方法

クライアント アクセス規則が正常に作成されたことを確認するには、次のいずれかの手順を使用します。

  • Exchange Online PowerShell で次のコマンドを実行して、規則の一覧に新しいルールを表示します。

    Get-ClientAccessRule
    
  • RuleName をルールの名前に置き換え<、次のコマンドを実行してルールの詳細を表示します。>

    Get-ClientAccessRule -Identity "<RuleName>" | Format-List
    
  • どのクライアント アクセス規則が Exchange Online への特定のクライアント接続に影響するかは、 Test-ClientAccessRule コマンドレットを使用して確認します。 詳細については、このトピックで後述する「 Exchange Online の PowerShell を使用してクライアント アクセス規則をテストする」のセクションを参照してください。

Exchange Online の PowerShell を使用してクライアント アクセス規則を変更する

クライアント アクセス規則を変更する際には、他の追加の設定はありません。 規則の作成時に利用可能だったものと同じ設定が利用できます。

Exchange Online の PowerShell でクライアント アクセス規則を変更するには、次の構文を使用します。

Set-ClientAccessRule -Identity "<RuleName>" [-Name "<NewName>"] [-Priority <PriorityValue>] [-Enabled <$true | $false>] -Action <AllowAccess | DenyAccess> [<Conditions>] [<Exceptions>]

次の例では、「Allow IMAP4」という名前の既存のクライアント アクセス規則を無効にします。

Set-ClientAccessRule -Identity "Allow IMAP4" -Enabled $false

クライアント アクセス規則を変更する際の考慮すべき重要な点は、複数の値を許可する条件や例外を変更する場合です。

  • 既存の値はすべて指定した値に置き換えられます
  • 他の既存の値に影響を与えずに値を追加または削除するには、次の構文を使用します。 @{Add="<Value1>","<Value2>"...; Remove="<Value1>","<Value2>"...}

この例の場合、IP アドレス範囲 172.17.17.27/16 を、既存の IP アドレス値に影響を及ぼすことなく「Allow IMAP4」という名前の既存のクライアント アクセス規則に追加します。

Set-ClientAccessRule -Identity "Allow IMAP4" -AnyOfClientIPAddressesOrRanges @{Add="172.17.17.27/16"}

構文およびパラメーターの詳細については、「Set-ClientAccessRule」を参照してください。

正常な動作を確認する方法

クライアント アクセス規則が正常に変更されたことを確認するには、次の手順のいずれかを使用します。

  • RuleName をルールの名前に置き換え<、次のコマンドを実行してルールの詳細を表示します。>

    Get-ClientAccessRule -Identity "<RuleName>" | Format-List
    
  • どのクライアント アクセス規則が Exchange Online への特定のクライアント接続に影響するかは、 Test-ClientAccessRule コマンドレットを使用して確認します。 詳細については、このトピックで後述する「 Exchange Online の PowerShell を使用してクライアント アクセス規則をテストする」のセクションを参照してください。

Exchange Online の PowerShell を使用してクライアント アクセス規則の優先順位を設定する

既定では、クライアント アクセス規則には作成された順序に基づく優先度が与えられます (新しい規則は、古い規則より優先度が低いです)。 低い優先度の値は、規則の優先度が高いことを示し、規則は優先順位に従って処理されます (優先度の高い規則は優先度の低い規則より先に処理されます)。 二つの規則が同じ優先度を持つことはできません。

規則に設定できる優先度の最高値は 1 です。 設定できる最低値は規則の数に依存します。 たとえば、規則が 5 つある場合、使用できる優先度の値は 1 から 5 です。 既存の 1 つの規則の優先度を変更すると、他の規則にも連鎖的な影響が起こりえます。 たとえば、規則が 5 つある場合 (優先度 1 から 5) に、1 つの規則の優先度を 5 から 2 に変更した場合、既存の優先度 2 の規則は優先度 3 に変更され、優先度 3 は優先度 4 に変更され、優先度 4 は優先度 5 に変更されます。

Exchange Online の PowerShell でクライアント アクセス規則の優先度を設定するには、次の構文を使用します。

Set-ClientAccessRule -Identity "<RuleName>" -Priority <Number>

この例では、「Disable IMAP4」という名前の規則の優先度を 2 に設定します。 2 と同等またはそれ以下の優先度を持つすべての既存のルールは、優先度が 1 低くなります (優先度番号は 1 ずつ上がります)。

Set-ClientAccessRule -Identity "Disable IMAP" -Priority 2

:新しく作成したルールの優先度を設定するには、New-ClientAccessRule コマンドレット上の Priority パラメーターを使用します。

正常な動作を確認する方法

クライアント アクセス規則の優先度が正常に設定されたことを確認するには、次の手順のいずれかを使用します。

  • Exchange Online の PowerShell で次のコマンドを実行して規則の一覧とその Priority 値を表示します。

    Get-ClientAccessRule
    
  • RuleName をルールの名前に置き換え<、次のコマンドを実行します。>

    Get-ClientAccessRule -Identity "<RuleName>" | Format-List Name,Priority
    

Exchange Online の PowerShell を使用してクライアント アクセス規則を削除する

Exchange Online の PowerShell でクライアント アクセス規則を削除するには、次の構文を使用します。

Remove-ClientAccessRule -Identity "<RuleName>"

この例では、「Block POP3」という名前のクライアント アクセス規則を削除します。

Remove-ClientAccessRule -Identity "Block POP3"

: 削除せずにクライアント アクセス規則を無効にするには、Set-ClientAccessRule コマンドレットの値$falseEnabled パラメーターを使用します。

構文およびパラメーターの詳細については、「Remove-ClientAccessRule」を参照してください。

正常な動作を確認する方法

クライアント アクセス規則が正常に削除されたことを確認するためには、Exchange Online の PowerShell で次のコマンドを実行し、規則が表示されなくなったことを確認します。

Get-ClientAccessRule

Exchange Online の PowerShell を使用してクライアント アクセス規則をテストする

どのクライアント アクセス規則が Exchange Online への特定のクライアント接続に影響するかを確認するには、次の構文を使用します。

Test-ClientAccessRule -User <MailboxIdentity> -AuthenticationType <AuthenticationType> -Protocol <Protocol> -RemoteAddress <ClientIPAddress> -RemotePort <TCPPortNumber>

この例では、次のプロパティを持つ Exchange Online へのクライアント接続に一致するクライアント アクセス規則を返します。

  • 認証の種類: Basic
  • プロトコル: OutlookWebApp
  • リモート アドレス: 172.17.17.26
  • リモート ポート: 443
  • ユーザー: julia@contoso.com
Test-ClientAccessRule -User julia@contoso.com -AuthenticationType BasicAuthentication -Protocol OutlookWebApp -RemoteAddress 172.17.17.26 -RemotePort 443

構文およびパラメーターの詳細については、「Test-ClientAccessRule」を参照してください。