Snowflake アカウントへの PrivateLink 経由でのアクセス強制を試してみた
はじめに
2026年2月のアップデートで、Snowflake アカウントへのパブリックアクセスを完全に無効化し、PrivateLink 経由の接続のみを強制する機能が一般提供となりました。
こちらの機能を試してみた内容を本記事でまとめます。
アップデートの概要
本機能については以下に記載があります。
Snowflake では、ネットワークポリシーなどによるアクセス制御を設定していても、組織名とアカウント名がわかれば、パブリック URL でログインページ自体は表示できてしまいます。本機能を有効化することで、このログインページも含めてパブリック URL 経由のアクセスをすべて無効化できます。
この設定にはSYSTEM$ENFORCE_PRIVATELINK_ACCESS_ONLY関数使用します。
プライベート接続経由でアクセスしている状態でこの関数を実行すると、パブリック URL へのアクセス試行に対してHTTP 404 account not foundエラーが返されるようになります。
これにより、PrivateLink が構成済みのアカウントでは、プライベート接続経由のアクセスのみを強制でき、アカウントの存在自体を外部から隠蔽することが可能です。なお、設定を元に戻す場合はSYSTEM$DISABLE_PRIVATELINK_ACCESS_ONLY関数を使用します。
注意点として、本機能の利用には Business Critical Edition 以上が必要です。また、プライベート接続に対応していないサードパーティ SaaS との連携がある場合は、接続できなくなる点にご注意ください。
試してみる
前提条件
以下の環境を使用しています。
- Snowflake
- クラウドサービス:Microsoft Azure
- リージョン:japaneast
PrivateLink の構成は以下の記事の手順で完了済みとしています。
そのため検証開始時点で、PrivateLink 経由でアクセスできることを確認します。

PrivateLink 専用アクセスの強制
プライベート接続経由でSYSTEM$ENFORCE_PRIVATELINK_ACCESS_ONLYを実行し、パブリックアクセスを無効化します。
SELECT SYSTEM$ENFORCE_PRIVATELINK_ACCESS_ONLY();

パブリックアクセスがブロックされることを確認
設定有効化後、パブリック URL 経由で元々アクセスしていた状態から画面を更新すると下図の表示となりました。

パブリックなアカウント URL を指定しアクセスしようとすると下図の表示となりアカウント自体存在しないように見えました。

設定の解除
設定を元に戻す場合は、プライベート接続経由でSYSTEM$DISABLE_PRIVATELINK_ACCESS_ONLYを使用します。
SELECT SYSTEM$DISABLE_PRIVATELINK_ACCESS_ONLY();
これで再度パブリックURL経由でも接続できるようになります。

ネットワークポリシーによるアクセス制御の場合
パブリックアクセスをブロックした状態で、アカウントURL経由でアクセスすると下図の表示となり、そこにアカウントがあることがわかり、ログイン画面も表示されます。
また、ログイン試行後にブロックされていることが確認できます。

さいごに
簡単ではありますが、PrivateLink 専用アクセスの強制を試してみました。PrivateLink 構成済みの環境でパブリックアクセスを完全に遮断したい場合に有効な機能です。
こちらの内容がどなたかの参考になれば幸いです。






