- Categories:
System functions (System Information)
SYSTEM$ALLOWLIST_PRIVATELINK¶
Returns hostnames and port numbers for AWS PrivateLink (https://aws.amazon.com/privatelink/), Azure Private Link (https://azure.microsoft.com/en-us/services/private-link/), and Google Cloud Private Service Connect (https://cloud.google.com/vpc/docs/configure-private-service-connect-services) deployments to add to your firewall’s allowed list so that you can access Snowflake from behind your firewall. These features provide private connectivity to the Snowflake service on each supported cloud platform.
The output of this function can then be passed into SnowCD to diagnose and troubleshoot your network connection to Snowflake.
Typically, Snowflake customers use a firewall to prevent unauthorized access. By default, your firewall might block access to Snowflake. To update your firewall’s allowed list, you need to know the hostnames and port numbers for the URL associated with your Snowflake account identifier, stages, and other hosts used by Snowflake.
For more details about allowed lists for the Snowflake clients you use, see Allowing Hostnames.
Syntax¶
SYSTEM$ALLOWLIST_PRIVATELINK()
Arguments¶
None.
Returns¶
The data type of the returned value is VARIANT
. The value is an array of JSON structures. Each JSON structure contains three key/value
pairs:
type
Snowflake supports the following types:
SNOWFLAKE_DEPLOYMENT
Hostname and port number information for your Snowflake account.
SNOWFLAKE_DEPLOYMENT_REGIONLESS
Hostname and port number information for your organization.
For more information, see Account identifiers.
STAGE
Location (i.e. Amazon S3, Google Cloud Storage, or Microsoft Azure) where files that the Snowflake client can read or write are stored.
SNOWSQL_REPO
Endpoint accessed by SnowSQL to perform automatic downloads/upgrades.
OUT_OF_BAND_TELEMETRY
The hosts to which drivers report metrics and out-of-band incidents such as OCSP issues.
CLIENT_FAILOVER
Hostname and port for the connection URL for Client Redirect. Note that each row in the query output that specifies this value refers to either the primary connection or the secondary connection depending on how the connection URLs were configured.
OCSP_CACHE
Snowflake-provided alternative source of OCSP certificate information in case the primary OCSP responder cannot be reached. Most of the latest versions of the Snowflake clients access the OCSP cache rather than connecting directly to the OCSP responder.
OCSP_CACHE_REGIONLESS
Snowflake-provided alternative source of OCSP certificate information for your organization. Most of the latest versions of the Snowflake clients access the OCSP cache rather than connecting directly to the OCSP responder.
OCSP_CLIENT_FAILOVER
Snowflake-provided alternative source of OCSP certificate information for Client Redirect.
DUO_SECURITY
The hostname for the Duo Security service that is used with Multi-factor authentication (MFA) while authenticating to Snowflake.
OCSP_RESPONDER
Hostname to contact to verify that the OCSP TLS certificate has not been revoked.
Note that this value is not necessary when configuring private connectivity to the Snowflake service ; follow the instructions in the corresponding topic to select the OCSP value to add to your allowlist.
SNOWSIGHT_DEPLOYMENT_REGIONLESS
Hostname and port number for your organization to access Snowsight.
For more information, see Account identifiers and Snowsight: The Snowflake web interface.
SNOWSIGHT_DEPLOYMENT
Hostname and port to access Snowsight for your Snowflake account.
host
Specifies the full hostname for
type
(e.g."xy12345.east-us-2.azure.snowflakecomputing.cn"
,"ocsp.snowflakecomputing.cn"
).port
Specifies the port number for
type
(e.g.443
,80
).
Usage notes¶
The output may include multiple entries for certain types (STAGE
, etc.).
Examples¶
To call the function:
SELECT SYSTEM$ALLOWLIST_PRIVATELINK();Sample output:
[ {"type":"SNOWFLAKE_DEPLOYMENT", "host":"xy12345.us-west-2.privatelink.snowflakecomputing.cn","port":443}, {"type":"STAGE", "host":"sfc-ss-ds2-customer-stage.s3.us-west-2.amazonaws.com","port":443}, ... {"type":"SNOWSQL_REPO", "host":"sfc-repo.snowflakecomputing.cn", "port":443}, ... {"type":"OUT_OF_BAND_TELEMETRY","host":"client-telemetry.snowflakecomputing.cn","port":443}, {"type":"OCSP_CACHE", "host":"ocsp.station00752.us-west-2.privatelink.snowflakecomputing.cn","port":80} ]In this sample output, note the following:
For readability, whitespace and newline characters have been added. In addition, some entries have been omitted.
The region ID (
us-west-2
) in some of the hostnames indicates the account is in the US West region ; however, the region ID is not utilized in the hostname forSNOWFLAKE_DEPLOYMENT
.
To extract the information into tabular output rather than JSON, use the FLATTEN function in conjunction with the PARSE_JSON function:
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_PRIVATELINK()))) AS t;Sample output:
+-----------------------+---------------------------------------------------+------+ | 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 | ... | OCSP_CACHE | ocsp.snowflakecomputing.cn | 80 | ... +-----------------------+---------------------------------------------------+------+