Exchange Online 中用戶端存取規則的程序

摘要:了解如何在 Exchange Online 中檢視、建立、修改、刪除及測試用戶端存取規則。

用戶端存取規則會根據連線的內容,允許或封鎖用戶端對 Exchange Online 組織的連線。 如需用戶端存取規則的詳細資訊,請參閱 Exchange Online 中的用戶端存取規則

注意事項

從 2022 年 10 月開始,我們已針對所有未使用這些規則的現有Exchange Online組織,停用用戶端存取規則的存取權。 在 2023 年 10 月,所有Exchange Online組織的用戶端存取規則支援都將終止。 如需詳細資訊,請參閱在Exchange Online 中取代用戶端存取規則

請確認您的規則是以您預期的方式運作。 務必徹底地測試每個規則以及規則之間的互動。 如需詳細資訊,請參閱本主題稍後的使用 Exchange Online PowerShell 測試用戶端存取規則一節。

開始之前有哪些須知?

提示

有問題嗎? 在 Exchange 論壇中尋求協助。 請造訪論壇:Exchange OnlineExchange Online Protection

使用 Exchange Online PowerShell 來檢視用戶端存取規則

若要傳回所有用戶端存取規則的摘要清單,請執行下列命令:

Get-ClientAccessRule

若要傳回特定規則的詳細資訊,請使用下列語法:

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

此範例會傳回規則 (名稱為「封鎖來自 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>]

此範例會建立名為「封鎖 ActiveSync」的新用戶端存取規則,其會封鎖 Exchange 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

此範例會建立名為限制 EAC 存取的新用戶端存取規則,以封鎖傳統 Exchange 系統管理中心的存取,除非用戶端來自 192.168.10.1/24 範圍內的 IP 位址,或使用者帳戶名稱包含 「tanyas」。

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
    
  • 使用 Test-ClientAccessRule Cmdlet,查看哪些用戶端存取規則會影響對 Exchange Online 的特定連線。 如需詳細資訊,請參閱本主題稍後的使用 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 新增至名為 Allow IMAP4 的現有用戶端存取規則,而不影響現有的 IP 位址值。

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

如需詳細的語法及參數資訊,請參閱 Set-ClientAccessRule

如何知道這是否正常運作?

若要確認您已順利修改用戶端存取規則,請使用以下任何程序:

  • 以規則名稱取代 <RuleName>,然後執行下列命令以查看規則的詳細資料:

    Get-ClientAccessRule -Identity "<RuleName>" | Format-List
    
  • 使用 Test-ClientAccessRule Cmdlet,查看哪些用戶端存取規則會影響對 Exchange Online 的特定連線。 如需詳細資訊,請參閱本主題稍後的使用 Exchange Online PowerShell 測試用戶端存取規則一節。

使用 Exchange Online PowerShell 設定用戶端存取規則的優先順序

根據預設,系統會根據用戶端存取原則的建立順序為其提供優先順序 (較新原則的優先順序比較舊原則的優先順序低)。 較低的優先順序數字表示規則的優先順序較高,而規則會按照優先順序進行處理 (較高優先順序的規則會在較低優先順序的規則前面進行處理)。 兩個規則不會有相同的優先順序。

您可以對規則設定的最高優先順序為 1。 您可以設定的最低值則取決於規則的數目。 例如,如果您有五個規則,則您可以使用 1 到 5 的優先順序值。 變更現有規則的優先順序會對其他規則造成階層式影響。 例如,如果您有五個規則 (優先順序 1 到 5),而您將規則的優先順序從 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 Cmdlet 上使用 Priority 參數。

如何知道這是否正常運作?

若要確認您已順利設定用戶端存取規則的優先順序,請使用以下任一程序:

  • 在 Exchange Online PowerShell 中執行下列命令,以查看規則清單及其 [優先順序] 值:

    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 Cmdlet 上使用值為 $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 用戶端連線:

  • 驗證類型:基本
  • 通訊協定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