TLDR

Every corporationg have their own network securities polcies, they use network proxies to control and monitor the traffic going in and out of their network. Just assume that the proxy will be different corporation.

When working with Snowflake Privatelink, you will have to get the proxies to whitelist the Snowflake private endpoints. This will only provide you access to Snowflake when interacting directly with Snowflake.

When using IaC tools like Terraform, you will have to configure the proxy settings in your local environment so that Terraform can access Snowflake endpoints via the corporate proxy. This is the simple part, as you just need to declare the HTTP_PROXY and HTTPS_PROXY environment variables.


HTTP_PROXY="proxy_url" HTTPS_PROXY="proxy_url" terraform plan
HTTP_PROXY="proxy_url" HTTPS_PROXY="proxy_url" terraform apply

This is an oversimplcation, as some corporate proxies may require authentication, in which case you will have to include the username and password in the proxy URL.

HTTP_PROXY="http://username:password@your-corporate-proxy:port" HTTPS_PROXY="http://username:password@your-corporate-proxy:port" terraform plan
HTTP_PROXY="http://username:password@your-corporate-proxy:port" HTTPS_PROXY="http://username:password@your-corporate-proxy:port" terraform apply

So far my experience with Corporate Proxies and Snowflake Privatelink has been limited to the above steps. If I find anymore I’ll append article with the details.