类别:

:doc:`/sql-reference/functions-system`(系统控制)

SYSTEM$BLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESS_WITH_EXCEPTION

阻止公共流量访问 Microsoft Azure 上当前 Snowflake 账户中由 Snowflake 管理的存储卷,同时允许从指定的 IP 地址或 CIDR 块进行访问。

此函数类似于 SYSTEM$BLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESS。此函数不是阻止 所有 公共 IP 地址,而是维护一个允许列表,列出仍被允许访问 Snowflake 托管存储卷的 IP 地址或 CIDR 块。

当允许列表已存在时,调用 SYSTEM$BLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESS_WITH_EXCEPTION,将现有的允许列表替换为新的允许列表。

有关更多信息,请参阅 阻止公共访问

重要

阻止 公共访问之前,确认通过专用连接的流量已成功到达 Snowflake 托管存储卷。在不配置专用连接的情况下阻止公共访问可能会导致意外中断。

另请参阅:

SYSTEM$UNBLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESSSYSTEM$BLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESSSYSTEM$SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESS_STATUS

语法

SYSTEM$BLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESS_WITH_EXCEPTION( '<ip_address_or_cidr_range>' [ , '<ip_address_or_cidr_range>' , ... ] )

实参

'ip_address_or_cidr_range'

指定以下其中一项的字符串:

  • 单个 IP 地址,例如 '100.0.0.1'

  • 使用无类别域间路由 (CIDR) 表示法的一段 IP 地址:

    ip_address/prefix_length

    例如,'1.2.3.0/24''101.0.0.0/31'

在此实参中指定的 IP 地址或 CIDR 范围可以访问 Snowflake 托管存储卷。将多个值指定为单独的、以逗号分隔的实参。

返回

该函数返回以下状态消息:

状态消息

描述

阻止对 Snowflake 托管存储卷的公共访问。

表示该函数成功阻止了公共访问。

未找到网络配置,请联系支持部门

表示系统参数有问题。

账户未配置互操作卷

表示没有为账户配置 Snowflake 托管存储卷。

尝试阻止对 Snowflake 管理的存储卷的公共访问时出现 Azure 错误。请联系 Snowflake 支持部门。

表示该函数无法更改 Azure 设置以阻止公共访问。

使用说明

  • 只有账户管理员(即具有 ACCOUNTADMIN 角色的用户)可执行此函数。

  • 此函数可能需要几分钟才能完成执行。

  • 此功能仅可与 Microsoft Azure 上的 Snowflake 账户一起使用。不支持 Amazon Web Services 和 Google Cloud。

  • 调用此函数将替换任何现有的 IP 允许列表。要修改允许列表,请使用完整的更新列表再次调用该函数。

示例

阻止公共访问,同时允许特定 IP 地址和 CIDR 块:

USE ROLE ACCOUNTADMIN;

SELECT SYSTEM$BLOCK_SNOWFLAKE_MANAGED_STORAGE_VOLUME_PUBLIC_ACCESS_WITH_EXCEPTION('100.0.0.1', '1.2.3.4/24', '101.0.0.0/31');