このガイドについて
このチュートリアルでは、Windows Server 2012 R2 の Active Directory フェデレーション サービス (AD FS) の条件付きアクセス制御メカニズムを通じて利用できる要因 (ユーザー データ) の 1 つを使用してリスクを管理する手順について説明します。 Windows Server 2012 R2 の AD FS の条件付きアクセス制御と承認メカニズムの詳細については、「 条件付きアクセス制御によるリスクの管理」を参照してください。
このチュートリアルは、次のセクションで構成されます。
手順 1: ラボ環境を設定する
このチュートリアルを完了するには、次のコンポーネントで構成される環境が必要です。
テストユーザーおよびグループアカウントを持つ Active Directory ドメインで、Windows Server 2008、Windows Server 2008 R2、またはスキーマが Windows Server 2012 R2 にアップグレードされた Windows Server 2012 を実行しているか、Windows Server 2012 R2 を実行している Active Directory ドメイン。
Windows Server 2012 R2 で実行されているフェデレーション サーバー
サンプル アプリケーションをホストする Web サーバー
サンプル アプリケーションにアクセスできるクライアント コンピューター
警告
フェデレーション サーバーと Web サーバーに同じコンピューターを使用しないことを強くお勧めします (運用環境とテスト環境の両方)。
この環境では、ユーザーがサンプル アプリケーションにアクセスできるように、フェデレーション サーバーが必要な要求を発行します。 Web サーバーは、フェデレーション サーバーが発行する要求を提示するユーザーを信頼するサンプル アプリケーションをホストします。
この環境を設定する方法については、「 Windows Server 2012 R2 で AD FS のラボ環境を設定する」を参照してください。
手順 2: 既定の AD FS アクセス制御メカニズムを確認する
この手順では、ユーザーが AD FS サインイン ページにリダイレクトされ、有効な資格情報を提供し、アプリケーションへのアクセスが許可される既定の AD FS アクセス制御メカニズムを確認します。 Robert Hatley AD アカウントと、Windows Server 2012 R2 の AD FS のラボ環境のセットアップで構成した claimapp サンプル アプリケーションを使用できます。
既定の AD FS アクセス制御メカニズムを確認するには
クライアント コンピューターでブラウザー ウィンドウを開き、サンプル アプリケーション (
https://webserv1.contoso.com/claimapp
) に移動します。このアクションにより、要求がフェデレーション サーバーに自動的にリダイレクトされ、ユーザー名とパスワードでサインインするように求められます。
「Windows Server 2012 R2 で AD FS のラボ環境を設定する」で作成した Robert Hatley AD アカウントの資格情報を入力します。
アプリケーションへのアクセス権が付与されます。
手順 3: ユーザー データに基づいて条件付きアクセス制御ポリシーを構成する
この手順では、ユーザー グループ メンバーシップ データに基づいてアクセス制御ポリシーを設定します。 言い換えると、サンプル アプリケーション claimapp を表す証明書利用者信頼のフェデレーション サーバーで発行承認規則を構成します。 このルールのロジックにより、 Robert Hatley AD ユーザーは Finance グループに属しているため、このアプリケーションにアクセスするために必要な要求が発行されます。 「Windows Server 2012 R2 で AD FS のラボ環境を設定する」で、Robert Hatley アカウントを Finance グループに追加しました。
このタスクは、AD FS 管理コンソールまたは Windows PowerShell を使用して実行できます。
AD FS 管理コンソールを使用してユーザー データに基づいて条件付きアクセス制御ポリシーを構成するには
AD FS 管理コンソールで、[信頼関係]、[信頼された当事者の信頼] の順に移動します。
サンプル アプリケーション (claimapp) を表す証明書利用者信頼を選択し、[ 操作] ウィンドウで、またはこの証明書利用者信頼を右クリックして、[ 要求規則の編集] を選択します。
[ Claimapp の要求規則の編集] ウィンドウで 、[ 発行承認規則 ] タブを選択し、[ 規則の追加] をクリックします。
発行承認要求規則の追加ウィザードの [規則テンプレートの選択] ページで、[受信要求要求規則テンプレートに基づいてユーザーを許可または拒否] を選択し、[次へ] をクリックします。
[ 規則の構成 ] ページで、次のすべてを行い、[ 完了] をクリックします。
要求規則の名前 ( TestRule など) を入力します。
[受信要求の種類] として [グループ SID] を選択します。
[参照]をクリックし、AD テスト グループの名前としてFinanceを入力し、それを受信クレーム値フィールドに解決します。
[この受信要求を使用してユーザーへのアクセスを拒否する] オプションを選択します。
[ Claimapp の要求規則の編集] ウィンドウで、この証明書利用者信頼を作成したときに既定で作成された [すべてのユーザーへのアクセスを許可 ] 規則を削除してください。
Windows PowerShell を使用してユーザー データに基づいて条件付きアクセス制御ポリシーを構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
$rp = Get-AdfsRelyingPartyTrust -Name claimapp
- 同じ Windows PowerShell コマンド ウィンドウで、次のコマンドを実行します。
$GroupAuthzRule = '@RuleTemplate = "Authorization" @RuleName = "Foo" c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ "^(?i)<group_SID>$"] =>issue(Type = "https://schemas.microsoft.com/authorization/claims/deny", Value = "DenyUsersWithClaim");'
Set-AdfsRelyingPartyTrust -TargetRelyingParty $rp -IssuanceAuthorizationRules $GroupAuthzRule
注
<group_SID>を AD Finance グループの SID の値に置き換えてください。
手順 4: 条件付きアクセス制御メカニズムを確認する
この手順では、前の手順で設定した条件付きアクセス制御ポリシーを確認します。 次の手順を使用して、Robert Hatley AD ユーザーが Finance グループに属しており、Finance グループに属していない AD ユーザーがサンプル アプリケーションにアクセスできないことを確認できます。
クライアント コンピューターでブラウザー ウィンドウを開き、サンプル アプリケーションに移動します。
https://webserv1.contoso.com/claimapp
このアクションにより、要求がフェデレーション サーバーに自動的にリダイレクトされ、ユーザー名とパスワードでサインインするように求められます。
「Windows Server 2012 R2 で AD FS のラボ環境を設定する」で作成した Robert Hatley AD アカウントの資格情報を入力します。
アプリケーションへのアクセス権が付与されます。
Finance グループに属していない別の AD ユーザーの資格情報を入力します。 (AD でユーザー アカウントを作成する方法の詳細については、 https://technet.microsoft.com/library/cc7833232.aspxを参照してください。
この時点で、前の手順で設定したアクセス制御ポリシーにより、 Finance グループに属していないこの AD ユーザーに対して "アクセス拒否" メッセージが表示されます。 既定のメッセージ テキストは、 このサイトにアクセスする権限がありません。ここをクリックしてサインアウトし、もう一度サインインするか、管理者にアクセス許可を問い合わせてください。 ただし、このテキストは完全にカスタマイズ可能です。 サインイン エクスペリエンスをカスタマイズする方法の詳細については、「 AD FS サインイン ページのカスタマイズ」を参照してください。
こちらもご覧ください
条件付きアクセス制御によるリスクの管理Windows Server 2012 R2 で AD FS のラボ環境を設定する