> ## Documentation Index
> Fetch the complete documentation index at: https://docs.streamnative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Private Networking for Snowflake Horizon Catalog

This guide describes how to configure private network connections between StreamNative Cloud and Snowflake Horizon Catalog. Private connectivity ensures that traffic between your StreamNative BYOC cluster and Snowflake Horizon Catalog does not traverse the public internet.

Snowflake Horizon Catalog uses the same Snowflake private connectivity infrastructure as Snowflake Open Catalog. The setup process is identical across both catalog types. See also [Private Networking for Snowflake Open Catalog](/cloud/lakehouse/catalogs/private-networking/snowflake-open-catalog).

The following diagram shows the network path between your StreamNative BYOC cluster and Snowflake Horizon Catalog over private connectivity.

```mermaid theme={null}
flowchart TB
    subgraph BYOC["StreamNative BYOC VPC"]
        Cluster["BYOC Cluster"]
        Endpoint["Private Endpoint"]
    end

    Snowflake["Snowflake Horizon Catalog"]

    Cluster -->|"catalog API requests"| Endpoint --> Snowflake

    classDef byoc fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
    classDef edge fill:#fde68a,stroke:#b45309,color:#451a03
    classDef ext  fill:#ede9fe,stroke:#7c3aed,color:#4c1d95
    class Cluster byoc
    class Endpoint edge
    class Snowflake ext
```

## Prerequisites

* A StreamNative BYOC cluster deployed on AWS, GCP, or Azure.
* A Snowflake account with Horizon Catalog enabled, in the same cloud provider and region as your StreamNative BYOC cluster.
* Storage private connectivity configured (if applicable). See [Private Networking for Catalog Integration](/cloud/lakehouse/catalogs/private-networking/overview) for storage connectivity details.

## Configure private connectivity

Configure private connectivity to Snowflake Horizon Catalog based on the cloud provider where your StreamNative BYOC cluster is deployed.

<Tabs>
  <Tab title="AWS">
    Use AWS PrivateLink to establish a private connection between your StreamNative Cloud environment and Snowflake Horizon Catalog.

    Follow the Snowflake documentation to configure PrivateLink:
    [Snowflake PrivateLink on AWS](https://docs.snowflake.com/en/user-guide/admin-security-privatelink).
  </Tab>

  <Tab title="GCP">
    Use Google Cloud Private Service Connect to establish a private connection between your StreamNative Cloud environment and Snowflake Horizon Catalog.

    Follow the Snowflake documentation to configure Private Service Connect:
    [Snowflake Private Service Connect on GCP](https://docs.snowflake.com/en/user-guide/private-service-connect-google).
  </Tab>

  <Tab title="Azure">
    Use Azure Private Link to establish a private connection between your StreamNative Cloud environment and Snowflake Horizon Catalog.

    Follow the Snowflake documentation to configure Private Link:
    [Snowflake Private Link on Azure](https://docs.snowflake.com/en/user-guide/privatelink-azure).
  </Tab>
</Tabs>

## Update the catalog URI

After enabling private connectivity, update the catalog URI in StreamNative Cloud to use the PrivateLink hostname. The catalog URI is configured during [catalog registration](/cloud/lakehouse/catalogs/register-catalog) and can be updated through [Manage Catalogs](/cloud/lakehouse/catalogs/manage-catalogs).

Change the URI from the public format:

```
https://<account-locator>.<catalog-region>.snowflakecomputing.com/polaris/api/catalog
```

to the PrivateLink format:

```
https://<account-locator>.privatelink.snowflakecomputing.com/polaris/api/catalog
```

<Note>
  The exact private endpoint hostname may vary by cloud provider. Refer to the Snowflake PrivateLink documentation for your cloud provider to determine the correct hostname.
</Note>
