第2章 アカウント管理とデータガバナンス / 想定学習時間:30〜40分 / 最終確認:2026年8月

2-3. 認証とネットワークセキュリティ

🎯 この節の学習目標

1. パスワード認証とMFA(多要素認証)

最も基本的な認証はユーザー名+パスワードですが、パスワードだけに頼るのは危険です。Snowflake はMFA(Multi-Factor Authentication:多要素認証)すべてのエディションで追加費用なしに提供しています。

📝 試験のポイント

MFAは「全エディションで利用可能」「パスキー(推奨)・TOTP認証アプリ・Duoの3方式で追加契約不要」「ユーザー自身が登録」「ACCOUNTADMINには強く推奨」の4点セットで覚えましょう。「Enterprise以上でのみ利用可能」「管理者だけが登録できる」といった選択肢は誤りです。単要素パスワードの段階的な廃止という近年の動向も押さえておくと安心です。

2. フェデレーテッド認証/SSO・OAuth・キーペア・SCIM

パスワード+MFA以外にも、Snowflake は用途に応じた複数の認証・連携方式をサポートしています。

方式仕組み主なユースケース
フェデレーテッド認証/SSOSAML 2.0準拠の外部IdP(Identity Provider)が認証を担い、Snowflakeはその結果を信頼してシングルサインオンを実現する社内の統合ID基盤で人のログインを一元化したい場合
OAuthOAuth 2.0 により、パスワードを共有せずにアクセストークンで接続を委任する。Snowflake OAuth(Snowflake自身が認可サーバー)とExternal OAuth(外部の認可サーバー)の2種類があるBIツールやアプリケーションからの接続。パスワードを保存させたくない場合
キーペア認証RSA公開鍵/秘密鍵ペアを使う。公開鍵をSnowflakeのユーザーに登録し、クライアントは秘密鍵で署名したJWTで認証する。鍵のローテーションのためユーザーごとに2つまで公開鍵を登録可能プログラム・バッチ・サービスアカウントからの自動接続(対話的なMFAが使えない場面)
SCIM認証方式ではなくプロビジョニングの標準規格。IdP上のユーザー・グループの作成・変更・無効化をSnowflakeのユーザー・ロールへ自動同期する入退社にあわせたアカウント管理の自動化

💡 具体例:キーペア認証の設定

-- 生成したRSA公開鍵をユーザーに登録する(ヘッダー・フッター行は除いて指定)
ALTER USER batch_loader SET RSA_PUBLIC_KEY = 'MIIBIjANBgkqh...';

-- ローテーション用に2つ目の公開鍵も登録できる
ALTER USER batch_loader SET RSA_PUBLIC_KEY_2 = 'MIIBIjANBgkqh...';

-- 登録状況を確認する
DESCRIBE USER batch_loader;

秘密鍵はクライアント側で厳重に保管し、Snowflakeには公開鍵のみを登録します。2つのキーを登録できるため、新しい鍵に切り替えてから古い鍵を削除する無停止のローテーションが可能です。

📝 試験のポイント

プログラムやサービスからの自動接続に適した認証方式は?」と問われたら、答えはキーペア認証またはOAuthです。対話的な操作(MFAのプッシュ承認やIdPのログイン画面)を伴う方式はバッチ処理に不向きです。逆に「人のログインを社内IdPで一元化」ならSAML 2.0によるフェデレーテッド認証/SSO、「ユーザーやグループの自動プロビジョニング」ならSCIM、と目的で切り分けます。

3. ネットワークポリシー:接続元IPの制御

認証(誰であるか)とは別の軸で、どこから接続してよいかを制御するのがネットワークポリシー(network policy)です。

-- 社内ネットワークからのみ許可し、特定IPをブロックするポリシー
CREATE NETWORK POLICY corp_only
  ALLOWED_IP_LIST = ('192.0.2.0/24', '198.51.100.0/24')
  BLOCKED_IP_LIST = ('192.0.2.99');

-- アカウント全体に適用する(SECURITYADMIN以上などが実行)
ALTER ACCOUNT SET NETWORK_POLICY = corp_only;

-- 特定ユーザーだけに別ポリシーを適用することもできる
ALTER USER batch_loader SET NETWORK_POLICY = corp_only;

4. プライベート接続(Business Critical)

ネットワークポリシーはパブリックインターネット経由の接続をIPで絞る仕組みですが、より強い要件として「そもそもパブリックインターネットを経由させたくない」場合があります。これに応えるのがプライベート接続です。

「IPで絞る=ネットワークポリシー(Standardから可)」「閉域接続=PrivateLink等(Business Critical)」という対比で押さえてください。

5. 接続からSnowflake到達までの流れ

