Snowflake

Snowflake Private Connectivity Design: PrivateLink / PSC Compared Across 3 Clouds

2026-03-26
更新: 2026-03-27
NicheeLab Editorial Team

Snowflake supports TLS over the public internet by default, but environments with strict compliance requirements — finance, healthcare, and similar — typically demand connectivity over a cloud provider's private backbone. On AWS you use AWS PrivateLink, on Azure Azure Private Link, and on GCP Private Service Connect (PSC) to keep traffic to Snowflake off the public internet and inside the cloud's internal network. Business Critical Edition or higher is required.

3-Cloud Comparison Table

ItemAWS PrivateLinkAzure Private LinkGCP Private Service Connect
Required EditionBusiness Critical or higherBusiness Critical or higherBusiness Critical or higher
Snowflake-side enablementSYSTEM$AUTHORIZE_PRIVATELINK()SYSTEM$AUTHORIZE_PRIVATELINK()SYSTEM$AUTHORIZE_PRIVATELINK()
Customer-side resource to createVPC Endpoint (Interface type)Private EndpointPSC Endpoint + Forwarding Rule
DNS configurationRoute 53 Private Hosted ZonePrivate DNS ZoneCloud DNS Private Zone
DNS CNAME target<account>.privatelink.snowflakecomputing.com<account>.privatelink.snowflakecomputing.com<account>.privatelink.snowflakecomputing.com
Private connectivity to stagesSeparate S3 VPC Endpoint (Gateway type)Separate Storage Private EndpointSeparate GCS Private Service Connect
Snowpipe compatibilitySupportedSupportedSupported
Region constraintSame region onlySame region onlySame region only

AWS PrivateLink Setup Steps

-- Step 1: Authorize PrivateLink for the Snowflake account
-- Run as ACCOUNTADMIN
SELECT SYSTEM$AUTHORIZE_PRIVATELINK(
  '<aws_account_id>',
  '<vpc_endpoint_id>'
);

-- Step 2: Retrieve PrivateLink configuration
SELECT SYSTEM$GET_PRIVATELINK_CONFIG();
-- The return value contains VPC Service Name, OCSP URL, etc.

-- Step 3 (AWS Console / CLI):
-- Create an Interface-type VPC Endpoint
-- Service Name: com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxx
-- Specify the VPC and subnets

-- Step 4: Create a Route 53 Private Hosted Zone
-- Zone name: privatelink.snowflakecomputing.com
-- CNAME records:
--   <account_locator> → VPC Endpoint DNS name
--   <orgname>-<account_name> → VPC Endpoint DNS name

Azure Private Link Setup Steps

-- Step 1: Authorize PrivateLink in Snowflake
SELECT SYSTEM$AUTHORIZE_PRIVATELINK(
  '<azure_subscription_id>',
  '<private_endpoint_resource_id>'
);

-- Step 2: Retrieve configuration
SELECT SYSTEM$GET_PRIVATELINK_CONFIG();

-- Step 3 (Azure Portal / CLI):
-- Create a Private Endpoint
-- Resource Type: Microsoft.Snowflake/accounts
-- Target Sub-resource: snowflake

-- Step 4: Private DNS Zone configuration
-- Zone name: privatelink.snowflakecomputing.com
-- A record: <account_locator> → Private Endpoint IP

GCP Private Service Connect Setup Steps

-- Step 1: Authorize PSC in Snowflake
SELECT SYSTEM$AUTHORIZE_PRIVATELINK(
  '<gcp_project_id>'
);

-- Step 2: Retrieve configuration (Service Attachment URI, etc.)
SELECT SYSTEM$GET_PRIVATELINK_CONFIG();

-- Step 3 (GCP Console / gcloud):
-- Create a PSC Endpoint
-- gcloud compute forwarding-rules create snowflake-psc \
--   --region=<region> \
--   --network=<vpc-name> \
--   --address=<reserved-internal-ip> \
--   --target-service-attachment=<service-attachment-uri>

-- Step 4: Cloud DNS Private Zone configuration
-- Zone name: privatelink.snowflakecomputing.com
-- A record: <account_locator> → reserved internal IP address

Key Points for DNS Design

  • Private Hosted Zone / DNS Zone is mandatory: Even with PrivateLink / PSC configured, clients will still connect to the public endpoint if DNS is not set up correctly. Always verify that DNS resolution returns the Private Endpoint IP.
  • Use a wildcard CNAME: Adding a *.privatelink.snowflakecomputing.com wildcard record covers Internal Stage traffic and client redirect connections as well.
  • DNS for OCSP: Either configure name resolution for ocsp.privatelink.snowflakecomputing.com to traverse the Private Endpoint, or rely on OCSP Fail-Open mode.

