Snowflake SCIM 支持¶
Snowflake 支持 SCIM 2.0,允许您将 Snowflake 与充当身份提供商的 Okta 和 Microsoft Azure AD 集成。您可以使用自定义身份提供商,这些身份提供商既非 Okta 也非 Microsoft Azure。您可以将身份提供商中的用户和组(角色)预置到充当服务提供商的 Snowflake 中。
备注
Snowflake 中的 SCIM 角色必须拥有从身份提供商导入的任何用户或角色。如果 Snowflake SCIM 角色不拥有导入的用户或角色,身份提供商中的更新不会同步到 Snowflake。Snowflake SCIM 角色与其身份提供商 (IdP) 相关:
Okta SCIM 角色:
okta_provisioner
Azure AD SCIM 角色:
aad_provisioner
自定义 SCIM 角色:
generic_scim_provisioner
有关如何使用 Snowflake SCIM 角色的更多信息,请参阅针对 Okta、Azure AD 和 自定义 SCIM 集成 的 SCIM 配置部分。
用例¶
Snowflake SCIM API 可以解决以下用例。
管理用户:管理员可以从其组织的身份提供商向 Snowflake 预置和管理用户。用户管理是从身份提供商到 Snowflake 的一对一映射。
管理组:管理员可以从其组织的身份提供商向 Snowflake 预置和管理组(即角色)。角色管理是从身份提供商到 Snowflake 的一对一映射。
审计 SCIM API 请求:管理员可以查询
rest_event_history
表,确定身份提供商是否正在向 Snowflake 发送更新(即 SCIM API 请求)。
SCIM API¶
身份提供商可以使用 SCIM 客户端向 Snowflake SCIM 服务器发出 RESTful API 请求。验证 API 请求后,Snowflake 执行身份提供商向用户或组请求的操作。
Snowflake 通过 HTTP 请求的 Authorization
标头中的 OAuth Bearer 令牌对来自身份提供商的 SCIM API 请求进行身份验证。令牌的有效期为六个月。在进行身份验证时,必须确保令牌未过期。如果令牌过期,您可以使用 SYSTEM$GENERATE_SCIM_ACCESS_TOKEN 函数生成新的访问令牌。
小心
Snowflake SCIM API 允许管理员管理从客户的身份提供商到 Snowflake 的用户和组。如果您直接在 Snowflake 中对用户和组进行更改,则这些更改不会同步回客户的身份提供商。
有关向 Snowflake 发出 SCIM API 请求的更多信息,请参阅 SCIM API 引用。
审计 SCIM API 请求¶
您可以查询 Snowflake 以查找有关在一段时间内发出的 SCIM API 请求的信息。您可以使用此信息来查看组织的活动用户是否与预置到 Snowflake 中的用户匹配。
例如,要确定最近 5 分钟内发出了哪些 SCIM API 请求(最多返回 200 个请求),可以使用 Information Schema 表函数 REST_EVENT_HISTORY:
use role accountadmin;
use database demo_db;
use schema information_schema;
select *
from table(rest_event_history(
'scim',
dateadd('minutes',-5,current_timestamp()),
current_timestamp(),
200))
order by event_timestamp;
有关如何修改此查询的更多信息,请参阅 DATEADD 和 CURRENT_TIMESTAMP。
支持的 SCIM 安全集成¶
请参阅 SCIM 安全集成。
复制安全集成¶
Snowflake 支持通过 SCIM 安全集成执行从源账户到目标账户的复制和故障转移/故障回复。
有关详细信息,请参阅 跨多个账户复制安全集成和网络策略。