この節で学んだ要素を、接続の流れとして1枚にまとめます。

接続元人(ブラウザ/Snowsight) / BIツール / バッチプログラム
経路の選択:パブリックインターネット or プライベート接続(Business Critical)
認証方式の分岐人:パスワード+MFA / SSO(SAML 2.0)
アプリ・バッチ:OAuth / キーペア認証
認証ポリシーで許可される方式・MFA要求を統制
ネットワークポリシーの評価ユーザーレベル → なければアカウントレベル。BLOCKEDがALLOWEDに優先
許可されたIPのみ通過
Snowflakeセッション確立ロールコンテキスト(2-1)にもとづいてアクセス制御

図:接続経路の全体像。「経路」「認証」「ネットワークポリシー」の3つの関門を経てセッションが確立する

✅ この節のまとめ

練習問題

問1. SnowflakeのMFAに関する説明として正しいものはどれか。

  1. MFAはEnterpriseエディション以上でのみ利用できる
  2. MFAを使うには組織が別途Duo Securityと契約する必要がある
  3. MFAはすべてのエディションで利用でき、ユーザー自身が登録する。ACCOUNTADMINを持つユーザーには利用が強く推奨される
  4. MFAはACCOUNTADMINが全ユーザーに代わって一括登録するのが標準的な手順である
解答と解説を見る

正解:C

MFAは全エディション共通の標準機能で、パスキー(推奨)・TOTP認証アプリ・Duoの各方式をサポートし、追加契約は不要です。登録はユーザー自身が行い、とくにACCOUNTADMIN保持者には強く推奨されます。Aはエディション制限の誤り、Bは追加契約が不要である点の誤り、Dは登録主体の誤りです(管理者はポリシーによる強制やバイパス設定はできますが、本人に代わっての登録が標準手順ではありません)。

問2. 夜間バッチプログラムからSnowflakeへ自動接続する認証方式として適切なものを2つ選べ。

  1. キーペア認証(RSA公開鍵/秘密鍵)
  2. OAuth
  3. パスワード+MFA(プッシュ通知承認)
  4. SCIM
解答と解説を見る

正解:A、B

プログラムからの自動接続には、対話操作なしで完結するキーペア認証(A)やOAuthのトークン(B)が適しています。CのMFAプッシュ承認は人がスマートフォンで承認する対話的な仕組みであり、無人のバッチには不向きです。DのSCIMは認証方式ではなく、IdPからユーザー・グループを自動プロビジョニングする規格なので、接続の認証には使えません。

問3. ネットワークポリシーに関する説明として正しいものはどれか。

  1. ALLOWED_IP_LISTとBLOCKED_IP_LISTの両方に該当するIPからの接続は許可される
  2. ネットワークポリシーはアカウントレベルとユーザーレベルに適用でき、両方ある場合はユーザーレベルが優先される
  3. ネットワークポリシーはBusiness Criticalエディション以上でのみ利用できる
  4. ネットワークポリシーは接続元のIPではなく、使用する認証方式を制限する機能である
解答と解説を見る

正解:B

ネットワークポリシーはアカウント/ユーザーの両レベルに適用でき、ユーザーレベルの設定が優先されます。Aは誤りで、ブロックリストは許可リストより優先されるため接続は拒否されます。Cは誤りで、ネットワークポリシー自体は特定の上位エディション限定機能ではありません(Business Criticalが必要なのはPrivateLink等のプライベート接続です)。Dは誤りで、認証方式を統制するのは認証ポリシーであり、ネットワークポリシーは接続元IPの制御です。

問4. 「社員のSnowflakeログインを社内のIdPに一元化し、入退社にあわせてSnowflakeのユーザー作成・無効化も自動化したい」。この要件に対応する機能の組み合わせとして最も適切なものはどれか。

  1. ログインの一元化=SAML 2.0によるフェデレーテッド認証/SSO、自動プロビジョニング=SCIM
  2. ログインの一元化=キーペア認証、自動プロビジョニング=OAuth
  3. ログインの一元化=ネットワークポリシー、自動プロビジョニング=認証ポリシー
  4. ログインの一元化=SCIM、自動プロビジョニング=SAML 2.0
解答と解説を見る

正解:A

人のログインを外部IdPに委ねるのがSAML 2.0ベースのフェデレーテッド認証/SSO、IdP上のユーザー・グループの変更をSnowflakeへ自動同期するのがSCIMです。Bのキーペア認証はプログラム向けで人のSSOには不適切、OAuthはプロビジョニング機能ではありません。Cはどちらも別目的の機能(IP制御と認証方式の統制)です。DはSSOとSCIMの役割が逆になっています。