限制ADFS 2.0使用特定OU而不是域级别访问



考虑以下示例场景:

  • 我有一个单一的活动目录域用于生产,测试和开发(每个在OU级别分开)。
  • 我想在测试OU级别安装ADFS,我不希望在测试OU ADFS上经过认证的用户有权访问其他OU。

这可能吗?我们能否将ADFS 2.0限制为仅在特定OU下工作?

虽然限制ADFS 2.0在特定OU下工作是不可行的(从我阅读的资源和IMHO来看),但我们可以在特定OU内限制用户访问。

这可以通过两个步骤完成:

  1. 添加声明规则提取AD对象DN

    •要从ADFS管理控制台提取此声明,请转到ADFS 2.0 ->信任关系->索赔提供者信任->单击活动目录->编辑索赔规则

    •在验收转换中规则,添加新规则

           Claim rule name – DN (can be anything)
           LDAP Attribute – distinguishedname 
           Outgoing claim type – http://temp.org/claims/DistinguishedName 
    

    •这将提取AD

  2. 中每个对象的DN
  3. 添加一个新的授权规则(在所需应用程序的依赖方信任中),以允许来自特定OU的用户访问应用程序。

    •进入ADFS管理控制台->信任关系->依赖方信任->选择应用程序->编辑索赔规则

    •在"发布授权规则"(第二个选项卡)下,删除现有规则"允许所有用户"(如果有),并使用自定义规则在"发送声明"下添加新规则:名称:XXX(任意值)

    Custome rule: 
    c:[Type == "http://temp.org/claims/DistinguishedName", Value =~"^.*    (OU=EMPLOYEES,OU=Org-Users,DC=ADCORP,DC=LAB)$"] => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "PermitUsersWithClaim");
    
    例如

    :OU=Users,OU=EMPLOYEES,OU=Org-users,DC=ADCORP,DC=LAB中的用户将具有访问权限

    OU=Admins,OU=EMPLOYEES,OU=Org-Users,DC=ADCORP,DC=LAB中的用户将具有访问权限

    OU=Users,OU=CONTRACTORS,OU=Org-Users,DC=ADCORP,DC=LAB中的用户将无法访问

有关添加DN的详细信息,请参阅此链接,有关添加自定义规则的详细信息,请参阅msdn帖子

是否有可能扭转这些限制?与其每次只允许1个OU,还不如允许除1个OU外的所有OU ?

所以字符串可以是

C:[Type == "http://temp.org/claims/DistinguishedName", Value =~"^。* (OU=EMPLOYEES,OU=Org-Users,DC=ADCORP,DC=LAB)$"] => issue(Type = "http://schemas.microsoft.com/authorization/claims/deny", Value = "PermitUsersWithClaim");

这样除了Employees OU之外的所有OU都可以访问。

相关内容

  • 没有找到相关文章

最新更新