[新機能]Snowflake で OpenID Connect によるフェデレーション認証ができるようになりました

[新機能]Snowflake で OpenID Connect によるフェデレーション認証ができるようになりました

Snowflake の OIDC フェデレーション認証がパブリックプレビューになりました。Google を対象に、セキュリティ統合の作成からログイン、ドメイン制限の設定まで、実際の検証内容をまとめます。
2026.08.04

はじめに

2026年7月のアップデートで、Snowflake の OIDC(OpenID Connect)フェデレーション認証がパブリックプレビューとなりました。

https://docs.snowflake.com/en/release-notes/2026/other/2026-07-17-oidc-federated-authentication-preview

Google を対象に試してみた内容を本記事でまとめます。

OIDC フェデレーション認証の概要

本機能については以下に記載があります。

https://docs.snowflake.com/en/user-guide/admin-security-fed-auth-oidc

今回のアップデートでは、以下3パターンの ID プロバイダーに対応しています。

  • カスタム OIDC 準拠のアイデンティティプロバイダー
  • Google(マネージドプロバイダー)
  • Microsoft Entra ID(マネージドプロバイダー)

Google や Microsoft Entra ID については、Snowflake が IdP アプリの構成を処理するため、最小限の設定でフェデレーション SSO を設定できます。

これまで Snowflake でフェデレーション SSO を組む場合は SAML2 連携が中心で、IdP 側と Snowflake 側でメタデータや証明書のやり取り、証明書の有効期限に伴う運用対応が必要でした。

マネージドプロバイダーによる OIDC 連携では証明書のアップロードや手動でのメタデータ交換が不要で、セキュリティ統合オブジェクトとして作成するだけで完了できます。

なお、複数の OIDC 統合の併用や、OIDC と SAML2 を併用する場合は、識別子優先ログイン(Identifier-First Login)の有効化が必要になります。

前提条件

検証環境

以下の環境を使用しています。

  • Snowflake:トライアルアカウント
  • IdP:Google
    • フリーの Gmail アドレス
    • 企業ドメインの Gmail アドレス

事前準備

OIDC 連携では、ID トークン内のemailクレームと、Snowflake ユーザーのEMAIL_ADDRESS属性を突き合わせてユーザーを解決する仕組みになっているため、事前にログイン対象の Snowflake ユーザーへEMAIL_ADDRESSを設定しておく必要があります。

CREATE OR REPLACE USER oidc_test_user
  EMAIL = '<準備したメールアドレス>'
  DEFAULT_ROLE = PUBLIC
  TYPE = PERSON
  PASSWORD = '<任意のパスワード>';

ドキュメントにある通り、OIDC フェデレーション認証ではマッチしたユーザーのメールアドレスが検証済みであることが必要です。個別のメール検証フローを完了させるか、ドメイン検証済みであることのいずれかが必要です。

なお、ここでは@gmail.comドメインのフリーアドレスを設定しました。

20260804154126

Google マネージドプロバイダーで試す

ここではマネージドプロバイダーとして Google を試してみます。

セキュリティ統合の作成

ACCOUNTADMIN でOIDC_PROVIDER = 'GOOGLE'としてセキュリティ統合を作成します。これで Google とのフェデレーション SSO が有効になります。

CREATE SECURITY INTEGRATION google_oidc
  TYPE = OIDC
  ENABLED = TRUE
  OIDC_PROVIDER = 'GOOGLE';

作成後、ログイン画面にアクセスすると「Sign in with Google」ボタンが自動的に表示されるようになりました。

20260804153941

サインインしてみる

メールアドレスの検証を済ませた上でサインインすると、無事にログインできました。

20260804154422

20260804154500

20260804154639

もともとパスワード認証で運用していたユーザーに対して後から OIDC 連携を有効化した場合でも、そのまま問題なく OIDC でのサインインに切り替えられることも確認できました。

