Oracle E-Business Suite for Rapid SSOを構成し、DBCファイルを作成する
ここで取り上げる内容は、統合にAccess Gateway Rapid Single Sign-On(SSO)統合を利用する場合にのみ適用されます。Oracle EBS classic(Oracle AccessGateおよびOracle Internet Directory/Universal Directory)と統合している場合には、このセクションをスキップしてください。
必要なユーザーを作成してロールを割り当てる
- Oracle E-Business Suiteコンソールに移動し、システム管理者としてサインインします。URLは次のようになります:http://ebs-internal.example.com:8000/OA_HTML/AppsLogin
- Oracle E-Business SuiteのHomeページで[ナビゲーション]パネルまでスクロールし、[ユーザー管理]セクションを展開します。
- [Users(ユーザー)]をクリックします。[User Maintenance(ユーザーメンテナンス)] ページが表示されます。
- [Register(登録)]ドロップダウンから[User Account(ユーザーアカウント)]を選択します。
- [Go(続行)]をクリックします。ユーザーアカウントの作成ページが表示されます。
- 以下の詳細情報を入力して、OAGSSOUSERユーザーを作成します。
- [User Name(ユーザー名)]:OAGSSOUSERを使用します。
- [Password(パスワード)]:セキュアなパスワードを使用します。
- [Description(説明)]:説明を入力します(SSO向けのOAGユーザーアカウントなど)。
- [Password Expiration(パスワード有効期限)]:[None(なし)]を選択します。
- [Submit(送信)]をクリックします。
- [Assign Roles(ロールの割り当て)]をクリックします。[Update User(ユーザーの更新)]ページが表示されます。
- [Assign Roles(ロールの割り当て)]をクリックします。
- [Search(検索)]フィールドに「APPS_SCHEMA_CONNECT」と入力し、[Go(続行)]をクリックします。このロールは、ユーザーにEBSデータベースとの通信権限を付与します。
- 適切な[Justification(理由)]を入力します(例:Required for OAG SSO(OAG SSOに必要))。
- [Active From(有効化開始)]で現在の日付を選択します。
- [Apply(適用)]をクリックします。
- シングルサインオン向けにOracle E-Business Suiteを有効化する手順を実行する際に戻ってこられるように、このブラウザーウィンドウは開いたままにしておきます。
シングルサインオン向けにOracle E-Business Suiteを有効化する
- オペレーティングシステムのメニューから[Java Control Panel(Javaコントロールパネル)]を立ち上げます。
- [Security(セキュリティ)]タブを選択します。
- 例外リストにOracle E-Business Suiteホストを追加します。
- Oracle E-Business Suiteコンソールのブラウザーウィンドウに戻ります。
- [Navigation(ナビゲーション)]ペインで[System Administrator(システム管理者)]にスクロールし、 を展開します。Javaアプレットが起動します。
- セキュリティ警告が表示されたら、[I accept the risk(リスクを受け入れる)]をクリックしてから、[Run(実行)]クリックします。この警告は、2回表示される場合があります。
- Application Authenticate Agent(アプリケーション認証エージェント)のプロファイルを探します。 を選択し、
- [Site(サイト)]は、Access Gatewayがユーザーの認証に使用するEBSルートに設定します(例:https://ebssso.example.com)。このフィールドには、Access Gatewayによって保護されるアプリの完全修飾ドメイン名を指定する必要があります。
- [Save(保存)]をクリックします。
- [Window(ウィンドウ)]メニューで[Find System Profile Values(システムプロファイル値を探す)]を選択します。 を選択する方法もあります。
- アプリケーションSSOのタイプを検索します。
- アプリケーションSSOのタイプをSSWAからSSWA/w SSOに変更します。
- [Save(保存)]をクリックします。
- [Window(ウィンドウ)]メニューで[Find System Profile Values(システムプロファイル値を探す)]を選択します。 を選択する方法もあります。
- [Applications SSO Logins Type(アプリケーションSSOログインタイプ)]を探して[BOTH(両方)]に設定されていることを確認します。
- [Save(保存)]をクリックします。
- [Window(ウィンドウ)]メニューで[Find System Profile Values(システムプロファイル値を探す)]を選択します。 を選択する方法もあります。
- %Session Cookie%を探します。
- [Oracle Applications Session Cookie Domain(Oracleアプリケーションセッションクッキードメイン)]を[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.war Webアプリを探して展開します。このアプリは、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 )
- リスナーを再起動します。