OAuth 認証を使用した Virtual DataPort への接続¶
Denodo JDBC ドライバーでは、ユーザーの認証と認可に OAuth 2.0 プロトコルをサポートしています。OAuth はオープン標準のプロトコルであり、これを使用することで、クライアントアプリケーションがユーザーアカウントのパスワードを送信することなく、Denodo にアクセスできるようになります。
OAuth を使用して Virtual DataPort に接続する前に、 Virtual DataPort で OAuth を有効にする 必要があります。有効にしなかった場合、OAuth を使用したコネクションは失敗します。
Denodo では、OAuth を使用する Denodo への接続に 2 つの経路を用意しています。選んだ経路に応じて、パラメータなどを追加する必要があります。パラメータは、接続 URL のパラメータ、 または ドライバープロパティのいずれかとして指定できます。
経路 #1: アクセストークンを提供する OAuth 2.0 認証
クライアントアプリケーションは、OAuth アクセストークンを取得し、それを Denodo JDBC ドライバーに渡します。その後、ドライバーはこのトークンを使用して、Virtual DataPort に接続します。
この経路は、Virtual DataPort に接続するためのアクセストークンを取得する機能を持つクライアントアプリケーションで使用することを想定したものです。このクライアントアプリケーションは、このアクセストークンを自身のため、またはアプリケーションのエンドユーザーのために取得できます。
この方法の場合、以下のパラメータを接続 URL に、またはドライバープロパティとして追加してください。
プロパティ |
値 |
---|---|
useOAuth2 |
true |
accessToken |
OAuth 2.0 アクセストークン |
ユーザーまたはパスワードを設定しないでください。
経路 #2: リソース所有者パスワード資格情報による OAuth 2.0
クライアントアプリケーションに OAuth トークンを取得する機能がない場合、組織の ID プロバイダーが Resource Owner Password Credentials という OAuth フローをサポートしていれば、ドライバーがアプリケーションに代わってトークンを取得することができます。
この場合、ID プロバイダーに関する情報を使ってコネクションを構成できます。その情報は、ID プロバイダーにトークンをリクエストするための URL、ID プロバイダーに登録したアプリケーションのクライアント ID とクライアントシークレットなどです。
クライアントアプリケーションがコネクションを開くとき、ドライバーが ID プロバイダーに対して OAuth トークンをリクエストし、そのトークンを使ってコネクションを確立します。
この方法の場合、以下の URL パラメータを接続 URL に追加します。
プロパティ |
値 |
---|---|
useOAuth2 |
true |
user |
クライアントがアクセストークンを取得するために設定したユーザー名 |
password |
認証されるユーザーに対応するパスワード |
tokenEndpoint |
OAuth サーバーが公開している、アクセストークンをリクエストするための URL |
clientId |
アプリケーションのクライアント ID。通常はクライアントアプリケーションを ID プロバイダーに登録するときに取得します。 |
clientSecret |
アプリケーションのクライアントシークレット |
scope |
異なるスコープをリクエストする場合のスコープの文字列値 |
extraParams |
ドライバーが OAuth トークンを取得するために送信する HTTP リクエストの本文に追加する追加パラメータ。
接続 URL のパラメータではなく、ドライバープロパティとして指定する必要があります。 |
useIdToken |
「OpenID Connect」の環境では デフォルト値: |
oauthSSLVerify |
デフォルト値: |