2013-03-12 61 views
3

考虑下面的示例方案:限制ADFS 2.0使用特定的OU,而不是域级别的访问

  • 我有一个单一的Active Directory域用于生产,测试和开发(每次OU层次分隔)。
  • 我想在测试OU级别安装ADFS,并且我不希望用户在测试OU ADFS进行身份验证,以便可以访问(读取和写入)其他OU。

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

回答

4

虽然限制ADFS 2.0在特定的OU下工作是不可行的(从我读的资源和恕我直言),我们可以限制用户在特定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 
    

    •这将提取每个对象的DN在AD

  2. 添加新的授权规则(在依托的方信任所需的应用程序)以允许来自特定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 =用户,OU =雇员,OU =组织用户,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,请参阅本link以及有关添加自定义规则的详细信息,请参阅msdn post.