Configuring CData Virtuality OAuth 2 Server

CData Virtuality OAuth 2 サーバーを設定するには、以下の手順に従います:

1. CData Virtuality OAuth 2 サーバーでクライアントのアクセス設定を行います:

  1. レルム → クライアント → 設定 に移動します;

  2. 以下の有効なリダイレクトURI を追加します:
    <CData Virtuality サーバーURL 例:http://localhost:8180 >/*;

  3. 以下のWeb オリジン を追加します:
    <CData Virtuality server URL>

2. ログイン設定を行います。同じクライアント設定で、Consent required をOFF にします。

3. サービスアカウントのロールを設定します:

  1. レルム → クライアント → サービスアカウントロールに移動します;

  2. 以下のロールを割り当てます:

  • realm-management view-users

  • realm-management view-realm

Using SSO for Authentication in CData Virtuality Server

認証にSSO を使用するには、CData Virtuality Server で接続パラメータを設定し、SSO ユーザーとロールを読み込みます。

Setting the Option Values

以下のCData Virtuality OAuth 2 server option values を設定する必要があります:

CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_SERVER_URL', "val" => <СData Virtuality OAuth 2 server configuration URL. E.g. http://localhost:8080/realms/<realm name>/.well-known/openid-configuration);;
CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_REALM', "val" => <your realm name taken from СData Virtuality OAuth 2 server>);;
CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_CLIENT_ID', "val" => <client ID taken from СData Virtuality OAuth 2 server>);;
CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_CLIENT_SECRET', "val" => <client secret taken from СData Virtuality OAuth 2 server>);;
CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_LOAD_USERS', "val" => true);;
CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_LOAD_ROLES', "val" => true);;

Loading SSO Roles and Users

管理者として標準のСData Virtuality 認証メカニズムを使用してСData Virtuality Server に接続し、以下の手順に従います:

1. SYSADMIN.refreshSSOUserCache プロシージャを実行します:

CALL "SYSADMIN.refreshSSOUserCache"();;

SSO のロールとユーザーが読み込まれます。

SSO ロールとユーザーの末尾は @SSO(例:admin-role@SSOuser_1@SSO、など)になっており、SSO ユーザーとロールのマッピングは、SSO ユーザーとロールがロードされた後にSYSADMIN.UserRoles で確認できます。

2. SSO ロールの権限を設定します。

権限は次の2つの方法のいずれかで設定できます:

  1. オブジェクトの権限をSSO ロールに設定すると次のようになります:

CALL "SYSADMIN.setPermissions"(
"role_name" => 'admin-role@SSO',
"resourceName" => '*',
"permissions" => 'CRUDEAL'
);;
  1. SSO ロールをCData Virtuality ロールにマッピングします。この場合、CData Virtuality ロールのすべての権限がSSO ロールに付与されます:

CALL "SYSADMIN.setPermissions"(
"role_name" => 'admin-role@SSO',
"mapToRole" => 'admin-role'
);;

Connecting to CData Virtuality Server via SSO using Studio

DV_AUTH オプション値を設定し、ロールとユーザーをロードし、権限を設定したら、OAuth 2/OpenID 認証を使用してSSO でCData Virtuality Server に接続できます。

接続には、ユーザー名 / パスワード、またはアクセス / リフレッシュトークンを使用できます。

Version 4.10 and older

URL は СData Virtuality OAuth 2 Server URL です(例)http://localhost:8080>/realms/<realm name>/.well-known/openid-configuration

接続のためのクライアント認証情報は、対応するDV_AUTH オプション値と同じです。

Version 4.11 and above

CData Virtuality Studio では、設定URL、クライアントID、クライアントシークレットが設定されなくなりました。

Connecting to CData Virtuality Server via SSO using Web UI

DV_AUTH オプション値を設定し、ロールとユーザーをロードし、権限を設定したら、SSO 認証ウィザードを使用してSSO でCData Virtuality Server に接続できます。

Version 4.10 and older

CData Virtuality OAuth 2 サーバーURL、クライアントID、クライアントシークレットなどのデフォルトパラメータはdvserver\standalone\deployments\api.war\WEB-INF\classes\service-on-premise.properties ファイルに設定されます。

これらのパラメータを変更するには、api.war ファイルを解凍し、必要に応じてパラメータを変更してから、再度圧縮します。

Version 4.11 and above

設定URL、クライアントID、クライアントシークレットはサーバーから自動的に取得されます。

Connecting to CData Virtuality Server via SSO using JDBC clients

DV_AUTH オプション値を設定し、ロールとユーザーをロードし、権限を設定したら、OAuth 2/OpenID 認証を使用してSSO でCData Virtuality Server に接続できます。

authType=OAUTH2 パラメータを設定して、OAuth 2 認証を使用します。

接続には、ユーザー名 / パスワード、またはアクセス / リフレッシュトークンを使用できます。

Version 4.10 and older

接続用のクライアント認証情報は、DV_AUTH オプション値と同じで、接続文字列で渡す必要があります。

接続文字列の例:

jdbc:datavirtuality:datavirtuality@mm://localhost:31200;SHOWPLAN=ON;configurationUrl=http://localhost:8080/realms/odata-oauth/.well-known/openid-configuration;clientId=<client_Id>;clientSecret=<client_secret>;authType=OAUTH2

Version 4.11 and above

接続文字列の例:

jdbc:datavirtuality:datavirtuality@mm://localhost:31000;authType=OAUTH2

configurationUrlclientId、およびclientSecret JDBC プロパティは非推奨であり、接続文字列に含まれていても無視されます。

configurationUrl, clientId, and clientSecret JDBC properties have been deprecated since v4.11