考虑下面的示例方案:限制ADFS 2.0使用特定的OU,而不是域级别的访问
- 我有一个单一的Active Directory域用于生产,测试和开发(每次OU层次分隔)。
- 我想在测试OU级别安装ADFS,并且我不希望用户在测试OU ADFS进行身份验证,以便可以访问(读取和写入)其他OU。
这可能吗?我们是否可以限制ADFS 2.0仅在特定OU下工作?
考虑下面的示例方案:限制ADFS 2.0使用特定的OU,而不是域级别的访问
这可能吗?我们是否可以限制ADFS 2.0仅在特定OU下工作?
虽然限制ADFS 2.0在特定的OU下工作是不可行的(从我读的资源和恕我直言),我们可以限制用户在特定OU内的访问。
这可以在两个步骤来完成:
添加权利要求规则提取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
添加新的授权规则(在依托的方信任所需的应用程序)以允许来自特定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.
有没有可能来扭转限制?因此,一次只允许一个OU,而不是只允许一个OU?
因此字符串可以是
C:[类型== “http://temp.org/claims/DistinguishedName”,值=〜“^ *(OU = EMPLOYEES,OU = ORG-用户,DC = ADCORP,DC = LAB)$。 “] => issue(Type =”http://schemas.microsoft.com/authorization/claims/deny“,Value =”PermitUsersWithClaim“);
通过这种方式,除Employees Ow之外的每个人都可以访问。