摘要
:了解管理员如何使用客户端访问规则来允许或阻止不同类型的客户端连接Exchange Online。
客户端访问规则可帮助你根据客户端属性或客户端访问请求控制对Exchange Online组织的访问。 客户端访问规则类似于邮件流规则 (也称为传输规则) ,用于与Exchange Online组织的客户端连接。 可以根据客户端的 IP 地址 (IPv4 和 IPv6) 、身份验证类型和用户属性值以及用于连接的协议、应用程序、服务或资源,阻止客户端连接到Exchange Online。 例如:
允许从特定 IP 地址访问Exchange ActiveSync客户端,并阻止所有其他 ActiveSync 客户端。
阻止特定部门、城市或国家/地区的用户访问 Exchange Web Services (EWS) 。
阻止特定用户的用户名访问脱机通讯簿 (OAB) 。
使用联合身份验证阻止客户端访问。
使用 Exchange Online PowerShell 阻止客户端访问。
阻止特定国家或地区的用户访问经典 Exchange 管理中心 (EAC) 。
有关客户端访问规则过程,请参阅
Exchange Online 中的客户端访问规则的过程
。
客户端访问规则不支持使用 EWS 模拟时阻止服务帐户访问。
从 2022 年 10 月开始,我们已为所有未使用这些规则的现有Exchange Online组织禁用了对客户端访问规则的访问。 2023 年 10 月,所有Exchange Online组织都将终止对客户端访问规则的支持。 有关详细信息,请参阅
弃用 Exchange Online 中的客户端访问规则
。
客户端访问规则组件
规则由条件、异常、操作和优先级值组成。
条件
:确定要对其应用操作的客户端连接。 有关条件的完整列表,请参阅本主题后面的
客户端访问规则条件和例外
部分。 当客户端连接与规则的条件匹配时,操作将应用于客户端连接,并且规则评估将停止, (不再对连接) 应用规则。
异常
:(可选)标识不应应用操作的客户端连接。 异常会覆盖条件并阻止规则操作应用于连接,即使连接与所有配置的条件匹配也是如此。 对于异常允许的客户端连接,规则评估会继续,但后续规则仍可能会影响连接。
操作
:指定对与规则中的条件匹配且与任何异常不匹配的客户端连接执行的操作。 有效操作包括:
允许连接 (
AllowAccess
Action
参数) 的值。
阻止连接 (
DenyAccess
Action
参数) 的值。
注意
:当阻止特定协议的连接时,依赖于同一协议的其他应用程序也可能受到影响。
优先级
:指示规则应用于客户端连接的顺序, (较低的数字表示) 更高的优先级。 默认优先级基于规则创建的先后顺序(较早规则的优先级高于较新规则的优先级),先处理具有较高优先级的规则,然后再处理具有较低优先级的规则。 请记住,一旦客户端连接与规则中的条件匹配,规则处理就会停止。
有关设置规则的优先级值的详细信息,请参阅
使用 Exchange Online PowerShell 设置客户端访问规则的优先级
。
如何评估客户端访问规则
下表介绍了如何计算具有相同条件的多个规则,以及如何计算具有多个条件、条件值和例外的规则。
包含相同条件的多个规则
应用第一个规则,并忽略后续规则
例如,如果最高优先级规则阻止Outlook 网页版连接,并且创建了另一个规则,允许特定 IP 地址范围Outlook 网页版连接,则第一个规则仍会阻止所有Outlook 网页版连接。 需要向现有Outlook 网页版规则添加一个例外,而不是为Outlook 网页版创建另一个规则,以允许来自指定 IP 地址范围的连接。
一个规则中的多个条件
客户端连接必须与规则中的所有条件匹配。 例如,来自会计部门用户的 EWS 连接。
规则中具有多个值的一个条件
对于允许多个值的条件,连接必须与任何一个 (不是所有指定条件) 匹配。 例如,EWS 或 IMAP4 连接。
一个规则中的多个异常
如果客户端连接与任一异常匹配,则操作不会应用于客户端连接。 连接不必匹配所有异常。 例如,IP 地址 19.2.168.1.1 或基本身份验证。
可以测试客户端访问规则对特定客户端连接的影响, (哪些规则匹配,从而影响连接) 。 有关详细信息,请参阅
使用 Exchange Online PowerShell 测试客户端访问规则
。
客户端访问规则在身份验证后进行评估,不能用于阻止原始连接或身份验证尝试。
来自内部网络的客户端连接
不会自动允许来自本地网络的连接绕过客户端访问规则。 因此,创建阻止客户端连接到Exchange Online的客户端访问规则时,需要考虑来自内部网络的连接可能会受到怎样的影响。 允许内部客户端连接绕过客户端访问规则的首选方法是创建一个最高优先级规则,允许来自内部网络的客户端连接 () 的所有或特定 IP 地址。 这样,无论将来创建的任何其他阻止规则,始终允许客户端连接。
客户端访问规则和中间层应用程序
许多访问Exchange Online使用中间层体系结构 (客户端与中间层应用程序通信,中间层应用程序与Exchange Online) 通信。 仅允许从本地网络进行访问的客户端访问规则可能会阻止中间层应用程序。 因此,规则需要允许中间层应用程序的 IP 地址。
Microsoft 拥有的中间层应用程序 (例如,Outlook for iOS 和 Android) 将绕过客户端访问规则的阻止,并且将始终被允许使用。 若要提供对这些应用程序的额外控制,需要使用应用程序中可用的控制功能。
规则更改的计时
为了提高整体性能,客户端访问规则使用缓存,这意味着对规则的更改不会立即生效。 在组织中创建的第一条规则最多可能需要 24 小时才能生效。 之后,修改、添加或删除规则可能需要长达一小时才能生效。
只能使用 PowerShell 来管理客户端访问规则,因此需要小心阻止你访问远程 PowerShell 的规则。 如果创建一个阻止你访问远程 PowerShell 的规则,或者如果创建了一个规则来阻止所有人的所有协议,你将失去自行修复规则的能力。 你需要调用 Microsoft 客户服务和支持部门,他们将创建一个规则,以便你可以从任意位置进行远程 PowerShell 访问,以便修复自己的规则。 请注意,此新规则最多可能需要一小时才能生效。
最佳做法是创建优先级最高的客户端访问规则,以保留对远程 PowerShell 的访问权限。 例如:
New-ClientAccessRule -Name "Always Allow Remote PowerShell" -Action Allow -AnyOfProtocols RemotePowerShell -Priority 1
客户端访问规则中的身份验证类型和协议
并非所有身份验证类型都支持客户端访问规则中的所有协议。 下表描述了每个协议支持的身份验证类型:
AdfsAuthentication
BasicAuthentication
CertificateBasedAuthentication
NonBasicAuthentication
OAuthAuthentication
1 此协议仅适用于经典 Exchange 管理中心 (EAC) 。
客户端访问规则条件和异常
客户端访问规则中的条件和例外标识应用规则或未应用规则的客户端连接。 例如,如果规则阻止Exchange ActiveSync客户端进行访问,则可以将规则配置为允许来自特定 IP 地址范围的Exchange ActiveSync连接。 条件和相应异常的语法相同。 唯一的区别是条件指定要包括的客户端连接,而例外指定要排除的客户端连接。
下表描述了客户端访问规则中可用的条件和异常:
Exchange Online PowerShell 中的条件参数
Exchange Online PowerShell 中的异常参数
AnyOfAuthenticationTypes
ExceptAnyOfAuthenticationTypes
有效值包含:AdfsAuthentication
BasicAuthentication
CertificateBasedAuthentication
NonBasicAuthentication
OAuthAuthentication
可以指定用逗号分隔的多个值。 可以在每个值 (“value1”、“value2”) 周围使用引号,但不能围绕所有值 (不使用“value1,value2”) 。
注意:如果指定 ExceptAnyOfAuthenticationTypes
, AnyOfAuthenticationTypes
还必须指定 。
AnyOfClientIPAddressesOrRanges
ExceptAnyOfClientIPAddressesOrRanges
支持 IPv4 和 IPv6 地址。 有效值包含:- 单个 IP 地址:例如,192.168.1.1 或 2001:DB8::2AA:FF:C0A8:640A。
- IP 地址范围:例如,192.168.0.1-192.168.0.254 或 2001:DB8::2AA:FF:C0A8:640A-2001:DB8::2AA:FF:C0A8:6414。
- 无类Inter-Domain路由 (CIDR) IP:例如,192.168.3.1/24 或 2001:DB8::2AA:FF:C0A8:640A/64。
可以指定用逗号分隔的多个值。
有关 IPv6 地址和语法的详细信息,请参阅此 Exchange 2013 主题: IPv6 地址基础知识。
AnyOfProtocols
ExceptAnyOfProtocols
有效值包含:ExchangeActiveSync
ExchangeAdminCenter
1ExchangeWebServices
IMAP4
OfflineAddressBook
OutlookAnywhere
(包括 MAPI over HTTP) OutlookWebApp
(Outlook 网页版)POP3
PowerShellWebServices
RemotePowerShell
REST
可以指定用逗号分隔的多个值。 可以在每个单独的值 (“ value1”、“value2”) 周围使用引号,但不能围绕所有值 (不使用“value1,value2”) 。
注意:如果不在规则中使用此条件,该规则将应用于 所有 协议。
Scope
指定规则应用于的连接类型。 有效值包含:Users
:该规则仅适用于最终用户连接。All
:该规则适用于 (最终用户和中间层应用) 的所有连接类型。
UsernameMatchesAnyOfPatterns
ExceptUsernameMatchesAnyOfPatterns
接受文本和通配符 (*) ,以 (格式标识用户的帐户名<Domain>\<UserName>
,例如 或 *jeff*
,但不能jeff*
contoso.com\jeff
) 。 非字母数字字符不需要转义字符。
可以指定用逗号分隔的多个值。
UserRecipientFilter
使用 OPath 筛选器语法来标识应用规则的用户。 例如,"City -eq 'Redmond'"
。 可筛选属性包括:City
Company
CountryOrRegion
CustomAttribute1
重命名为 CustomAttribute15
Department
Office
PostalCode
StateOrProvince
StreetAddress
搜索条件使用 语法 "<Property> -<Comparison operator> '<Value>'"
。<Property>
是可筛选的属性。-<Comparison Operator>
是 OPATH 比较运算符。 例如 -eq
,对于完全匹配 (不支持通配符) ,对于 -like
字符串比较 (,这要求在属性值) 中至少有一个通配符。 有关比较运算符的详细信息,请参阅 about_Comparison_Operators。<Value>
是 属性值。 带或不带空格的文本值或带通配符 (*) 的值需要用引号括起来,例如 '<Value>'
(或 '*<Value>'
) 。 对于) 的空白值,不要将引号与系统值 $null
(。
可以使用逻辑运算符 -and
和 -or
将多个搜索条件链接在一起。 例如,"<Criteria1> -and <Criteria2>"
或 "(<Criteria1> -and <Criteria2>) -or <Criteria3>"
。 有关 OPATH 筛选器语法的详细信息,请参阅 其他 OPATH 语法信息。
1 此协议仅适用于经典 Exchange 管理中心 (EAC) 。