类别:

系统函数 (系统信息)

SYSTEM$GET_LOGIN_FAILURE_DETAILS

返回一个 JSON 对象,它表示与 External OAuth、SAML 或密钥对身份验证关联的失败登录尝试。JSON 对象包含与失败的登录尝试关联的错误。

语法

SYSTEM$GET_LOGIN_FAILURE_DETAILS('<uuid>')
Copy

实参

uuid

表示 UUID 的字符串。该 UUID 会出现在与 External OAuth、SAML 或密钥对身份验证相关的登录失败事件返回的错误消息之后。

返回

在 JSON 对象中返回以下元素:

数据类型

值描述

clientIP

STRING

登录请求失败的 IP 地址。例如 "10.211.55.1"

clientType

STRING

客户端报告的客户端软件。例如 "JDBC_DRIVER"。此值未验证。如果客户端未报告此值,则此值为 "OTHER"

clientVersion

STRING

客户端报告的客户端软件版本。例如 "2.9.0"。此值未验证。如果客户端未报告此值,则此值为 null

userName

STRING

与失败登录事件关联的用户名。如果系统找不到用户名,或者在系统找到用户名之前发生错误,则此值为 null

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

无法从访问令牌中提取发放者( iss 声明)。

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

无法从访问令牌中提取受众( aud 声明)。

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

令牌尚未生效。带有 iatnbf 声明的时间戳表示令牌在未来生效。

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 结合使用:

  1. 在错误消息中找到 UUID :

    Invalid  OAuth access token. [0ce9eb56-821d-4ca9-a774-04ae89a0cf5a]
    
  2. 使用 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');
    
    Copy
  3. 外部 OAuth 错误SAML 错误 表中找到错误描述。

语言: 中文