OAuth の紹介

Snowflakeは、統合を通じてクライアントの OAuth を有効にします。統合は、Snowflakeとサードパーティサービス間のインターフェイスを提供するSnowflakeオブジェクトです。管理者は セキュリティ統合 を使用して OAuth を構成し、OAuth をサポートするクライアントは、ユーザーを認証ページにリダイレクトし、Snowflakeへのアクセス用のアクセストークン(およびオプションで更新トークン)を生成できます。

Snowflakeは、以下のオプションのいずれかを使用して認証と許可のために OAuth 2.0 プロトコルをサポートしています。

次のリストでは、Snowflake OAuth と外部 OAuth を比較しています。

カテゴリ

Snowflake OAuth

外部 OAuth

クライアントアプリケーションの変更

必須

必須

クライアントアプリケーションのブラウザーアクセス

必須

不要

プログラムクライアント

ブラウザーが必要

ベストフィット

ドライバーのプロパティ

authenticator = oauth

authenticator = oauth

セキュリティの統合構文

create security integration type = oauth ...

create security integration type = external_oauth

OAuth フロー

OAuth 2.0 コード許可フロー

クライアントが外部 OAuth サーバーで開始できる OAuth フロー

OAuth ログインの監査

Snowflakeユーザーによるログイン試行をクエリするために、Snowflakeはログイン履歴を提供します。

OAuth を使用して認証(成功または失敗)すると、出力の FIRST_AUTHENTICATION_FACTOR 列の値は OAUTH_ACCESS_TOKENになります。

プライベート接続

Snowflakeは、Snowflakeサービスへのプライベート接続を使用した外部 OAuth をサポートします。

Snowflake OAuth とTableauは、次のようにSnowflakeへのプライベート接続で使用できます。

Tableau Desktop

Tableau 2020.4以降、Tableauには、Snowflakeサービスへのプライベート接続用に、アカウント URL を使用したSnowflakeへの接続をサポートする、組み込み済み OAuth クライアントが含まれています。

Tableau 2020.4にアップグレードした後は、それ以上の構成は必要ありません。 Snowflakeに接続するには、AWSまたはAzureのいずれかに対応するプライベート接続URLを使用します。

Tableau Server

Tableau 2020.4以降、ユーザーはオプションで、Snowflakeサービスへのプライベート接続用に、アカウント URL を使用してSnowflakeに接続する、組み込み済み OAuth クライアントを使用するようにTableau Serverを構成できます。

この機能を使用するには、新しい カスタムクライアント セキュリティ統合を作成し、 Tableauの手順 に従います。

Tableau Online

Tableau Onlineは、パブリックインターネットへのアクセスを必要とするため、Snowflakeサービスへのプライベート接続用のSnowflakeアカウント URL をサポートしていません。

Tableau Onlineが、Snowflakeサービスへのプライベート接続用にプライベート接続Snowflakeアカウント URLs をサポートする時期の詳細については、Tableauにお問い合わせください。

重要

Snowflakeサービスへのプライベート接続で使用するアカウント URL を決定するには、 SYSTEM$GET_PRIVATELINK_CONFIG 関数を呼び出します。

Looker

現在、Snowflake OAuth とLookerを組み合わせるには、パブリックインターネットへのアクセスが必要です。したがって、Snowflake OAuth とLookerをSnowflakeサービスへのプライベート接続で使用することはできません。

詳細については、次をご参照ください。

クライアント、ドライバー、およびコネクタ

サポートされるクライアント、ドライバー、およびコネクタは、OAuth を使用してユーザーログイン認証情報を確認できます。

次の点に注意してください。

  • authenticator パラメーターを oauth に、 token パラメーターを oauth_access_token に設定する必要があります。

  • URL クエリパラメータとして token 値を渡す場合、 oauth_access_token 値を URL エンコードする必要があります。

  • token 値をプロパティオブジェクト(例: JDBC ドライバー)に渡す場合、変更は必要ありません。

接続パラメーターの詳細については、次のクライアント、ドライバ、またはコネクタのリファレンスドキュメントをご参照ください。

クライアントリダイレクト

Snowflakeは、Snowflake OAuth および外部 OAuth でのクライアントリダイレクトの使用をサポートします。これには、サポートされているSnowflakeクライアントでのクライアントリダイレクトおよび OAuth の使用も含まれます。

詳細については、 クライアント接続のリダイレクト をご参照ください。

複製

Snowflakeは、Snowflake OAuth と外部 OAuth の両方のセキュリティ統合により、ソースアカウントからターゲットアカウントへの複製とフェールオーバー/フェールバックをサポートします。

詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。