認証ポリシーを構成する
Windows Server 2012 R2 の AD FS では、アクセス制御と認証メカニズムの両方が、ユーザー、デバイス、場所、認証データを含む複数の要因によって拡張されます。 これらの拡張により、ユーザー インターフェイスまたは Windows PowerShell を通じて、ユーザー ID またはグループ メンバーシップ、ネットワークの場所、社内参加済みデバイス データ、および多要素認証 (MFA) が実行されたときの認証状態に基づく多要素アクセス制御および多要素認証を使用して、AD FS で保護されたアプリケーションにアクセス許可を付与するリスクを管理できます。
Windows Server 2012 R2 の Active Directory フェデレーション サービス (AD FS) での MFA と多要素アクセス制御の詳細については、次のトピックを参照してください。
AD FS 管理スナップインを使用して認証ポリシーを構成する
これらの手順を実行するには、ローカル コンピューターの Administrators グループのメンバーシップか、それと同等のメンバーシップが最低限必要です。 適切なアカウントの使用方法の詳細を確認し、グループ メンバーシップ ローカルおよびドメインの既定のグループします。
Windows Server 2012 R2 の AD FS では、AD FS によって保護されているすべてのアプリケーションとサービスに適用されるグローバル スコープで認証ポリシーを指定できます。 証明書利用者を信頼し、AD FS によって保護されている特定のアプリケーションとサービスに対して、認証ポリシーを設定することもできます。 証明書利用者信頼ごとに特定のアプリケーションに対して認証ポリシーを指定しても、グローバル認証ポリシーはオーバーライドされません。 認証ポリシーがグローバルであっても、証明書利用者信頼ごとであっても、MFA が必要である場合、ユーザーがこの証明書利用者信頼に対して認証しようとすると、MFA がトリガーされます。 グローバル認証ポリシーは、特定の認証ポリシーが構成されていないアプリケーションやサービスに対する証明書利用者信頼の代替となるものです。
Windows Server 2012 R2 でプライマリ認証をグローバルに構成するには
サーバー マネージャーで、 [ツール] をクリックし、次に [AD FS の管理] を選択します。
AD FS スナップインで、[認証ポリシー] をクリックします。
[プライマリ認証] セクションで、[グローバル設定] の横にある [編集] をクリックします。 また、[認証ポリシー] を右クリックし、[グローバル プライマリ認証の編集] を選択するか、[操作] ペインで [グローバル プライマリ認証の編集] を選択することもできます。
[グローバル認証ポリシーの編集] ウィンドウの [プライマリ] タブで、グローバル認証ポリシーの一部として次の設定を構成できます。
プライマリ認証に使用される認証方法。 [エクストラネット] と [イントラネット] で使用可能な認証方法を選択できます。
[デバイス認証を有効にする] チェック ボックスを使用したデバイス認証。 詳細については、「 Join to Workplace from Any Device for SSO and Seamless Second Factor Authentication Across Company Applications」を参照してください。
証明書利用者信頼ごとにプライマリ認証を構成するには
サーバー マネージャーで、 [ツール] をクリックし、次に [AD FS の管理] を選択します。
AD FS スナップインで、[認証ポリシー]\[証明書利用者信頼ごと] をクリックして、認証ポリシーを構成する証明書利用者信頼をクリックします。
認証ポリシーを構成する証明書利用者信頼を右クリックし、[カスタム プライマリ認証の編集] を選択するか、[操作] ペインで [カスタム プライマリ認証の編集] を選択します。
[<relying_party_trust_name> の認証ポリシーの編集] ウィンドウの [プライマリ] タブで、証明書利用者信頼ごとの認証ポリシーの一部として次の設定を構成できます。
- ユーザーがサインイン時に資格情報を毎回入力する必要があるかどうか。[ユーザーはサインイン時に資格情報を毎回入力する必要がある] チェック ボックスを使用します。
多要素認証をグローバルに構成するには
サーバー マネージャーで、 [ツール] をクリックし、次に [AD FS の管理] を選択します。
AD FS スナップインで、[認証ポリシー] をクリックします。
[多要素認証] セクションで、[グローバル設定] の横にある [編集] をクリックします。 また、[認証ポリシー] を右クリックし、[グローバル多要素認証の編集] を選択するか、[操作] ペインで [グローバル多要素認証の編集] を選択することもできます。
[グローバル認証ポリシーの編集] ウィンドウの [多要素] タブで、グローバル多要素認証ポリシーの一部として次の設定を構成できます。
MFA の設定または条件。[ユーザー/グループ]、[デバイス]、および [場所] セクションで使用可能なオプションを使用します。
これらの設定のいずれかに対して MFA を有効にするには、追加の認証方法を少なくとも 1 つ選択する必要があります。 [証明書の認証] は、既定で使用可能なオプションです。 Windows Azure アクティブ認証など、その他のカスタムの追加認証方法を構成することもできます。 詳細については、「チュートリアル ガイド: 追加の多要素認証による個人情報アプリケーションのリスク管理」を参照してください。
警告
追加の認証方法はグローバルにのみ構成できます。
証明書利用者信頼ごとに多要素認証を構成するには
サーバー マネージャーで、 [ツール] をクリックし、次に [AD FS の管理] を選択します。
AD FS スナップインで、[認証ポリシー]\[証明書利用者信頼ごと] をクリックして、MFA を構成する証明書利用者信頼をクリックします。
MFA を構成する証明書利用者信頼を右クリックし、[カスタム多要素認証の編集] を選択するか、[操作] ペインで [カスタム多要素認証の編集] を選択します。
[<relying_party_trust_name> の認証ポリシーの編集] ウィンドウの [多要素] タブで、証明書利用者信頼ごとの認証ポリシーの一部として次の設定を構成できます。
- MFA の設定または条件。[ユーザー/グループ]、[デバイス]、および [場所] セクションで使用可能なオプションを使用します。
Windows PowerShell を使用して認証ポリシーを構成する
Windows PowerShell により、AD FS で保護されたリソースの true の条件付きアクセスを実装するのに必要な認証ポリシーと承認規則を構成するために、Windows Server 2012 R2 の AD FS で使用できるアクセス制御と認証メカニズムのさまざまな要因をより柔軟に使用できるようになります。
これらの手順を実行するには、ローカル コンピューターの Administrators グループのメンバーシップか、それと同等のメンバーシップが最低限必要です。 適切なアカウントおよびグループ メンバーシップの使用について詳しくは、「ローカルおよびドメインの既定のグループ (http://go.microsoft.com/fwlink/?LinkId=83477).」を参照してください
Windows PowerShell を使用して追加の認証方法を構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
`Set-AdfsGlobalAuthenticationPolicy –AdditionalAuthenticationProvider CertificateAuthentication `
警告
このコマンドが正常に実行されたことを確認するには、 Get-AdfsGlobalAuthenticationPolicy
コマンドを実行できます。
ユーザーのグループ メンバーシップ データに基づく証明書利用者信頼ごとに MFA を構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
`$rp = Get-AdfsRelyingPartyTrust –Name relying_party_trust`
警告
<relying_party_trust> は必ず、実際の証明書利用者信頼の名前に置き換えてください。
- 同じ Windows PowerShell コマンド ウィンドウで、次のコマンドを実行します。
$MfaClaimRule = "c:[Type == '"https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid'", Value =~ '"^(?i) <group_SID>$'"] => issue(Type = '"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod'", Value '"https://schemas.microsoft.com/claims/multipleauthn'");"
Set-AdfsRelyingPartyTrust –TargetRelyingParty $rp –AdditionalAuthenticationRules $MfaClaimRule
注意
<group_SID> は必ず、実際の Active Directory (AD) グループのセキュリティ識別子 (SID) の値に置き換えてください。
ユーザーのグループ メンバーシップ データに基づいて MFA をグローバルに構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
$MfaClaimRule = "c:[Type == '" https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid'", Value == '"group_SID'"]
=> issue(Type = '"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod'", Value = '"https://schemas.microsoft.com/claims/multipleauthn'");"
Set-AdfsAdditionalAuthenticationRule $MfaClaimRule
注意
<group_SID> は必ず、実際の AD グループの SID の値に置き換えてください。
ユーザーの場所に基づいて MFA をグローバルに構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
$MfaClaimRule = "c:[Type == '" https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork'", Value == '"true_or_false'"]
=> issue(Type = '"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod'", Value = '"https://schemas.microsoft.com/claims/multipleauthn'");"
Set-AdfsAdditionalAuthenticationRule $MfaClaimRule
注意
<true_or_false> は必ず、true
または false
に置き換えてください。 値は、アクセス要求がエクストラネットとイントラネットのどちらからのものであるかに基づく特定の規則条件によって異なります。
ユーザーのデバイス データに基づいて MFA をグローバルに構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
$MfaClaimRule = "c:[Type == '" https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser'", Value == '"true_or_false"']
=> issue(Type = '"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod'", Value = '"https://schemas.microsoft.com/claims/multipleauthn'");"
Set-AdfsAdditionalAuthenticationRule $MfaClaimRule
注意
<true_or_false> は必ず、true
または false
に置き換えてください。 値は、デバイスが社内参加済みであるかどうかに基づく特定の規則条件によって異なります。
アクセス要求がエクストラネットからと社内参加済みデバイス以外からのものである場合に、MFA をグローバルに構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
`Set-AdfsAdditionalAuthenticationRule "c:[Type == '"https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser'", Value == '"true_or_false'"] && c2:[Type == '"https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork'", Value == '" true_or_false '"] => issue(Type = '"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod'", Value ='"https://schemas.microsoft.com/claims/multipleauthn'");" `
注意
<true_or_false> の両方のインスタンスは必ず、true
または false
に置き換えてください。これは特定の規則条件によって異なります。 規則条件は、デバイスが社内参加済みであるかどうか、およびアクセス要求がエクストラネットとイントラネットのどちらからのものであるかに基づきます。
アクセスが、特定のグループに属するエクストラネット ユーザーからのものである場合に、MFA をグローバルに構成するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
Set-AdfsAdditionalAuthenticationRule "c:[Type == `"https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid`", Value == `"group_SID`"] && c2:[Type == `"https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork`", Value== `"true_or_false`"] => issue(Type = `"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod`", Value =`"https://schemas.microsoft.com/claims/
注意
<group_SID> は必ず、グループ SID の値に置き換え、<true_or_false> は true
または false
に置き換えてください。これは、アクセス要求がエクストラネットとイントラネットのどちらからのものであるかに基づく特定の規則条件によって異なります。
Windows PowerShell を使用してユーザー データに基づいてアプリケーションへのアクセスを許可するには
フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
$rp = Get-AdfsRelyingPartyTrust –Name relying_party_trust
注意
<relying_party_trust> は必ず、実際の証明書利用者信頼の値に置き換えてください。
同じ 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 グループの SID の値に置き換えてください。
このユーザーの ID が MFA で検証された場合にのみ、AD FS によって保護されているアプリケーションへのアクセスを許可するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
`$rp = Get-AdfsRelyingPartyTrust –Name relying_party_trust `
注意
<relying_party_trust> は必ず、実際の証明書利用者信頼の値に置き換えてください。
同じ Windows PowerShell コマンド ウィンドウで、次のコマンドを実行します。
$GroupAuthzRule = "@RuleTemplate = `"Authorization`" @RuleName = `"PermitAccessWithMFA`" c:[Type == `"https://schemas.microsoft.com/claims/authnmethodsreferences`", Value =~ `"^(?i)https://schemas\.microsoft\.com/claims/multipleauthn$`"] => issue(Type = `"https://schemas.microsoft.com/authorization/claims/permit`", Value = '"PermitUsersWithClaim'");"
アクセス要求がユーザーに登録されている社内参加済みデバイスからのものである場合にのみ、AD FS によって保護されているアプリケーションへのアクセスを許可するには
フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
$rp = Get-AdfsRelyingPartyTrust –Name relying_party_trust
注意
<relying_party_trust> は必ず、実際の証明書利用者信頼の値に置き換えてください。
- 同じ Windows PowerShell コマンド ウィンドウで、次のコマンドを実行します。
$GroupAuthzRule = "@RuleTemplate = `"Authorization`"
@RuleName = `"PermitAccessFromRegisteredWorkplaceJoinedDevice`"
c:[Type == `"https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser`", Value =~ `"^(?i)true$`"] => issue(Type = `"https://schemas.microsoft.com/authorization/claims/permit`", Value = `"PermitUsersWithClaim`");
アクセス要求が、MFA で ID が検証されたユーザーに登録されている社内参加済みデバイスからのものである場合にのみ、AD FS によって保護されているアプリケーションへのアクセスを許可するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
`$rp = Get-AdfsRelyingPartyTrust –Name relying_party_trust `
注意
<relying_party_trust> は必ず、実際の証明書利用者信頼の値に置き換えてください。
同じ Windows PowerShell コマンド ウィンドウで、次のコマンドを実行します。
$GroupAuthzRule = '@RuleTemplate = "Authorization" @RuleName = "RequireMFAOnRegisteredWorkplaceJoinedDevice" c1:[Type == `"https://schemas.microsoft.com/claims/authnmethodsreferences`", Value =~ `"^(?i)http://schemas\.microsoft\.com/claims/multipleauthn$`"] && c2:[Type == `"https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser`", Value =~ `"^(?i)true$"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit`", Value = `"PermitUsersWithClaim`");"
アクセス要求が、MFA で ID が検証されたユーザーからのものである場合にのみ、AD FS によって保護されたアプリケーションへのエクストラネット アクセスを許可するには
- フェデレーション サーバーで、Windows PowerShell コマンド ウィンドウを開き、次のコマンドを実行します。
`$rp = Get-AdfsRelyingPartyTrust –Name relying_party_trust`
注意
<relying_party_trust> は必ず、実際の証明書利用者信頼の値に置き換えてください。
- 同じ Windows PowerShell コマンド ウィンドウで、次のコマンドを実行します。
$GroupAuthzRule = "@RuleTemplate = `"Authorization`"
@RuleName = `"RequireMFAForExtranetAccess`"
c1:[Type == `"https://schemas.microsoft.com/claims/authnmethodsreferences`", Value =~ `"^(?i)http://schemas\.microsoft\.com/claims/multipleauthn$`"] &&
c2:[Type == `"https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork`", Value =~ `"^(?i)false$`"] => issue(Type = `"https://schemas.microsoft.com/authorization/claims/permit`", Value = `"PermitUsersWithClaim`");"