OAuth の紹介¶
Snowflakeは、統合を通じてクライアントの OAuth を有効にします。統合は、Snowflakeとサードパーティサービス間のインターフェイスを提供するSnowflakeオブジェクトです。管理者は セキュリティ統合 を使用して OAuth を構成し、OAuth をサポートするクライアントは、ユーザーを認証ページにリダイレクトし、Snowflakeへのアクセス用のアクセストークン(およびオプションで更新トークン)を生成できます。
Snowflakeは、以下のオプションのいずれかを使用して認証と許可のために OAuth 2.0 プロトコルをサポートしています。
次のリストでは、Snowflake OAuth と外部 OAuth を比較しています。
カテゴリ |
Snowflake OAuth |
外部 OAuth |
---|---|---|
クライアントアプリケーションの変更 |
必須 |
必須 |
クライアントアプリケーションのブラウザーアクセス |
必須 |
不要 |
プログラムクライアント |
ブラウザーが必要 |
ベストフィット |
ドライバーのプロパティ |
|
|
セキュリティの統合構文 |
|
|
OAuth フロー |
OAuth 2.0 コード許可フロー |
クライアントが外部 OAuth サーバーで開始できる OAuth フロー |
OAuth ログインの監査¶
Snowflakeユーザーによるログイン試行をクエリするために、Snowflakeはログイン履歴を提供します。
LOGIN_HISTORY ビュー (ビュー)
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 の両方のセキュリティ統合により、ソースアカウントからターゲットアカウントへの複製とフェールオーバー/フェールバックをサポートします。
詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。