类别:

系统函数 (系统信息)

SYSTEM$ALLOWLIST

返回要添加到防火墙允许名单的主机名和端口号,以便您可以从防火墙后面访问 Snowflake。该函数的输出结果可以传入 SnowCD

通常,Snowflake 客户使用防火墙来阻止未经授权的访问。默认情况下,防火墙可能会阻止对 Snowflake 进行访问。要更新防火墙的允许列表,您需要知道 URL 的主机名和端口号,用于您的 Snowflake 账户、暂存区以及 Snowflake 使用的其他主机。

有关您使用的 Snowflake 客户端允许列表的详细信息,请参阅 Allowing Host names

语法

SYSTEM$ALLOWLIST()
Copy

实参

无。

返回

返回值的数据类型是 VARIANT。该值是一个 JSON 结构的数组。每个 JSON 结构包含三个键/值对:

type

Snowflake 支持以下类型:

SNOWFLAKE_DEPLOYMENT

Snowflake 账户的主机名和端口号信息。

SNOWFLAKE_DEPLOYMENT_REGIONLESS

组织 的主机名和端口号信息。

有关更多信息,请参阅 账户标识符

STAGE

Snowflake 客户端可读写的文件存储位置(例如 Amazon S3、Google Cloud Storage 或 Microsoft Azure)。

SNOWSQL_REPO

SnowSQL 用于执行自动下载或升级时访问的端点。

OUT_OF_BAND_TELEMETRY

接收驱动程序报告的指标和带外事件(例如 OCSP 问题)的主机。

CLIENT_FAILOVER

Client Redirect 的连接 URL 的主机名和端口号。请注意,查询输出中指定该值的每一行均表示主要连接或次要连接,具体取决于连接 URLs 的配置方式。

CRL_DISTRIBUTION_POINT

证书吊销列表 (CRL) 分发端点的主机名和端口号。

OCSP_CACHE

Snowflake 为防无法联系到主要 OCSP 响应器而提供的 OCSP 证书信息替代来源。大多数最新版本的 Snowflake 客户端都访问 OCSP 缓存而不是直接连接到 OCSP 响应器。

OCSP_CACHE_REGIONLESS

Snowflake 为 组织 提供的 OCSP 证书信息替代来源。大多数最新版本的 Snowflake 客户端都访问 OCSP 缓存而不是直接连接到 OCSP 响应器。

OCSP_CLIENT_FAILOVER

Snowflake 为 Client Redirect 提供的 OCSP 证书信息替代来源。

DUO_SECURITY

在向 Snowflake 进行身份验证时,与 MFA(多重身份验证) 配合使用的 Duo Security 服务主机名。

OCSP_RESPONDER

用于验证 OCSP TLS 证书未被吊销时应联系的主机名。

请注意,配置与 Snowflake 服务的专用连接时,不需要此值;请按照相应主题中的说明选择要添加到允许名单的 OCSP 值。

SNOWSIGHT_DEPLOYMENT_REGIONLESS

组织 访问 Snowsight 所使用的主机名和端口号。

有关更多信息,请参阅 账户标识符Snowsight:Snowflake Web 界面

SNOWSIGHT_DEPLOYMENT

Snowflake 账户访问 :doc:` Snowsight </user-guide/ui-snowsight>` 所使用的主机名和端口号。

host

指定 type 的完整主机名,例如:"xy12345.east-us-2.azure.snowflakecomputing.cn""ocsp.snowflakecomputing.cn"

port

指定 type 的端口号,例如:44380

使用说明

  • 输出可能包括某些类型的多个条目(如 STAGEOCSP_RESPONDER)。

  • Snowflake 偶尔无法解析来自调用该函数的客户端的套接字连接,调用该函数的语句失败,并且显示以下错误消息之一:

    SYSTEM$ALLOWLIST: Fail to get SSL context
    SYSTEM$ALLOWLIST: SSLContext init failed
    SYSTEM$ALLOWLIST: Could not find host in OCSP dumping
    SYSTEM$ALLOWLIST: Peer unverified
    SYSTEM$ALLOWLIST: Connection failure
    

    此外,Snowflake 会返回函数输出中 OCSP 字段的空列表。要排查错误,可以等待几分钟,如果网络连接是瞬态的,则重新运行该语句。如果问题仍然存在,请联系 Snowflake 支持部门

示例

要调用此函数,请使用以下语句:

SELECT SYSTEM$ALLOWLIST();
Copy

示例输出:

[
  {"type":"SNOWFLAKE_DEPLOYMENT",    "host":"xy12345.snowflakecomputing.cn",                 "port":443},
  {"type":"STAGE",                   "host":"sfc-customer-stage.s3.us-west-2.amazonaws.com",  "port":443},
  ...
  {"type":"SNOWSQL_REPO",            "host":"sfc-repo.snowflakecomputing.cn",                "port":443},
  ...
  {"type":"CRL_DISTRIBUTION_POINT",  "host":"crl.r2m01.amazontrust.com",                       "port":80},
  ...
  {"type":"OCSP_CACHE",              "host":"ocsp.snowflakecomputing.cn",                     "port":80},
  {"type":"OCSP_RESPONDER",          "host":"o.ss2.us",                                        "port":80},
  ...
]
Copy

在此示例输出中,请注意以下内容:

  • 为了便于阅读,添加了空格和换行符。此外,还省略了一些条目。

  • 一些主机名中的区域 ID (us-west-2) 指示账户位于 US 西部区域;但 SNOWFLAKE_DEPLOYMENT 的主机名中没有使用区域 ID。

要将信息提取到表格输出而不是 JSON 中,请结合使用 FLATTEN 函数与 PARSE_JSON 函数:

SELECT t.VALUE:type::VARCHAR as type,
       t.VALUE:host::VARCHAR as host,
       t.VALUE:port as port
FROM TABLE(FLATTEN(input => PARSE_JSON(SYSTEM$ALLOWLIST()))) AS t;
Copy

示例输出:

+------------------------+---------------------------------------------------+------+
| TYPE                   | HOST                                              | PORT |
|------------------------+---------------------------------------------------+------|
| SNOWFLAKE_DEPLOYMENT   | xy12345.snowflakecomputing.cn                    | 443  |
| STAGE                  | sfc-customer-stage.s3.us-west-2.amazonaws.com     | 443  |
  ...
| SNOWSQL_REPO           | sfc-repo.snowflakecomputing.cn                   | 443  |
  ...
| CRL_DISTRIBUTION_POINT | crl.r2m01.amazontrust.com                         | 80   |
  ...
| OCSP_CACHE             | ocsp.snowflakecomputing.cn                       | 80   |
| OCSP_RESPONDER         | ocsp.sca1b.amazontrust.com                        | 80   |
  ...
+------------------------+---------------------------------------------------+------+
Copy