Snowflakeのネットワークセキュリティは、Network Policy(IP制限)・Private Link(プライベート接続)・MFA(多要素認証)・暗号化の4つの柱で構成されます。SnowPro Core試験のAccount Access & Securityドメイン(20%)で頻出するトピックです。
この記事では、Network PolicyのSQL例、Private Linkのクラウド別比較表、MFAの動作と設定、暗号化の仕組みを実務レベルで解説します。
Network Policyは、IPアドレスに基づいてSnowflakeアカウントへの接続を制御する仕組みです。ALLOWED_IP_LIST(接続を許可するIPアドレスのリスト)とBLOCKED_IP_LIST(接続をブロックするIPアドレスのリスト)の2つのリストで構成されます。
-- Network Policy の作成
CREATE OR REPLACE NETWORK POLICY corp_network_policy
ALLOWED_IP_LIST = ('203.0.113.0/24', '198.51.100.10')
BLOCKED_IP_LIST = ('203.0.113.99')
COMMENT = '本社ネットワークからの接続のみ許可';
-- アカウントレベルで適用(全ユーザーに影響)
ALTER ACCOUNT SET NETWORK_POLICY = corp_network_policy;
-- 特定ユーザーに適用(アカウントレベルより優先)
ALTER USER analyst_user SET NETWORK_POLICY = analyst_policy;
-- Network Policy の確認
DESCRIBE NETWORK POLICY corp_network_policy;
-- Network Policy の解除
ALTER ACCOUNT UNSET NETWORK_POLICY;| 設定パターン | 動作 |
|---|---|
| ALLOWED_IP_LISTのみ指定 | リスト内のIPのみ接続許可。それ以外は全ブロック |
| BLOCKED_IP_LISTのみ指定 | リスト内のIPをブロック。それ以外は全許可 |
| 両方指定 | ALLOWED_IP_LISTに含まれ、かつBLOCKED_IP_LISTに含まれないIPのみ許可 |
Network Policyはアカウントレベルとユーザーレベルの両方で設定可能で、ユーザーレベルの設定がアカウントレベルより優先されます。SnowPro試験ではこの優先順位が頻出です。
Snowflakeは従来のNetwork Policyに加え、Network Ruleをサポートしています。 Network RuleはIPアドレスだけでなく、VPCエンドポイントID・プライベートリンクID・ホスト名での制御が可能です。 Network PolicyにNetwork Ruleをアタッチして使用します。
-- Network Rule の作成(VPCエンドポイントベース)
CREATE NETWORK RULE vpc_rule
TYPE = PRIVATE_HOST_PORT
VALUE_LIST = ('vpce-0123456789abcdef0')
MODE = INGRESS;
-- Network Policy に Network Rule をアタッチ
CREATE NETWORK POLICY advanced_policy
ALLOWED_NETWORK_RULE_LIST = ('vpc_rule');Private Linkは、パブリックインターネットを経由せずにクラウドプロバイダーのプライベートネットワーク経由でSnowflakeに接続する仕組みです。Business Critical Edition以上が必要です。
| クラウド | サービス名 | 設定手順 | エンドポイント |
|---|---|---|---|
| AWS | AWS PrivateLink | SYSTEM$GET_PRIVATELINK_CONFIG() → VPCエンドポイント作成 → DNS設定 | VPC Interface Endpoint |
| Azure | Azure Private Link | SYSTEM$GET_PRIVATELINK_CONFIG() → Private Endpoint作成 → Private DNS Zone | Private Endpoint |
| GCP | Private Service Connect | SYSTEM$GET_PRIVATELINK_CONFIG() → PSC Endpoint作成 → DNS設定 | PSC Endpoint |
-- Private Link設定情報の取得(ACCOUNTADMINが実行)
SELECT SYSTEM$GET_PRIVATELINK_CONFIG();
-- 結果例(AWS)
-- {
-- "privatelink-account-name": "abc12345.us-east-1.privatelink",
-- "privatelink-vpce-id": "com.amazonaws.vpce.us-east-1.vpce-svc-...",
-- "privatelink-account-url": "abc12345.us-east-1.privatelink.snowflakecomputing.com"
-- }SnowflakeのMFAはDuo Security(Cisco)ベースのTOTP認証を使用します。ユーザーはSnowsightの設定画面またはALTER USER文でMFAを有効化できます。
-- 特定ユーザーのMFA強制有効化
ALTER USER admin_user SET MINS_TO_BYPASS_MFA = 0;
-- アカウント全体でMFAを必須化
ALTER ACCOUNT SET REQUIRE_MFA = TRUE;
-- MFAの一時バイパス(緊急時)
ALTER USER admin_user SET MINS_TO_BYPASS_MFA = 60;MFA有効化後はSnowsight・SnowSQL・JDBC/ODBCドライバーすべてで認証コード入力が求められます。 プログラム的な接続(ETLジョブ等)ではキーペア認証の使用が推奨されます。
| 暗号化レイヤー | 方式 | エディション |
|---|---|---|
| 通信の暗号化 | TLS 1.2以上 | 全エディション |
| 保存データの暗号化 | AES-256(Snowflake管理キー) | 全エディション |
| 自動キーローテーション | 30日ごとにキーを自動更新 | Enterprise以上 |
| Tri-Secret Secure | 顧客管理キー + Snowflake管理キーの組み合わせ | Business Critical以上 |
Tri-Secret Secureでは、Snowflake管理の暗号化キーと顧客がクラウドプロバイダーのKMS(AWS KMS / Azure Key Vault / Google Cloud KMS)で管理するキーを組み合わせます。顧客がキーを無効化すると、Snowflake側のデータアクセスも停止するため、データ主権の要件を満たせます。
Network Policy
問題 1
SnowflakeのNetwork Policyについて正しい説明はどれですか?
正解: C
SnowflakeのNetwork Policyはアカウントレベルとユーザーレベルの両方で設定可能で、ユーザーレベルの設定がアカウントレベルより優先されます。例えば、アカウントレベルで社内IPのみを許可し、特定のリモートワーカーにはユーザーレベルで追加IPを許可する運用ができます。ALLOWED_IP_LISTを指定すると、リスト内のIPのみ接続が許可されますが、さらにBLOCKED_IP_LISTで特定IPを除外できます。Network PolicyはSnowsight(WebUI)・SnowSQL・JDBC/ODBCすべての接続に適用されます。
Network Policyを設定する際にロックアウトされるリスクはありますか?
はい。アカウントレベルのNetwork PolicyでALLOWED_IP_LISTを設定する際に、自分のIPアドレスを含め忘れると、Snowsight(WebUI)・SnowSQL・JDBCなどすべての接続がブロックされてロックアウトされます。この場合、Snowflakeサポートに連絡してNetwork Policyの解除を依頼する必要があります。防止策として、設定前に必ず自身のIPをALLOWED_IP_LISTに含め、まずユーザーレベルで小規模にテストしてからアカウントレベルに適用することが推奨されます。BLOCKED_IP_LISTのみの設定であればロックアウトリスクは低減できます。
Private LinkはどのSnowflakeエディションから利用できますか?
Private Link(AWS PrivateLink / Azure Private Link / Google Cloud Private Service Connect)はBusiness Critical Edition以上で利用可能です。Standard EditionやEnterprise Editionでは利用できません。Private Linkの初期セットアップにはACCOUNTADMINロールでのシステム関数実行(SYSTEM$GET_PRIVATELINK_CONFIG())が必要で、Snowflakeアカウント側のPrivate Link設定とクラウドプロバイダー側のVPCエンドポイント設定の両方が必要です。設定完了後もパブリックエンドポイントは自動ブロックされないため、別途Network Policyでの制限が推奨されます。
MFA(多要素認証)はSnowflakeで必須ですか?
2026年現在、SnowflakeはすべてのユーザーにMFAの有効化を強く推奨していますが、デフォルトでは必須ではありません。ただし、ACCOUNTADMINロールのユーザーにはMFAの設定が特に推奨されます。アカウント管理者はALTER ACCOUNT SET REQUIRE_MFA = TRUEを実行してアカウント全体でMFAを必須化できます。SnowflakeのMFAはDuo Security(Cisco)ベースのTOTP認証で、Duo MobileアプリまたはSMSで認証コードを受け取ります。MFAを有効化するとSnowsight・SnowSQL・JDBC/ODBCドライバーすべてで認証が求められます。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Snowflake資格一覧|全11試験(SnowPro)の難易度・費用
Snowflake認定資格(SnowPro)全11試験の一覧・難易度・費用・出題範囲を徹底解説。...
Snowflake試験の難易度ランキング|全11資格を徹底比較
Snowflake(SnowPro)認定全11試験の難易度をランキング形式で比較。学習時間・合格に必要なスキルから分析。...
Snowflake資格の勉強方法|効率的な学習ルートと合格のコツ
Snowflake認定資格(SnowPro)に最短で合格するための勉強方法。公式リソース・学習スケジュールを徹底ガイド。...
SnowPro Core試験完全解説|出題範囲・問題例・合格戦略
SnowPro Core Certification(COF-C03)を徹底解説。出題範囲・100問の試験形式・合格ライ...
SnowPro Platform Associate完全解説|入門試験の攻略
SnowPro Associate: Platform Certification(SOL-C01)を徹底解説。最も簡単...