如何在 AD FS 中移除或删除传出的声明?

如何在 AD FS 中移除或删除传出的声明?

我的客户对依赖信托的索赔发行规则不包含此索赔,但它最终出现在传出的索赔中并导致 Okta 崩溃: http://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser

他们将此作为我的应用程序依赖信任的自定义规则:

c:[类型 == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", 发行人 == "AD AUTHORITY"] => 发行(商店 = "Active Directory", 类型 = ("用户名", "名字", "姓氏", "电子邮件", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"), query = ";userPrincipalName,givenName,sn,mail,userPrincipalName;{0}", param = c.Value);

在 IdP 发起的 SAML 登录期间,AD FS 也会发送http://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser。它似乎与设备注册、设备上下文和 AD FS MFA 有关。

客户将这些声明用于其他依赖信托,因此我无法将其完全删除。

有没有办法可以禁止在特定的依赖信任上传递这些声明?

我如何移除或删除特定的传出索赔?

答案1

您无法控制您所说的 ADFS,对吗?它是第三方的(即您为其开发应用程序的第三方客户端),不是吗?

ADFS 允许您(管理员)定义多个依赖方信任(RPT)。然后您可以定义个人发行转换规则对于每个 RPT。因此,如果您的应用定义了不同的 RPT,那么阻止发出不需要的声明应该很简单,只需将该声明从为您的应用定义的 RPT 的颁发转换规则中删除即可。

您提到,此声明与其他依赖方相关。只要为这些 RP 定义了其他 RPT(并且该声明仍包含在其颁发转换规则中),一切都应该没问题。

您是否有权访问您的应用的完整发行转换规则?您可以在此处发布它(不泄露机密信息)吗?也许这可以帮助澄清您的案例。

相关内容