ADO.NET Provider for SAS Xpt

Build 24.0.9062

HTTP Streams への接続

HTTP(S) への認証

本製品 は、HTTP(S) ストリームに格納されたSAS Xpt データへの接続を汎用的にサポートします。

ユーザー / パスワード、Digest アクセス、OAuth、OAuthJWT、OAuth PASSWORD フローなど、複数の認証方式に対応しています。

また、認証設定のないストリームに接続することも可能です。

認証なし

認証なしでHTTP(S)ストリームに接続するには、AuthScheme 接続プロパティをNone に設定します。

Basic

接続するには以下を設定します。

  • AuthSchemeBasic に設定。
  • User:HTTP(S) ストリームに紐づいているユーザー名に設定。
  • Password:HTTP(S) ストリームに紐づいているパスワードに設定。

Digest

接続するには以下を設定します。

  • AuthSchemeDigest に設定。
  • User:HTTP(S) ストリームに紐づいているユーザー名に設定。
  • Password:HTTP(S) ストリームに紐づいているパスワードに設定。

OAuth

AuthSchemeOAuth に設定します。

OAuth では認証するユーザーにブラウザでSAS Xpt との通信を要求します。次のセクションで説明するとおり、本製品 はさまざまな方法でこれをサポートします。

次の手順を実行する前に、操作したいSAS Xpt データを持つサービスにOAuth アプリを登録する必要があります。

ほとんどのサービスではカスタムアプリケーションを作成する場合、開発者登録をしてサービスのUI でアプリを作成する必要があります。

ただし、すべてのサービスに当てはまるわけではありません。アプリの作成をサービスプロバイダーに依頼しなければならない場合もあります。どんな場合でも、OAuthClientIdOAuthClientSecret、およびCallbackURL の値を取得する必要があります。

デスクトップアプリケーション

次の接続プロパティを設定して、接続してください。

  • OAuthVersion:OAuth バージョン1.0 か2.0 のいずれかに設定します。
  • OAuthRequestTokenURL:OAuth 1.0 に必要です。OAuth 1.0 では、これがアプリケーションがリクエストトークンをリクエストするURL です。
  • OAuthAuthorizationURL:OAuth 1.0 および2.0 に必要です。これは、ユーザーがサービスにログインして、アプリケーションにアクセス許可を与えるURL です。OAuth 1.0 では、アクセス許可が付与されるとリクエストトークンが認可されます。
  • OAuthAccessTokenURL:OAuth 1.0 および2.0 に必要です。これは、アクセストークンがリクエストされるURL です。OAuth 1.0 では、認可されたリクエストトークンはアクセストークンと交換されます。
  • OAuthRefreshTokenURL:OAuth 2.0 に必要です。OAuth 2.0 では、古いトークンの期限が切れたときは、このURL でリフレッシュトークンと新しいアクセストークンと交換します。データソースによっては、アクセストークンと同じURL である場合がありますので、注意してください。
  • OAuthClientId:アプリ設定のクライアントId に設定。これはコンシューマーキーと呼ばれることもあります。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。これはコンシューマーシークレットと呼ばれることもあります。
  • CallbackURLhttp://localhost:33333 に設定。アプリケーション設定でリダイレクトURL を指定した場合には、一致している必要があります。
  • InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や、手動での接続文字列のアクセストークン設定の繰り返しを避けられます。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 がOAuth プロセスを完了します。
  1. コールバックURL からアクセストークンを取得し、リクエストを認証します。
  2. アクセストークンの期限が切れたときにはリフレッシュしてください。
  3. OAuthSettingsLocation でOAuth 値を保存し、接続間で永続化されるようにします。

Web アプリケーション

Web アプリケーションから接続する場合、または本製品 にブラウザウィンドウを開く権限がない場合は、提供されたストアドプロシージャを使用してOAuth トークン値を取得および管理します。

OAuth フローの設定

Web フローで認証するOAuth URL を指定します。

  • OAuthRequestTokenURL:OAuth 1.0 に必要です。OAuth 1.0 では、これがアプリケーションがリクエストトークンをリクエストするURL です。
  • OAuthAuthorizationURL:OAuth 1.0 および2.0 に必要です。これは、ユーザーがサービスにログインして、アプリケーションにアクセス許可を与えるURL です。OAuth 1.0 では、アクセス許可が付与されるとリクエストトークンが認可されます。
  • OAuthAccessTokenURL:OAuth 1.0 および2.0 に必要です。これは、アクセストークンがリクエストされるURL です。OAuth 1.0 では、認可されたリクエストトークンはアクセストークンと交換されます。
  • OAuthRefreshTokenURL:OAuth 2.0 に必要です。OAuth 2.0 では、古いトークンの期限が切れたときは、このURL でリフレッシュトークンと新しいアクセストークンと交換します。データソースによっては、アクセストークンと同じURL である場合がありますので、注意してください。
アクセストークンの取得

OAuth URL に加えて、次の追加の接続プロパティを設定し、OAuthAccessToken を取得します。

  • OAuthClientId:アプリ設定のクライアントId に設定。これはコンシューマーキーと呼ばれることもあります。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。これはコンシューマーシークレットと呼ばれることもあります。
  • OAuthVersion:OAuth バージョン1.0 か2.0 のいずれかに設定します。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
  2. ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。

    OAuth 1.0では、Verifier インプットを"oauth_verifier" パラメータに設定します。verifier code をコールバックURL から取得します。さらに、AuthToken とAuthSecret をGetOAuthAccessToken で返された値に設定します。

    OAuth 2.0では、Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。

