OAuth 身份验证:网络策略行为变更(已推迟)¶
备注
此行为变更原计划在 2025_06 捆绑包中发布,但已推迟。该变更将在未来的捆绑包中引入。此变更无法进行测试。
启用此行为变更后,Snowflake OAuth 和 External OAuth 在强制 :doc:` 网络策略 </user-guide/network-policies>` 以限制客户端和终端用户的入站流量时会有所变化。
Snowflake OAuth 身份验证:用于客户端请求到 Snowflake 的网络策略变更¶
Snowflake OAuth 允许您使用网络策略来限制来自 OAuth 客户端以及正在进行身份验证的用户的网络流量。可能有三种不同的网络策略可限制此流量:
可控制来自 OAuth 客户端请求的网络策略。此网络策略与允许客户端与 Snowflake 交互的安全集成相关联。
可控制来自正在进行身份验证的用户的请求的网络策略。此网络策略与用户关联。
在没有集成级或用户级网络策略的情况下进行管理的账户级网络策略。
此行为变更会影响哪个网络策略管理 OAuth 客户端向 Snowflake 发出的请求。下图突出显示了受变更影响的请求:
- 变更前:
用户级网络策略(而非集成级网络策略)管理从 OAuth 客户端向作为资源服务器的 Snowflake 发送访问令牌的请求。
- 变更后:
集成级网络策略(如果已指定)管理从 OAuth 客户端向作为资源服务器的 Snowflake 发送访问令牌的请求。如果没有集成级网络策略,则以账户级网络策略为准。
管理对 Snowflake 的其他请求的网络策略未更改:
用户向 Snowflake 发送的用户授权和用户同意请求仍受用户级网络策略(如果已指定)的约束。
OAuth 客户端向 Snowflake 发送的访问令牌请求仍受集成级网络策略(如果已指定)的约束。
外部 OAuth:集成级别的网络策略优先¶
启用此捆绑包后,您将能够将网络策略与 External OAuth 安全集成相关联。以前,只有 Snowflake OAuth 安全集成可以与网络策略相关联。
作为此变更的一部分,Snowflake 在限制来自 OAuth 客户端的网络流量时,将不再考虑用户级别的网络策略。Snowflake 将按照以下计划逐步执行此变更:
当变更处于默认启用状态 时,Snowflake 在限制来自 OAuth 客户端的请求时,会同时考虑用户级网络策略 和 集成级网络策略。
为避免在此期间出现失败,请将当前的用户级网络策略附加到安全集成。以下代码示例展示了如何确定分配给用户的网络策略,然后将同一策略分配给集成:
查找附加到用户的网络策略:
SHOW PARAMETERS LIKE 'network_policy' IN USER <user_name>;
将前一条命令返回的网络策略附加到外部 OAuth 安全集成:
ALTER SECURITY INTEGRATION <external_oauth_integration_name> SET NETWORK_POLICY = <network_policy_attached_to_user>;
当变更普遍启用 时,用户级网络策略对来自 OAuth 客户端向 Snowflake 发出的请求将不起作用。Snowflake 会先将这些请求与集成级网络策略进行检查,然后再检查账户级策略。由于用户级网络策略已无效,您应通过运行以下命令将其从用户中移除:
ALTER USER <user_name> UNSET NETWORK_POLICY;
参考:2094