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 URL. E.g. http://localhost:8080>);;
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

ロールとユーザーがロードされ権限が設定されると、OAuth 2/OpenID 認証を使用してSSO 経由でCData Virtuality Server に接続できます。

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

接続のためのクライアント認証情報は、オプション値と同じです。接続には、ユーザー名 / パスワード、またはアクセス / リフレッシュトークンを使用できます。

Connecting to CData Virtuality Server via SSO using Web UI

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

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