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コンソールに移動し、システム管理者としてサインインします(例:http://ebs-internal.example.com:8000/OA_HTML/AppsLogin)。
- Oracle E-Business SuiteのHomeページで[Navigator(ナビゲーション)]パネルまでスクロールし、[User Management(ユーザー管理)]セクションを展開します。
- [Users(ユーザー)]をクリックします。[User Maintenance(ユーザーメンテナンス)] ページが表示されます。
- [Register(登録)]ドロップダウンから[User Account(ユーザーアカウント)]を選択します。
- [Go(続行)]をクリックします。[Create User account(ユーザーアカウントの作成)]ページが表示されます。
- 次の詳細情報を入力してOAGSSOUSERユーザーを作成し、[Submit(送信)]をクリックします。
- [User Name(ユーザー名)]:OAGSSOUSERを使用します。
- [Password(パスワード)]:セキュアなパスワードを使用します。
- [Description(説明)]:説明を入力します(SSO向けのOAGユーザーアカウントなど)。
- [Password Expiration(パスワード有効期限)]:[None(なし)]を選択します。
- [Assign Roles(ロールの割り当て)]をクリックします。[ユーザーの更新]ページが表示されます。
- [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アプリケーションセッションクッキードメインを[DOMAIN(ドメイン)]に変更します。
- [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サービスコンソールからダウンロードできます。
-
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 )
- リスナーを再起動します。