- 类别:
系统函数 (系统信息)
SYSTEM$GET_LOGIN_FAILURE_DETAILS¶
返回一个 JSON 对象,它表示与 External OAuth、SAML 或密钥对身份验证关联的失败登录尝试。JSON 对象包含与失败的登录尝试关联的错误。
语法¶
SYSTEM$GET_LOGIN_FAILURE_DETAILS('<uuid>')
实参¶
uuid
表示 UUID 的字符串。该 UUID 会出现在与 External OAuth、SAML 或密钥对身份验证相关的登录失败事件返回的错误消息之后。
返回¶
在 JSON 对象中返回以下元素:
键 |
数据类型 |
值描述 |
---|---|---|
clientIP |
STRING |
登录请求失败的 IP 地址。例如 |
clientType |
STRING |
客户端报告的客户端软件。例如 |
clientVersion |
STRING |
客户端报告的客户端软件版本。例如 |
userName |
STRING |
与失败登录事件关联的用户名。如果系统找不到用户名,或者在系统找到用户名之前发生错误,则此值为 |
errorCode |
STRING |
与失败登录事件关联的错误。有关错误的说明,请参阅 外部 OAuth 错误、SAML 错误 或 JWT 令牌错误。如果错误为 OVERFLOW_FAILURE_EVENTS_ELIDED,则表示登录失败次数过多。 |
timestamp |
NUMBER |
发生失败登录事件的日期和时间,采用 Unix 时间戳格式。 |
使用说明¶
只有为其角色分配了 MONITOR 权限的管理员才能使用此功能。
错误描述¶
本部分提供 SYSTEM$GET_LOGIN_FAILURE_DETAILS 函数返回的错误说明。
外部 OAuth 错误¶
错误 |
描述 |
---|---|
EXTERNAL_OAUTH_INVALID_SIGNATURE |
签名算法无效或验证签名时出现问题。 |
EXTERNAL_OAUTH_MISSING_ISSUER |
无法从访问令牌中提取发放者( |
EXTERNAL_OAUTH_JWS_INVALID_TYPE |
访问令牌类型无效。 |
EXTERNAL_OAUTH_JWS_INVALID_FORMAT |
访问令牌格式错误。 |
EXTERNAL_OAUTH_ACCESS_TOKEN_ISSUER_NOT_FOUND |
无法找到与发放者关联的安全集成。 |
EXTERNAL_OAUTH_ACCESS_TOKEN_EXPIRED |
访问令牌已过期。 |
EXTERNAL_OAUTH_MISSING_AUDIENCE |
无法从访问令牌中提取受众( |
EXTERNAL_OAUTH_AUDIENCE_VALIDATION_FAILED |
访问令牌的受众与安全集成中定义的受众不匹配。 |
EXTERNAL_OAUTH_ACCESS_TOKEN_ISSUER_NOT_ENABLED |
安全集成已禁用。 |
EXTERNAL_OAUTH_JWS_CANT_RETRIEVE_PUBLIC_KEY |
无法从授权服务器检索公钥以验证访问令牌。 |
EXTERNAL_OAUTH_USER_CLAIM_MISSING |
无法从访问令牌中提取用户映射声明。 |
EXTERNAL_OAUTH_ACCESS_TOKEN_NOT_YET_VALID |
令牌尚未生效。带有 |
SAML 错误¶
错误代码 |
错误 |
描述 |
---|---|---|
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 配置中配置的值不同。 |
JWT 令牌错误¶
以下错误与用于 密钥对身份验证 的 JWT 令牌相关联。
错误代码 |
错误 |
描述 |
---|---|---|
390144 |
JWT_TOKEN_INVALID |
JWT 令牌存在一个普遍问题。有关可能的解决方案,请参阅 常见错误和解决方案。 |
394300 |
JWT_TOKEN_INVALID_USER_IN_ISSUER |
Snowflake 账户中不存在发放者指定的用户名。有关可能的解决方案,请参阅 常见错误和解决方案。 |
394301 |
JWT_TOKEN_MISSING_ISSUE_OR_EXPIRATION_TIME |
JWT 令牌不包含发放时间或到期时间。 |
394302 |
JWT_TOKEN_INVALID_ISSUE_TIME |
Snowflake 在发放时间超过 60 秒后收到了 JWT 令牌。有关可能的解决方案,请参阅 常见错误和解决方案。 |
394303 |
JWT_TOKEN_INVALID_EXPIRATION_TIME |
JWT 令牌已过期。 |
394304 |
JWT_TOKEN_INVALID_PUBLIC_KEY_FINGERPRINT_MISMATCH |
发放者指定的公钥指纹与 Snowflake 中为用户存储的公钥指纹不匹配。有关可能的解决方案,请参阅 常见错误和解决方案。 |
394305 |
JWT_TOKEN_INVALID_ALGORITHM |
JWT 令牌未使用 RS256 算法进行签名。 |
394306 |
JWT_TOKEN_INVALID_SIGNATURE |
Snowflake 无法验证 JWT 令牌提供的签名。JWT 可能使用未与提供的公钥配对的私钥进行签名。JWT 签名也可能已损坏或已修改。 |
示例¶
以下示例介绍如何将 SYSTEM$GET_LOGIN_FAILURE_DETAILS 函数与来自与 External OAuth、SAML 或密钥对身份验证关联的失败登录尝试的 UUID 结合使用:
在错误消息中找到 UUID :
Invalid OAuth access token. [0ce9eb56-821d-4ca9-a774-04ae89a0cf5a]
使用 UUID 作为 SYSTEM$GET_LOGIN_FAILURE_DETAILS 函数的实参,并使用 JSON_EXTRACT_PATH_TEXT 函数提取错误:
SELECT JSON_EXTRACT_PATH_TEXT(SYSTEM$GET_LOGIN_FAILURE_DETAILS('0ce9eb56-821d-4ca9-a774-04ae89a0cf5a'), 'errorCode');
在 外部 OAuth 错误 或 SAML 错误 表中找到错误描述。