ログイン履歴はLOGIN_HISTORYビューから、FIRST_AUTHENTICATION_FACTOR = 'OIDC_ID_TOKEN'で絞り込むことで確認できました。

SELECT event_timestamp,
       event_type,
       is_success,
       error_code,
       error_message,
       client_ip,
       reported_client_type,
       first_authentication_factor,
       second_authentication_factor
FROM SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY
WHERE user_name = 'OIDC_TEST_USER'
  AND first_authentication_factor = 'OIDC_ID_TOKEN'
ORDER BY event_timestamp DESC
LIMIT 50;
+-------------------------------+------------+------------+------------+---------------+---------------+----------------------+-----------------------------+------------------------------+
| EVENT_TIMESTAMP               | EVENT_TYPE | IS_SUCCESS | ERROR_CODE | ERROR_MESSAGE | CLIENT_IP     | REPORTED_CLIENT_TYPE | FIRST_AUTHENTICATION_FACTOR | SECOND_AUTHENTICATION_FACTOR |
|-------------------------------+------------+------------+------------+---------------+---------------+----------------------+-----------------------------+------------------------------|
| 2026-08-03 23:45:49.243 -0700 | LOGIN      | YES        |       NULL | NULL          | xx.xx.xx.xx | SNOWFLAKE_UI         | OIDC_ID_TOKEN               | NULL                         |
| 2026-08-03 23:45:08.085 -0700 | LOGIN      | YES        |       NULL | NULL          | xx.xx.xx.xx | SNOWFLAKE_UI         | OIDC_ID_TOKEN               | NULL                         |
+-------------------------------+------------+------------+------------+---------------+---------------+----------------------+-----------------------------+------------------------------+

ドメインによるログイン制限

特定のメールドメインのユーザーのみにログインを制限することも可能で、ALLOWED_USER_DOMAINSパラメータで設定します。

ALTER SECURITY INTEGRATION google_oidc SET
  ALLOWED_USER_DOMAINS = ('@mycompany');

この場合、識別子優先ログインが有効になっている必要があります。有効でない場合、以下のようにエラーになりました。

001423 (22023): SQL compilation error:
invalid property 'ALLOWED_USER_DOMAINS'; feature 'ENABLE_IDENTIFIER_FIRST_LOGIN' not enabled

設定後は、まずユーザー名を指定します。

20260804160419

許可したドメインのユーザーは通常通り Google でサインインできます。

一方、許可ドメイン外のメールアドレスでサインインしようとすると、Google での認証自体が行えなくなっていました。

20260804160601

ネットワークポリシーとの併用

その他、IP アドレス制限を行うネットワークポリシーを設定した状態でも、OIDC でのサインインが問題なく機能しました。許可されていないネットワークからアクセスした場合は、以下のように通常のネットワークポリシー違反として弾かれます。

2026-08-04_20h35_21

さいごに

Snowflake の OIDC フェデレーション認証を、Google で試してみました。
設定・ログインともに非常にシンプルで、ドメイン制限(ALLOWED_USER_DOMAINS)との組み合わせもすぐに試せました。既存の SAML2 連携が難しかったケースなど、手軽にフェデレーション SSO を試したい場面で選択肢になりそうな機能です。
こちらの内容がどなたかの参考になれば幸いです。


Snowflake World Tour Tokyo 2026に参加しませんか?

Snowflakeの国内最大級イベント「Snowflake World Tour Tokyo」が2026年9月10日(水)・11日(木)にグランドプリンスホテル新高輪にて開催されます。
最新のAI・データ活用事例やライブデモを体感できる無料イベントです。

Snowflake World Tour Tokyoイベントに参加する


Snowflakeの導入支援はクラスメソッドに!

クラスメソッドでは Snowflake の導入を支援しております。
製品の詳細や支援の内容についてお気軽にお問い合わせください。

Snowflakeの詳細を見る

この記事をシェアする

関連記事