Configuring CData Virtuality OAuth 2 Server
CData Virtuality OAuth 2 サーバーを設定するには、以下の手順に従います:
1. CData Virtuality OAuth 2 サーバーでクライアントのアクセス設定を行います:
レルム → クライアント → 設定 に移動します;
以下の有効なリダイレクトURI を追加します:
<CData Virtuality サーバーURL 例:http://localhost:8180 >/*;以下のWeb オリジン を追加します:
<CData Virtuality server URL>
2. ログイン設定を行います。同じクライアント設定で、Consent required をOFF にします。
3. サービスアカウントのロールを設定します:
レルム → クライアント → サービスアカウントロールに移動します;
以下のロールを割り当てます:
realm-management view-usersrealm-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@SSO、user_1@SSO、など)になっており、SSO ユーザーとロールのマッピングは、SSO ユーザーとロールがロードされた後にSYSADMIN.UserRoles で確認できます。
2. SSO ロールの権限を設定します。
権限は次の2つの方法のいずれかで設定できます:
オブジェクトの権限をSSO ロールに設定すると次のようになります:
CALL "SYSADMIN.setPermissions"( "role_name" => 'admin-role@SSO', "resourceName" => '*', "permissions" => 'CRUDEAL');; |
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=OAUTH2Version 4.11 and above
接続文字列の例:
jdbc:datavirtuality:datavirtuality@mm://localhost:31000;authType=OAUTH2configurationUrl、clientId、およびclientSecret JDBC プロパティは非推奨であり、接続文字列に含まれていても無視されます。
configurationUrl, clientId, and clientSecret JDBC properties have been deprecated since v4.11