ユーザー固有の接続

Version 22.0.8500


ユーザー固有の接続

Version 22.0.8500


デフォルトでは、API Server に設定されている標準接続がすべてのユーザによって使用されます。場合によっては、各ユーザーが基底のデータベースまたはソースへの独自の接続を持っていると便利です。これは通常、バックエンドサーバーで設定されたアクセス制御を利用するために行われます。

API Server は、ユーザー固有の接続をサポートします。この機能が有効になっていると、管理者だけがこの接続を利用してデータソースからメタデータを取得できます。そしてAPI Server は、各ユーザーが自分自身の接続を定義することを期待します。ユーザーが接続を定義していない場合は、API への呼び出しが成功する前に、定義するように求められます。

マスター接続を定義する

接続を作成する際、API Server 管理者は接続をマスター接続として設定することができます。管理者は標準の接続と同様にリソースとアクションをインポートできます。ただし、最初に個々の接続を登録していないユーザーには、それらのリソースをクエリするときにエラーが発生します。

ユーザー接続を登録する

API ユーザーは、最初に、マスター接続に対応するリソースにアクセスするために個々の接続を登録する必要があります。API ユーザーが自分の資格情報でログインできる登録URL は、マスター接続ごとに生成されます。

http://MyServer:MyPort/registerUserConnection.rst?conn=my_master_connection

このページでは、API ユーザーはデータソースに必要な情報を提供することで接続を確立できます。接続を保存した後、API ユーザーはAPI Server によって公開されたリソースをクエリできます。API Server は、リソースをユーザーが作成した個々の接続にマッピングします。

Note:ユーザーが接続を登録するためには、POST 権限が必要です。

テンプレート化された接続

API Server 管理者は、どの接続プロパティをユーザーが設定できるかを制御できます。これは、事前に定義されたプロパティとの接続をテンプレート化し、ユーザーが設定する必要があるプロパティのプレースホルダーを提供することによって行われます。 このようなテンプレートを指定するには、[UserConnectionTemplates]セクションのsettings.cfgに接続文字列を追加します。この接続文字列には、固定プロパティを含め、どのプロパティがユーザーによって定義可能かを’?’ を使って示します。 この接続文字列の形式は、プラットフォームとドライバーの仕様に一致する必要があります。

.NET

CData API Server の2021 バージョンから、settings.cfg ファイルはC:\ProgramData\CData\apiserver\ に配置されます。

バージョン2020以前では、settings.cfg ファイルはアプリケーションルートのapp_data サブフォルダに格納されます。2021より前のバージョンからアップグレードされたインストールでは、引き続きこの場所が使用されます。デフォルトはC:\Program Files\CData\CData API Server\www\app_data\ です。

[UserConnectionTemplates]
MyMasterSQLConnection = "Data Source=localhost;Initial Catalog=Northwind;User ID=?;Password=?;"

Java

Java 版では、settings.cfg はデータディレクトリに配置されています。Windows では、C:\ProgramData\CData\ に配置されていますが、Unix およびMac では~/cdata にあります。

[UserConnectionTemplates]
MyMasterSQLConnection = "jdbc:sqlserver://localhost:1433;Database=Northwind;user=?;password=?;"