データに接続してトークンをリフレッシュ

GetOAuthAccessToken によって返されたOAuthAccessToken の有効期限は限られています。トークンを自動的にリフレッシュするには、最初のデータ接続で次のように設定します。あるいは、RefreshOAuthAccessToken ストアドプロシージャを使って、手動でトークンをリフレッシュします。

OAuth エンドポイント

  • OAuthRequestTokenURL
  • OAuthAuthorizationURL
  • OAuthAccessTokenURL
  • OAuthRefreshTokenURL

OAuth トークンおよびキー

  • OAuthClientId
  • OAuthClientSecret
  • OAuthRefreshToken
  • OAuthAccessToken

OAuth の開始

  • OAuthVersion:1.0 か2.0 に設定。
  • InitiateOAuth:REFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
  • OAuthSettingsLocation:本製品 がOAuth 値を保存する場所に設定し、接続間で維持されるようにします。

その後のデータ接続では、以下を設定します。

  • InitiateOAuth
  • OAuthSettingsLocation
  • OAuthRequestTokenURL
  • OAuthAuthorizationURL
  • OAuthAccessTokenURL
  • OAuthRefreshTokenURL

OAuth JWT

AuthSchemeOAuthJWT に設定します。

本製品 は、ユーザーが双方向のサインオンを実行できない状況で、認可グラントとしてのJWT の使用をサポートします。 次の接続プロパティを設定して、接続してください。

  • OAuthVersion2.0 に設定。
  • OAuthAccessTokenURL:JWT がアクセストークンと交換されるURL に設定します。
  • OAuthJWTCert:使用する証明書に設定します。多くの場合、これはPEM またはPFX ファイルへのパスです。
  • OAuthJWTCertType:正しい証明書タイプに設定します。多くの場合、PEMKEY_FILE またはPFXFILE のいずれかです。
  • OAuthJWTCertPassword:証明書が暗号化されている場合、これを暗号化パスワードに設定します。
  • OAuthJWTIssuer:発行元に設定します。これはJWT のiss フィールドに相当します。
  • InitiateOAuth:GETANDREFRESH に設定。

JWT 署名のアルゴリズムを直接設定できないことに注意してください。本製品 は、RS256 アルゴリズムにのみ対応しています。

本製品 は以下のフィールドを含むJWT を構築してOAuthAccessTokenURL にアクセストークンを送信します。

  • scope 提供されている場合、Scope から取得されます。
  • aud 提供されている場合、OAuthJWTAudience から取得されます。
  • iss OAuthJWTIssuer から取得されます。
  • iat これはJWT が生成された時間です。
  • exp これは、iat の値にOAuthJWTValidityTime の値を加えたものです。
  • sub 提供されている場合、OAuthJWTSubject から取得されます。

OAuthPassword

AuthSchemeOAuthPassword に設定。

OAuth では認証するユーザーにブラウザでSAS Xpt との通信を要求します。次のセクションで説明するとおり、本製品 はさまざまな方法でこれをサポートします。

次の手順を実行する前に、操作したいSAS Xpt データを持つサービスにOAuth アプリを登録する必要があります。

ほとんどのサービスではカスタムアプリケーションを作成する場合、開発者登録をしてサービスのUI でアプリを作成する必要があります。

ただし、すべてのサービスに当てはまるわけではありません。アプリの作成をサービスプロバイダーに依頼しなければならない場合もあります。どんな場合でも、OAuthClientIdOAuthClientSecret、およびCallbackURL の値を取得する必要があります。

次の接続プロパティを設定して、接続してください。

  • OAuthVersion:OAuth バージョン1.0 か2.0 のいずれかに設定します。
  • OAuthRequestTokenURL:OAuth 1.0 に必要です。OAuth 1.0 では、これがアプリケーションがリクエストトークンをリクエストするURL です。
  • OAuthAuthorizationURL:OAuth 1.0 および2.0 に必要です。これは、ユーザーがサービスにログインして、アプリケーションにアクセス許可を与えるURL です。OAuth 1.0 では、アクセス許可が付与されるとリクエストトークンが認可されます。
  • OAuthAccessTokenURL:OAuth 1.0 および2.0 に必要です。これは、アクセストークンがリクエストされるURL です。OAuth 1.0 では、認可されたリクエストトークンはアクセストークンと交換されます。
  • OAuthRefreshTokenURL:OAuth 2.0 に必要です。OAuth 2.0 では、古いトークンの期限が切れたときは、このURL でリフレッシュトークンと新しいアクセストークンと交換します。データソースによっては、アクセストークンと同じURL である場合がありますので、注意してください。
  • OAuthClientId:アプリ設定のクライアントId に設定。これはコンシューマーキーと呼ばれることもあります。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。これはコンシューマーシークレットと呼ばれることもあります。
  • CallbackURLhttp://localhost:33333 に設定。アプリケーション設定でリダイレクトURL を指定した場合には、一致している必要があります。
  • InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や、手動での接続文字列のアクセストークン設定の繰り返しを避けられます。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 がOAuth プロセスを完了します。
  1. コールバックURL からアクセストークンを取得し、リクエストを認証します。
  2. アクセストークンの期限が切れたときにはリフレッシュしてください。
  3. OAuthSettingsLocation でOAuth 値を保存し、接続間で永続化されるようにします。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062