Windows Server 2016 AD FS 中的访问控制策略

AD FS 中的访问控制策略模板

Active Directory 联合身份验证服务现在支持使用访问控制策略模板。 使用访问控制策略模板,管理员可以通过将策略模板分配到一组信赖方 (RP) 来强制实施策略设置。 管理员还可以对策略模板进行更新,如果不需要用户交互,更改将自动应用于信赖方。

什么是访问控制策略模板?

用于策略处理的 AD FS 核心管道具有三个阶段:身份验证、授权和声明颁发。 目前,AD FS 管理员必须分别为每个阶段配置策略。 这还涉及到了解这些策略的含义,以及这些策略是否相互依赖。 此外,管理员必须了解声明规则语言和自定义规则创作方法,才能启用某些简单/通用策略(例如阻止外部访问)。

访问控制策略模板的作用是取代这种旧模型,在这种旧模型中,管理员必须使用声明语言来配置颁发授权规则。 颁发授权规则的旧 PowerShell cmdlet 仍然适用,但它们与新模型互斥。 管理员可以选择使用新模型或旧模型。 新模型允许管理员控制何时授予访问权限,包括强制实施多重身份验证。

访问控制策略模板使用允许模型。 这意味着,在默认情况下,没有任何人拥有访问权限,并且必须显式授予访问权限。 但是,这不仅仅是一种“全有或全无”的允许模式。 管理员可以向允许规则添加例外。 例如,管理员可以选择此选项并指定 IP 地址范围,来根据特定的网络授予访问权限。 但是,管理员可以添加例外,例如,管理员可以添加来自特定网络的例外并指定该 IP 地址范围。

Screenshot that shows where to view the Access Control Policies.

内置访问控制策略模板与自定义访问控制策略模板

AD FS 包含多个内置的访问控制策略模板。 这些模板针对一些具有相同策略要求的常见方案,例如针对 Office 365 的客户端访问策略。 无法修改这些模板。

Screenshot that shows the built-in Access Control Policies.

为了更灵活地解决业务需求,管理员可以创建自己的访问策略模板。 这些模板在创建后可以修改,对自定义策略模板的更改将应用于由这些策略模板控制的所有 RP。 若要添加自定义策略模板,只需在 AD FS 管理中单击“添加访问控制策略”即可。

若要创建策略模板,管理员首先需要指定在哪些条件下为令牌颁发和/或委托请求授权。 条件和操作选项如下表中所示。 管理员可以使用不同的值或新值进一步配置以粗体显示的条件。 管理员还可以指定例外(如果有)。 满足某个条件时,如果指定了例外并且传入请求与例外中指定的条件匹配,则不会触发允许操作。

允许用户 Except
来自特定网络 来自特定网络

来自特定组

来自具有特定信任级别的设备

在请求中包含特定声明

来自特定组 来自特定网络

来自特定组

来自具有特定信任级别的设备

在请求中包含特定声明

来自具有特定信任级别的设备 来自特定网络

来自特定组

来自具有特定信任级别的设备

在请求中包含特定声明

在请求中包含特定声明 来自特定网络

来自特定组

来自具有特定信任级别的设备

在请求中包含特定声明

并且需要多重身份验证 来自特定网络

来自特定组

来自具有特定信任级别的设备

在请求中包含特定声明

如果管理员选择多个条件,这些条件存在 AND 关系。 操作是互斥的,对于一个策略规则,只能选择一个操作。 如果管理员选择多个例外,这些例外存在 OR 关系。 下面显示了几个策略规则示例:

策略 策略规则
Extranet 访问需要 MFA

允许所有用户

规则 #1

从 Extranet

并且使用 MFA

允许

规则 #2

从 Intranet

允许

不允许外部访问,但非 FTE 除外

允许在已加入工作区的设备上对 FTE 进行 Intranet 访问

规则 #1

从 Extranet

以及从非 FTE 组

允许

规则 #2

从 Intranet

以及从已加入工作区的设备

以及从 FTE 组

允许

Extranet 访问需要 MFA,“服务管理员”除外

允许所有用户访问

规则 #1

从 Extranet

并且使用 MFA

允许

服务管理员组除外

规则 #2

通用

允许

未加入工作区的设备从 Extranet 进行访问需要 MFA

允许使用 AD 结构进行 Intranet 和 Extranet 访问

规则 #1

从 Intranet

以及从 AD Fabric 组

允许

规则 #2

从 Extranet

以及从未加入工作区的设备

以及从 AD Fabric 组

并且使用 MFA

允许

规则 #3

从 Extranet

以及从已加入工作区的设备

以及从 AD Fabric 组

允许

参数化策略模板与非参数化策略模板

参数化策略模板是具有参数的策略模板。 管理员在将此模板分配到 RP 时需要输入这些参数的值。在创建参数化策略模板后,管理员无法对其进行更改。 参数化策略的一个示例是内置策略“允许特定组”。 每次将此策略应用于 RP 时,都需要指定此参数。

