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-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@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=OAUTH2
Version 4.11 and above
接続文字列の例:
jdbc:datavirtuality:datavirtuality
@mm
:
//localhost:31000;authType=OAUTH2
configurationUrl
、clientId
、およびclientSecret
JDBC プロパティは非推奨であり、接続文字列に含まれていても無視されます。
configurationUrl
, clientId
, and clientSecret
JDBC properties have been deprecated since v4.11