Snowflake Open Catalogでの外部 OAuth の概要

このトピックでは、Snowflake Open Catalogにアクセスする OAuth 2.0を使用した、外部 OAuth サーバーを構成する方法について説明します。

外部 OAuth を顧客の OAuth 2.0サーバーに統合し、シームレスな SSOエクスペリエンスを提供します。これによりクエリエンジンがOpen Catalogにアクセスできるようになります。

Open Catalogは、次の外部認証サーバーをサポートしています。

  • Auth0

  • Microsoft Entra ID

  • Okta

ユースケースおよび利点

  1. Open Catalogは、トークンの発行を専用の認証サーバーに委任して、OAuth クライアントとユーザーが適切に認証されるようにします。その結果、Open Catalogに発行されるトークンの集中管理を実現できます。

  2. クライアントはブラウザーにアクセスせずにSnowflakeに対して認証できるため、外部 OAuth サーバーとの統合が容易になります。

一般的なワークフロー

サポートされている各IDプロバイダーについて、外部 OAuth 認証サーバーに関連する OAuth のワークフローは次のように要約できます。最初のステップは1回だけ実行され、残りのステップはOpen Catalogデータへのアクセス試行ごとに実行されることに注意してください。

![Snowflake Open Catalogの外部 OAuth の一般的なワークフローを示す図](img/external-oauth-general-workflow.svg「Snowflake Open Catalogの外部 OAuth の一般的なワークフロー。」)

  1. 環境内の外部 OAuth 認証サーバーとOpen Catalogのセキュリティ統合を構成して、信頼を確立します。

  2. サービスプリンシパルはクライアントアプリケーションを介してOpen Catalogデータにアクセスしようとし、アプリケーションはサービスプリンシパルを確認しようとします。

  3. 確認時に認証サーバーは、JSON ウェブトークン(つまり、OAuth トークン)をクエリエンジンに送信します。

  4. Open Catalogドライバーは、OAuth トークンでOpen Catalogに接続文字列を渡します。

  5. Open Catalogは OAuth トークンを検証します。

  6. Open Catalogはサービスプリンシパルの検索を実行します。

  7. 確認時にOpen Catalogは、サービスプリンシパルのロールに基づいてOpen Catalogのデータにアクセスするセッションをインスタンス化します。