身份验证强度是Microsoft Entra条件访问控制中的一项功能,用于指定访问资源时需要使用的身份验证方法组合。 作为管理员,最多可以创建 15 个自定义身份验证强度,以满足你的要求。
先决条件
- 若要使用条件访问,租户需要Microsoft Entra ID P1 许可证。
创建自定义身份验证强度
浏览到 Microsoft Entra ID>安全>条件访问>身份验证强度。
选择“ 新建身份验证强度”。
对于 Name,请为新的身份验证强度提供描述性名称。
对于 “说明”,可以提供可选说明。
选择要允许的可用方法,如 “网络钓鱼防护 MFA”、“ 无密码 MFA”和 “临时访问密码”下的可用方法。
选择 “下一步 ”并查看策略配置。
更新和删除自定义身份验证强度
可以编辑自定义身份验证强度。 如果条件访问策略引用身份验证强度,则无法删除它,并且需要确认任何编辑。
若要检查条件访问策略是否引用身份验证强度,请转到 条件访问策略 列。
配置通行密钥的高级选项 (FIDO2)
可以限制通行密钥(FIDO2)的使用,具体依据是其身份验证器证明GUID(AAGUID)。 可以使用此功能来要求特定制造商提供 FIDO2 安全密钥才能访问资源:
创建自定义身份验证强度后,选择 “密码”(FIDO2)>“高级”选项。
在添加 AAGUID 旁边,选择加号 (+),复制 AAGUID 值,然后选择“保存”。
为基于证书的身份验证配置高级选项
在身份验证绑定策略中,可以根据证书颁发者或策略对象标识符(OID)配置证书是绑定到单因素还是多重身份验证保护级别。 还可以根据条件访问身份验证强度策略为特定资源要求单因素或多重身份验证证书。
通过使用高级选项进行身份验证强度,可以要求特定的证书颁发者或策略 OID 进一步限制对应用程序的登录。
例如,假设名为 Contoso 的组织向具有三种不同类型的多重证书的员工颁发智能卡。 一个证书用于机密许可,另一个证书用于机密许可,第三个证书用于最高机密许可。 每个证书通过属性(如颁发者或策略 OID)来区分。 Contoso 希望确保只有具有适当多重证书的用户才能访问每个分类的数据。
下一部分介绍如何使用 Microsoft Entra 管理中心和 Microsoft Graph 为基于证书的身份验证(CBA)配置高级选项。
Microsoft Entra 管理中心
以管理员身份登录到 Azure 门户 。
浏览到 Microsoft Entra ID>安全>条件访问>身份验证强度。
选择“ 新建身份验证强度”。
对于 Name,请为新的身份验证强度提供描述性名称。
对于 “说明”,可以提供可选说明。
在基于证书的身份验证选项(单因素或多重身份验证)下,选择 “高级”选项。
选择或输入证书颁发者,并输入允许的策略 OID。
可以通过 从租户下拉列表中的证书颁发机构中选择证书颁发者来配置证书颁发者 。 下拉列表显示租户中的所有证书颁发机构,无论是单因素认证还是多因素认证。
如果想要使用的证书未上传到您客户端中的证书颁发机构,那么您可以在 Other Certificate Issuers by SubjectkeyIdentifier 框中输入证书颁发者。 例如,外部用户方案,用户可以在主租户中进行身份验证,并在资源租户上强制执行身份验证强度。
这些条件适用:
- 如果您配置了两个属性(证书颁发者和策略 OID),则用户必须使用一个证书,该证书至少包含列表中的一个颁发者和一个策略 OID,以满足身份验证强度要求。
- 如果仅配置证书颁发者属性,则用户必须使用至少具有一个颁发者的证书来满足身份验证强度。
- 如果仅配置策略 OID 属性,则用户必须使用至少有一个策略 OID 的证书来满足身份验证强度。
注释
最多可以为身份验证强度配置 5 个颁发者和 5 个 OID。
选择 “下一步 ”以查看配置,然后选择“ 创建”。
Microsoft Graph
若要使用 combinationConfigurations 证书创建新的条件访问身份验证强度策略,请使用以下代码:
POST /beta/identity/conditionalAccess/authenticationStrength/policies
{
"displayName": "CBA Restriction",
"description": "CBA Restriction with both IssuerSki and OIDs",
"allowedCombinations": [
" x509CertificateMultiFactor "
],
"combinationConfigurations": [
{
"@odata.type": "#microsoft.graph.x509CertificateCombinationConfiguration",
"appliesToCombinations": [
"x509CertificateMultiFactor"
],
"allowedIssuerSkis": ["9A4248C6AC8C2931AB2A86537818E92E7B6C97B6"],
"allowedPolicyOIDs": [
"1.2.3.4.6",
"1.2.3.4.5.6"
]
}
]
}
若要向现有策略添加新 combinationConfiguration 信息,请使用以下代码:
POST beta/identity/conditionalAccess/authenticationStrength/policies/{authenticationStrengthPolicyId}/combinationConfigurations
{
"@odata.type": "#microsoft.graph.x509CertificateCombinationConfiguration",
"allowedIssuerSkis": [
"9A4248C6AC8C2931AB2A86537818E92E7B6C97B6"
],
"allowedPolicyOIDs": [],
"appliesToCombinations": [
"x509CertificateSingleFactor "
]
}
了解限制
通行密钥的高级选项 (FIDO2)
对于主租户和资源租户位于不同 Azure 云中的外部用户,不支持传递密钥(FIDO2)的高级选项。
基于证书的身份验证的高级选项
用户在每个浏览器会话中只能使用一个证书。 用户使用证书登录后,该证书在会话期间缓存在浏览器中。 如果未满足身份验证强度要求,则不会提示用户选择另一个证书。 用户需要注销并重新登录才能重启会话,然后选择相关的证书。
证书颁发机构和用户证书应符合 X.509 v3 标准。 具体而言,要为发行者的主题密钥标识符(SKIs)强制实施 CBA 限制,证书需要具有有效的授权密钥标识符(AKIs)。
注释
如果证书不符合要求,则用户身份验证可能会成功,但不符合身份验证强度策略的颁发者 SKI 限制。
在登录期间,Microsoft Entra ID 会考虑用户证书的前五个策略 OID,并将其与身份验证强度策略中配置的策略 OID 进行比较。 如果用户证书具有 5 个以上的策略 OID,Microsoft Entra ID 会考虑与身份验证强度要求匹配的前五个策略 OID(按词法顺序)。
对于企业对企业用户,我们以 Contoso 邀请另一个组织(Fabrikam)中的用户加入其租户为例。 在这种情况下,Contoso 是资源租户,Fabrikam 是主租户。 访问权取决于跨租户访问权限设置:
- 当跨租户访问设置 为 Off 时,这意味着 Contoso 不接受主租户执行的 MFA。 不支持基于证书的资源租户身份验证。
- 当跨租户访问设置为 On 时,Fabrikam 和 Contoso 租户位于同一 Azure 云(Azure 商业云平台或适用于美国政府云平台的 Azure)。 此外,Contoso 信任在其家庭租户上执行的 MFA。 在这种情况下:
- 管理员可以通过使用策略 OID 或自定义身份验证强度策略中的 SubjectkeyIdentifier 设置的其他证书颁发者 来限制对特定资源的访问。
- 管理员可以通过在自定义身份验证强度策略中使用 按SubjectkeyIdentifier的其他证书颁发者 设置来限制对特定资源的访问。
- 当跨租户访问设置为 On 时,Fabrikam 和 Contoso 不在同一 Azure 云中。 例如,Fabrikam 的租户位于 Azure 商业云平台上,Contoso 的租户位于适用于美国政府云平台的 Azure 上。 管理员无法在自定义身份验证强度策略中使用颁发者 ID 或策略 OID 来限制对特定资源的访问。
排查身份验证强度的高级选项问题
用户无法使用其通行密钥(FIDO2)登录
条件访问管理员可以限制对特定安全密钥的访问。 当用户尝试使用无法使用的密钥登录时,将显示“你无法从此处获取”消息。 用户必须重新启动会话并使用其他密码(FIDO2)登录。
需要检查证书颁发者或策略 OID
可以确认个人证书属性与身份验证强度的高级选项中的配置匹配:
在用户的设备上,以管理员身份登录。
选择 “运行”,键入 certmgr.msc,然后选择 Enter 键。
选择 “个人>证书”,右键单击该证书,然后转到“ 详细信息 ”选项卡。