OCSP Certificate Revocation Check Requirements

Snowflake client drivers check certificate revocation via OCSP (Online Certificate Status Protocol) as part of every TLS handshake. The following considerations apply in PrivateLink environments:

ModeBehaviorMitigation
Fail-Open (default)Allows the connection if the OCSP responder is unreachableNo extra action needed, but introduces a security risk
Fail-CloseRejects the connection if the OCSP responder is unreachableEither allow outbound connectivity to the OCSP responder, or deploy an internal OCSP cache server

Private Connectivity to Internal Stages

-- Enable PrivateLink access to an Internal Stage
SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS(
  '<account_locator>',
  '<aws_account_id>'
);

-- AWS: a separate S3 VPC Endpoint (Gateway type) is required
-- Azure: a separate Blob Storage Private Endpoint is required
-- GCP: a separate GCS PSC Endpoint is required

-- Verify stage operations over PrivateLink
PUT file:///tmp/data.csv @~;
GET @~/data.csv file:///tmp/;

Combining with a Network Policy

-- Network Policy that allows traffic over PrivateLink only
CREATE NETWORK POLICY private_only_policy
  ALLOWED_IP_LIST = ('<private_endpoint_ip_range>')
  BLOCKED_IP_LIST = ('0.0.0.0/0');

-- Apply at the account level
ALTER ACCOUNT SET NETWORK_POLICY = private_only_policy;

-- With this setting, access via the public endpoint
-- is fully blocked.

Check Your Understanding

Architecture & Design

問題 1

You have configured AWS PrivateLink for a Business Critical Edition Snowflake account on AWS. The VPC Endpoint and Route 53 Private Hosted Zone are correctly created, but connections from the SnowSQL client are still routed through the public endpoint. Which is the most likely cause?

  1. SYSTEM$AUTHORIZE_PRIVATELINK() was not executed on the Snowflake account
  2. The Route 53 Private Hosted Zone is not associated with the VPC
  3. The VPC Endpoint's Security Group blocks inbound HTTPS
  4. Because a Network Policy does not block public IPs, DNS resolution returns the public IP

正解: B

Even with both a VPC Endpoint and a Private Hosted Zone in place, DNS resolution will fall back to public DNS (and the public IP) if the Private Hosted Zone is not associated with the VPC where the SnowSQL client runs. A Route 53 Private Hosted Zone requires an explicit VPC association — without it, PrivateLink DNS name resolution does not work.

Frequently Asked Questions

After enabling PrivateLink, can the public endpoint still be used to access Snowflake?

Simply enabling PrivateLink does not block access via the public endpoint. To fully block public access, you must configure a Network Policy that only allows the PrivateLink IP ranges. The recommended security design combines the endpoint information returned by SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS() with a Network Policy.

How is the OCSP certificate revocation check handled over PrivateLink connections?

Even over PrivateLink, OCSP checks are required as part of TLS certificate validation. Because access to the OCSP responder traverses the public internet, you must allow outbound HTTPS to the OCSP responder (ocsp.snowflakecomputing.com) even in private-only environments. In fully air-gapped environments, consider using OCSP Fail-Open mode (the default) or hosting an internal OCSP response cache server.

Of the three clouds (AWS / Azure / GCP), which private connectivity method is the easiest to set up?

AWS PrivateLink is relatively simple: just two steps — create a VPC Endpoint and configure DNS. Azure Private Link is similar, requiring a Private Endpoint plus DNS configuration. GCP Private Service Connect is a little more involved because you need a Forwarding Rule plus Cloud DNS, and you must understand GCP-specific concepts like Service Attachment. All three clouds, however, share the same Snowflake-side requirement of running SYSTEM$AUTHORIZE_PRIVATELINK() and SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS().

Check what you learned with practice questions

Practice with certification-focused question sets

無料で問題を解いてみる
Author

NicheeLab Editorial Team

NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.


Related articles
Snowflake

Snowflake Certifications: All 11 Exams Explained (2026)

Every SnowPro certification — Associate, Core, Specialty, Ad...

Snowflake

Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)

All 11 SnowPro exams ranked by difficulty with study-time es...

Snowflake

Snowflake Study Guide: Fastest Pass Route by Exam (2026)

How to pass SnowPro certifications efficiently — official ma...

Snowflake

SnowPro Core (COF-C03): Complete Exam Guide (2026)

Pass the SnowPro Core exam — six domains, scope, sample ques...

Snowflake

SnowPro Associate Platform (SOL-C01): Complete Guide (2026)

The entry-level SnowPro Associate exam — scope, weighting, s...

Browse all Snowflake articles (103)
© 2026 NicheeLab All rights reserved.