排查 Google SecOps SOAR 中的 SAML 问题

支持的平台:

本文档介绍了如何排查您在 Google Security Operations SOAR 平台中使用 SAML 身份验证时可能会遇到的常见问题。

本部分列出了 SAML 身份验证错误的排查方法和解决方案。

在目录中找不到应用

消息AADSTS700016: Application with identifier 'https://yyy.yyyyyy.com/api/auth/saml/metadata' was not found in the directory 'yyy'.

说明:Azure AD(基本 SAML)中的配置与系统中的配置不一致。

修复:在 Azure AD 中,将标识符(实体 ID)设置为 SP 的实体 ID,并确保回复网址 (ACS) 与您的 SP 相匹配;确认您位于正确的租户中,并且用户已分配给该应用。

saml:AuthnContextDeclRef 的值无效

消息Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenReadException: IDX13102: Exception thrown while reading 'System.String' for Saml2SecurityToken. Inner exception: System.ArgumentException.

说明:此错误表明 SAML 响应中的 saml:AuthnContextDeclRef 值无效。

修复:解码并检查 SAML 响应。如果 IdP 发送了无效的 AuthnContextDeclRef,请将其移除或切换到受支持的 saml:AuthnContextClassRef(例如 urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport)。

System.ArgumentException:“System.String”必须是绝对 URI

消息/ds:Signature>saml:Subject<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" System.ArgumentException: IDX13300: 'System.String' must be an absolute URI, was: 'System.Uri"></saml:NameID>

说明NameID Format 必须是 SP 支持的有效绝对 URI (URN),并且必须存在 <saml:NameID> 值。

修复:将 SAML 配置中的 DefaultNameIDFormat 参数设置为以下选项之一:

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress最常见
  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

未找到用户属性,且 LoginIdentifier 字段是必需的

消息logs Server error Login error for user _yyyyyyyyyyyyyyyyyyyyyyy. User attributes were not found for creating new followed by Error: register : The LoginIdentifier field is required.

说明:启用即时 (JIT) 预配后,SP 会使用 NameID(或映射的属性)查找用户。传入的值与任何现有登录 ID 都不匹配。

修复:必须将 IdP 配置为发送与用户管理中的登录 ID 字段(“设置”图标 >“用户管理”)匹配的值。此值可以是用户的电子邮件地址或其他唯一 ID。

用户类型不匹配

消息Login error for user user@user.com. User type (Internal) does not match to this type of authentication (External).

说明:系统中已存在具有相同登录 ID 的内部账号,但 SAML 身份验证需要外部用户。

修复:将具有冲突用户名的现有用户的用户类型更改为 External,以匹配 SAML 身份验证方法。

重定向循环

如果您的实例配置为自动重定向到 IdP 登录页面,但您遇到持续的重定向循环,则可以通过在实例主机名后附加以下文本来暂时停用自动重定向:

/#/login?autoExternalLogin=false

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。