概要: Exchange Online でクライアント アクセス規則を表示、作成、変更、削除、テストする方法について説明します。
クライアント アクセス規則は、接続プロパティに基づいて Exchange Online の組織へのクライアントの接続を許可またはブロックします。 クライアント アクセス規則の詳細については、「Exchange Online のクライアント アクセス規則」を参照してください。
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 コマンドレットの値$false
で Enabled パラメーターを使用します。
構文およびパラメーターの詳細については、「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」を参照してください。