联合身份验证和 SSO 故障排除¶
本主题提供的信息有助于对联合身份验证环境进行故障排除,包括在用户登录尝试失败期间生成的错误代码和消息。
错误代码¶
每次失败的登录尝试都会生成错误。这些错误可以从 Snowflake Information Schema 或 ACCOUNT_USAGE 架构 获取:
Snowflake Information Schema 提供过去 7 天内的数据,可以使用 LOGIN_HISTORY、LOGIN_HISTORY_BY_USER 表函数进行查询。
ACCOUNT_USAGE 架构中的 LOGIN_HISTORY 视图提供了过去一年内的类似数据。
联合身份验证错误代码¶
下表包含与联合身份验证相关的错误代码和消息。
错误代码 |
错误 |
描述 |
---|---|---|
390136 |
FED_REAUTH_PENDING |
正在等待来自 IDP 的身份验证响应。 |
390137 |
FED_REAUTH |
已生成联合身份验证请求 URL。 |
390138 |
FED_REAUTH_TIMEOUT |
等待来自 IDP 的身份验证响应超时。 |
390139 |
AUTHENTICATOR_NOT_SUPPORTED |
您的 Snowflake 账户配置不接受指定的身份验证器。 请与当地系统管理员联系以获取正确的 URL 使用方法。 |
390140 |
FED_PASSWORD_EXPIRED |
身份提供商 (IdP) 密码已过期。请联系您的 IdP 团队。 |
390191 |
USERNAMES_MISMATCH |
您尝试进行身份验证的用户与当前登录 IDP 的用户不同。 |
SAML 错误代码¶
根据错误消息是否具有 UUID,对登录失败进行故障排除会有所不同。
如果您遇到与 SAML SSO 登录尝试失败相关的错误消息,并且该错误消息没有 UUID,请确保该用户存在。如果用户存在,则 SAML 响应无效,并且登录尝试次数过多。
如果您遇到与 SAML SSO 登录尝试失败相关的错误消息,并且该错误消息具有 UUID,则可要求角色中分配有 MONITOR 权限的管理员按照以下步骤获取更详细的错误描述:
在错误消息中找到 UUID:
SAML response is invalid or matching user is not found. Contact your local system administrator. [eb55b777-50a4-4db5-b231-9ee457fb3981]
使用 UUID 作为 SYSTEM$GET_LOGIN_FAILURE_DETAILS 函数的实参,并使用 JSON_EXTRACT_PATH_TEXT 函数提取错误:
SELECT JSON_EXTRACT_PATH_TEXT(SYSTEM$GET_LOGIN_FAILURE_DETAILS('eb55b777-50a4-4db5-b231-9ee457fb3981'), 'errorCode');
在下表中找到错误描述:
错误代码
错误
描述
390133
SAML_RESPONSE_INVALID
由于未指定的原因,SAML 响应无效,尽管它很可能是格式错误(如果解析出现错误,也会使用此响应)。
390165
SAML_RESPONSE_INVALID_SIGNATURE
SAML 响应包含无效的签名。
390166
SAML_RESPONSE_INVALID_DIGEST_METHOD
SAML 响应包含无效的“DigestMethod”属性,或完全省略了该属性。
390167
SAML_RESPONSE_INVALID_SIGNATURE_METHOD
SAML 响应包含无效的“SignatureMethod”,或完全省略了该属性。
390168
SAML_RESPONSE_INVALID_DESTINATION
响应中的 SAML“目标”属性与账户中的有效目标 URL 不匹配。
390169
SAML_RESPONSE_INVALID_AUDIENCE
SAML 响应不完全包含一个受众,或者受众 URL 与我们期望的受众 URL 不匹配。
390170
SAML_RESPONSE_INVALID_MISSING_INRESPONSETO
SAML 断言中缺少“InResponseTo”属性。
390171
SAML_RESPONSE_INVALID_RECIPIENT_MISMATCH
“收件人”属性与有效目标 URL 不匹配。
390172
SAML_RESPONSE_INVALID_NOTONORAFTER_VALIDATION
这通常表明 SAML 断言的有效时间已过期。
390173
SAML_RESPONSE_INVALID_NOTBEFORE_VALIDATION
这通常表示 SAML 断言的有效时间尚未到来。
390174
SAML_RESPONSE_INVALID_USERNAMES_MISMATCH
重新身份验证期间登录名不匹配。
390175
SAML_RESPONSE_INVALID_SESSIONID_MISSING
在重新身份验证期间,我们无法找到与用户对应的会话。
390176
SAML_RESPONSE_INVALID_ACCOUNTS_MISMATCH
在重新身份验证期间,发现账户的名称不匹配。
390177
SAML_RESPONSE_INVALID_BAD_CERT
SAML 响应中包含的 x.509 证书格式错误或与预期证书不匹配。
390178
SAML_RESPONSE_INVALID_PROOF_KEY_MISMATCH
证明密钥与身份验证请求 ID 不匹配。
390179
SAML_RESPONSE_INVALID_INTEGRATION_MISCONFIGURATION
SAML IdP 配置无效。
390180
SAML_RESPONSE_INVALID_REQUEST_PAYLOAD
在身份验证期间,使用无效的负载或使用无效的联合 OAuth 连接字符串。
390181
SAML_RESPONSE_INVALID_MISSING_SUBJECT_CONFIRMATION_BEARER
缺少使用 Bearer 方法的主题确认,无法验证。
390182
SAML_RESPONSE_INVALID_MISSING_SUBJECT_CONFIRMATION_DATA
断言中缺少主题确认数据。
390183
SAML_RESPONSE_INVALID_CONDITIONS
SAML 断言无效的原因与此表中的上述条件不同。
390184
SAML_RESPONSE_INVALID_ISSUER
SAML 响应包含的发放者/entityID 值与 SAML IDP 配置中配置的值不同。