以下のサンプル シナリオを検討してください。
- 運用、テスト、および開発用の単一の Active Directory ドメインがあります (それぞれ OU レベルで分離されています)。
- テスト OU レベルで ADFS をインストールしたいのですが、テスト OU ADFS で認証されたユーザーに他の OU へのアクセス (読み取りと書き込みの両方) を許可したくありません。
これは可能ですか?ADFS 2.0 が特定の OU の下でのみ動作するように制限できますか?
ADFS 2.0を特定のOUで動作するように制限することは(私が読んだリソースとIMHOから)実現可能ではありませんが、特定のOU内でのユーザーアクセスを制限することはできます。
これは、次の2つのステップで実行できます。
クレームルールを追加して、ADオブジェクトDNを抽出します。
•このクレームを抽出するには、ADFS管理コンソールから[ADFS2.0]->[信頼関係]->[クレームプロバイダーの信頼]->[ActiveDirectory]->[クレームルールの編集]に移動します。
•受け入れ変換ルールの下に、新しいルールを追加します
Claim rule name – DN (can be anything)
LDAP Attribute – distinguishedname
Outgoing claim type – http://temp.org/claims/DistinguishedName
•これにより、AD内の各オブジェクトのDNが抽出されます
特定のOUのユーザーがアプリケーションにアクセスできるように、(必要なアプリケーションの証明書利用者の信頼に)新しい承認ルールを追加します。
•ADFS管理コンソール->信頼関係->証明書利用者の信頼->アプリケーションの選択->クレームルールの編集に移動します
•[発行承認ルール](2番目のタブ)で、既存のルール[すべてのユーザーを許可する](存在する場合)を削除し、[-カスタムルールを使用してクレームを送信する]の下に新しいルールを追加します。名前: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 を許可できますか?
したがって、文字列は次のようになります
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 以外の全員がアクセスできるようになります。