Screenshot that shows an example of a parameterized policy template.

非参数化策略模板是没有参数的策略模板。 管理员无需提供任何输入即可将此模板分配到 RP,并且可以在创建非参数化策略模板后对其进行更改。 这种策略的一个示例是内置策略“允许所有人并需要 MFA”。

Screenshot that shows an example of a non-parameterized policy template.

如何创建非参数化访问控制策略

若要创建非参数化访问控制策略,请使用以下过程

创建非参数化访问控制策略

  1. 在左侧的“AD FS 管理”中选择“访问控制策略”,然后在右侧单击“添加访问控制策略”。

  2. 输入名称和描述。 例如:允许所用设备已经过身份验证的用户。

  3. 在“如果符合下列任一规则,则允许访问”下,单击“添加”。

  4. 在“允许”下,选中“来自具有特定信任级别的设备”旁边的框

  5. 在底部,选择带下划线的“特定”

  6. 在弹出的窗口中,从下拉列表中选择“已经过身份验证”。 单击“确定” 。

    Screenshot that shows how to select the device trust level.

  7. 单击“确定” 。 单击 “确定”

    Screenshot that shows how to accept the policy change.

如何创建参数化访问控制策略

若要创建参数化访问控制策略,请使用以下过程

创建参数化访问控制策略

  1. 在左侧的“AD FS 管理”中选择“访问控制策略”,然后在右侧单击“添加访问控制策略”。

  2. 输入名称和描述。 例如:允许具有特定声明的用户。

  3. 在“如果符合下列任一规则,则允许访问”下,单击“添加”。

  4. 在“允许”下,选中“在请求中具有特定声明”旁边的框

  5. 在底部,选择带下划线的“特定”

  6. 在弹出的窗口中,选择“分配访问控制策略时指定的参数”。 单击“确定” 。

    Screenshot that shows the Parameter specified when the access control policy is assigned option.

  7. 单击“确定” 。 单击“确定” 。

    Screenshot that shows how to accept the selected option.

如何创建具有例外的自定义访问控制策略

若要创建具有例外的访问控制策略,请使用以下过程。

创建具有例外的自定义访问控制策略

  1. 在左侧的“AD FS 管理”中选择“访问控制策略”,然后在右侧单击“添加访问控制策略”。

  2. 输入名称和描述。 例如:允许所用设备已经过身份验证但不是托管设备的用户。

  3. 在“如果符合下列任一规则,则允许访问”下,单击“添加”。

  4. 在“允许”下,选中“来自具有特定信任级别的设备”旁边的框

  5. 在底部,选择带下划线的“特定”

  6. 在弹出的窗口中,从下拉列表中选择“已经过身份验证”。 单击“确定” 。

  7. 在“例外”下,选中“来自具有特定信任级别的设备”旁边的框

  8. 在底部的“例外”下,选择带下划线的“特定”

  9. 在弹出的窗口中,从下拉列表中选择“托管”。 单击“确定” 。

  10. 单击“确定” 。 单击“确定” 。

    Screenshot that shows the Screen Editor dialog box.

如何创建具有多个允许条件的自定义访问控制策略

若要创建具有多个允许条件的访问控制策略,请使用以下过程

创建参数化访问控制策略

  1. 在左侧的“AD FS 管理”中选择“访问控制策略”,然后在右侧单击“添加访问控制策略”。

  2. 输入名称和描述。 例如:允许具有特定声明并来自特定组的用户。

  3. 在“如果符合下列任一规则,则允许访问”下,单击“添加”。

  4. 在“允许”下,选中“来自特定组”和“在请求中具有特定声明”旁边的框

  5. 在底部,为组旁边的第一个条件选择带下划线的“特定”

  6. 在弹出的窗口中,选择“分配策略时指定的参数”。 单击“确定” 。

  7. 在底部,为声明旁边的第二个条件选择带下划线的“特定”

  8. 在弹出的窗口中,选择“分配访问控制策略时指定的参数”。 单击“确定” 。

  9. 单击“确定” 。 单击“确定” 。

access control policies

如何将访问控制策略分配到新应用程序

将访问控制策略分配给新应用程序的过程非常简单,并且此过程现已集成到用于添加 RP 的向导中。 在信赖方信任向导中,可以选择要分配的访问控制策略。 创建新的信赖方信任时必须满足此要求。

Screenshot that shows the Choose Access Control Policy screen.

如何将访问控制策略分配到现有应用程序

若要将访问控制策略分配到现有应用程序,只需从“信赖方信任”中选择该应用程序,然后在右侧单击“编辑访问控制策略”即可。

Screenshot that shows the Retrying Party Trusts application.

在此处可以选择访问控制策略并将其应用于应用程序。

Screenshot that shows how to edit the Access Control Policy.

另请参阅

AD FS 操作