Oracle E-Business Suite for Rapid SSOを構成し、DBCファイルを作成する
ここで取り上げる内容は、統合にAccess Gateway Rapid Single Sign-On(SSO)統合を利用する場合にのみ適用されます。Oracle AccessGateおよびOracle Internet Directory/Universal Directory(Oracle EBS classic)と統合している場合には、このセクションをスキップしてください。
必要なユーザーを作成してロールを割り当てる
- Oracle E-Business Suiteコンソールに移動し、システム管理者としてサインインします。URLは次のようになります:
http://ebs-internal.example.com:8000/OA_HTML/AppsLogin - Oracle E-Business SuiteのHomeページでナビゲーション(Navigator)パネルまでスクロールし、ユーザー管理(User Management)セクションを展開します。
- ユーザー(Users)をクリックします。ユーザーメンテナンス(User Maintenance) ページが表示されます。
- 登録(Register)(User Account)ドロップダウンからユーザーアカウント(User Account)(Register)を選択します。
- 続行(Go)をクリックします。ユーザーアカウントの作成(Create User account)ページが表示されます。
- 以下の詳細情報を入力して、OAGSSOUSERユーザーを作成します。
- ユーザー名(User Name):OAGSSOUSERを使用します。
- パスワード(Password):セキュアなパスワードを使用します。
- 説明(Description):説明を入力します
OAG user account for SSO。 - パスワード有効期限(Password Expiration):なし(None)を選択します。
- 送信(Submit)をクリックします。
- ロールの割り当て(Assign Roles)をクリックします。ユーザーの更新(Update User)ページが表示されます。
- ロールの割り当て(Assign Roles)をクリックします。
- 検索(Search)フィールドにAPPS_SCHEMA_CONNECTと入力し、続行(Go)をクリックします。このロールは、ユーザーにEBSデータベースとの通信権限を付与します。
- 適切な理由(Justification)を入力します(例:
Required for OAG SSO)。 - 有効化開始(Active From)で現在の日付を選択します。
- 適用(Apply)をクリックします。
- シングルサインオン向けにOracle E-Business Suiteを有効化する手順を実行する際に戻ってこられるように、このブラウザーウィンドウは開いたままにしておきます。
シングルサインオン向けにOracle E-Business Suiteを有効化する
- オペレーティングシステムのメニューからJavaコントロールパネル(Java Control Panel)を立ち上げます。
- セキュリティ(Security)タブを選択します。
- 例外リストにOracle E-Business Suiteホストを追加します。
- Oracle E-Business Suiteコンソールのブラウザーウィンドウに戻ります。
- ナビゲーション(Navigation)ペインでシステム管理者(System Administrator)にスクロールし、を展開します。Javaアプレットが起動します。
- セキュリティ警告が表示されたら、リスクを受け入れる(I accept the risk)をクリックしてから、実行(Run)クリックします。この警告は、2回表示される場合があります。
- を選択し、アプリケーション認証エージェント(Application Authenticate Agent)のプロファイルを探します。
- サイト(Site)は、
https://ebssso.example.comがユーザーの認証に使用するEBSルートに設定します(例:https://ebssso.example.com)。このフィールドには、Access Gatewayによって保護されるアプリの完全修飾ドメイン名を指定する必要があります。 - 保存(Save)をクリックします。
- ウィンドウ(Window)メニューでシステムプロファイル値を探す(Find System Profile Values)を選択します。を選択する方法もあります。
- アプリケーションSSOのタイプ(Applications SSO Type)を検索します。
- アプリケーションSSOのタイプ(Applications SSO Type)をSSWAからSSWA/w SSOに変更します。
- 保存(Save)をクリックします。
- ウィンドウ(Window)メニューでシステムプロファイル値を探す(Find System Profile Values)を選択します。を選択する方法もあります。
- アプリケーションSSOログインタイプ(Applications SSO Logins Type)を探して両方(BOTH)に設定されていることを確認します。
- 保存(Save)をクリックします。
- ウィンドウ(Window)メニューでシステムプロファイル値を探す(Find System Profile Values)を選択します。を選択する方法もあります。
- %Session Cookie%を探します。
- Oracleアプリケーションセッションクッキードメイン(Oracle Applications Session Cookie Domain)をドメイン(DOMAIN)に変更します。 注:
Access Gatewayはこの設定でドメイン(DOMAIN)値のみに対応しています。他の値を使用すると、同じAccess Gatewayシステムに接続しているすべてのEBSアプリでアクセス上の問題が発生する可能性があります。
- 保存(Save)をクリックします。
- Javaアプレットを終了します。
- Oracle E-Business Suiteコンソールを終了します。
- Oracle E Business Suiteを再起動します。これには15~30分かかる場合があります。
Access Gatewayは、E-Business Suiteデータベースとの通信にE-Business Suite APIを使用します。この通信に使われるポートをE-Business Suiteの管理者に問い合わせ、そのポートがAccess GatewayとバックエンドE-Business Suiteデータベースの間で開いていることを確認します。通常、この接続にはポート1521が使用されますが、別のポートが使用される場合もあります。
Oracle E-Business Suiteを使ってAccess Gatewayを登録する
- Oracle E-Business Suiteサーバーで
ebs.warWebアプリを探して展開します。このアプリは、Oracle Identity Cloud Serviceコンソールからダウンロードできます。 -
ebs.warファイル内のWEB-INF/libフォルダーにあるfndext.<Major>.<minor>.<revision>.jarファイルを解凍します。findext.jarファイルは、このアプリの以前のインストール時にすでに解凍されている場合もあります。$find . -name 'fundext*.jar. /u01/install/APPS/fs1/EBSapps/comn/java/classes/oracle/apps/fnd/jar/fndext.jar - コマンドプロンプトを開き、ディレクトリをファイルの解凍場所に変更します。
- 次のようなコマンドを実行し、
fndext-M.m.rev.jarファイルをE-Business Suiteホストにコピーします。scp fndext-2.0.8.jar oracle@<EBS_IP>:/home/oracle - 次のようなコマンドを実行し、EBSホスト内部とのセキュアシェルセッションを開きます:
ssh oracle@<EBS_IP> - 次のようなコマンドを使ってE-Business Suiteの環境を構成します:
. /u01/install/APPS/EBSapps.env run - 次のようなコマンドを使ってEBSSDKディレクトリを準備します:
cd $HOME; mkdir EBSSDK; mv fndext-2.0.8.jar; cd EBSSDK - 次のようなコマンドを使ってデスクトップアプリセキュリティを構成します。
<your ebs domain name>は、自分のEBSドメインのアドレスに置き換えてください:java oracle.apps.fnd.security.AdminDesktop apps/apps CREATE NODE_NAME=<your ebs domain name> DBC=/u01/install/APPS/fs1/inst/apps/EBSDB_apps/appl/fnd/12.0.0/secure/EBSDB.dbc - 次のようなコマンドを使ってDBCファイルが作成されたことを確認します:
cat EBSDB.dbcこのコマンドを実行すると、次のような出力が表示されます。
#Desktop DB Settings #Tue Nov 19 20:15:56 EST 2019 FNDNAM=APPS APPL_SERVER_ID=97BDEC3E76E2113EE05304FD140A235E23699099323052021210255403175980 APPS_JDBC_URL=jdbc\:oracle\:thin\:@(DESCRIPTION\=( ADDRESS_LIST\=(LOAD_BALANCE\=YES) (FAILOVER\=YES) (ADDRESS\= (PROTOCOL\=tcp) (HOST\=apps.example.com) (PORT\=1521))) (CONNECT_DATA\=(SERVICE_NAME\=EBSDB))) GWYUID=APPLSYSPUB/PUB
このファイルの内容は、Access GatewayでRapid EBSアプリを作成する際に必要になります。
(CONNECT_DATA\=(SERVICE_NAME\=EBSDB)の中のEBSDBという文字列は、EBSアプリのcookie名になります。これらのcookie名が各EBSアプリで一意であることを確認します。複数のEBSアプリが同じcookie名を使用している場合、これらのどのアプリにサインインしようとしても、セッションID無効エラーが返されます。
接続をテストする
http://ebs.example.com:8000/OA_HTML/AppsLocalLogin.jspにアクセスしてローカル認証を確認します。- 次のようなコマンドを実行し、EBSデータベースが稼働しているホスト内部とのセキュアシェルセッションを開きます。
ssh oracle@<EBS_IP> listener.oraが保存されているディレクトリに移動します。- 次のコマンドを実行し、
listener.oraの内容を確認します。tcp.validnode_checking = NO tcp.invited_nodes = ( ebs.example.com ) - リスナーを再起動します。