Oracle E-Business SuiteでOracle Access ManagerによるSSOを設定する手順
本記事では、WebGateエージェントを使用して、Oracle® Access Manager(OAM)11gとOracle E-Business Suite(EBS)を統合する方法を詳しく解説します。
なお、Oracle Single Sign-On Server 10gR3からのアップグレードの場合は、mod_ossoエージェントを使用してOAMとEBSを統合することも可能ですが、この記事ではその方法については扱いません。
WebGateによる認証の概要
WebGateはOAMのコンポーネントの一つで、HTTPリクエストを傍受し、リソースへのアクセス方法を判断するためにOAMサーバーへリダイレクトします。必要に応じて、現在のユーザーの認証も行います。すでに環境にOAMがデプロイされている場合は、既存のWebGateをこの目的に利用できます。
以下の図は、WebGateとEBS AccessGateの統合イメージです。

画像出典: https://docs.oracle.com/cd/E26401_01/doc.122/e22952/T156458T580814.htm
認証されていないユーザーが保護されたEBSリソースへアクセスしようとすると、ユーザーはEBS AccessGateアプリケーションへ誘導されます。EBS AccessGateはJava Enterprise Edition(EE)アプリケーションであり、シングルサインオン(SSO)ユーザーをEBSユーザーにマッピングし、そのユーザー用のEBSセッションを作成する役割を担います。AccessGateはWebLogic Serverインスタンスにデプロイされ、EBSとは独立した存在です。
OAMサーバーはEBS AccessGateを保護し、認証リクエストをWebGateがインストールされた別のHTTPサーバーへ再ルーティングします。
ユーザーが最初にOAMによって認証されると、EBS AccessGateがリソースへのリクエストと、OAMサーバーから返された資格情報を受け取ります。
OAMサーバーの資格情報が有効である場合、WebGateはEBSデータベースに接続し、Oracle Directory ServicesのユーザーをEBSユーザーに紐付けます。EBSがOracle Directory Services内で紐付け済みのユーザーを特定できない場合、ユーザーはリンクページへリダイレクトされ、未紐付けのOracle Directory Servicesユーザーアカウントを正しいEBSユーザー名にマッピングできるようになります。このマッピングが完了すると、セッションがまだ有効であれば、WebGateはEBSリソースを直接ユーザーに返します。
以降のセクションでは、クローン後のEBSバージョン12.2.5においてOAM SSOをセットアップする手順を説明します。
パート1:EBSでのOAM SSOセットアップ
1.1 すべてのアプリケーションサービスを停止する
runファイルシステムのENVをソースします。
$ . ./EBSapps.env run
以下のコマンドを実行して、すべてのノードの全サービスを停止し、プライマリノードでAdminサーバーのみを起動します。
$ ./adadminsrvctl.sh start - Adminサーバーのみ起動
1.2 EBSからOIDの登録を解除する
runファイルシステムのENVをソースします。
$ . ./EBSapps.env run
以下のコマンドを実行してOIDの登録を解除します。
$FND_TOP/bin/txkrun.pl \
-script=SetSSOReg \
-deregisteroid=yes \
-appspass=<appsパスワード> \
-ldaphost=<OIDサーバー> \
-ldapport=13060 \
-oidadminuserpass="<OID管理者パスワード>"
1.3 EBSからSSO参照を削除する
runファイルシステムのENVをソースし、以下のコマンドを実行します。
$FND_TOP/bin/txkrun.pl -script=SetSSOReg -removereferences=yes
APPSパスワードを入力します。
sqlplus -s apps/<appspasswd> @$FND_TOP/patch/115/sql/fndssouu.sql %
1.4 管理サーバー(Managed Server)を削除する
WebLogicコンソールにログインし、以下の管理サーバーが構成されているかどうかを確認します。
- oaea_server1
- oaea_server2
構成されている場合は、以下のコマンドで削除します。
$ . ./EBSapps.env run
アプリケーションEBSノード1で実行します。
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-delete-managedserver \
-contextfile=$CONTEXT_FILE -managedsrvname=oaea_server1 \
-servicetype=oaea -logfile=/usr/tmp/delMS_server.log
アプリケーションEBSノード1(外部ノード):外部ノードが存在する場合は、以下のコマンドを実行します。
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-delete-managedserver \
-contextfile=$CONTEXT_FILE -managedsrvname=oaea_server2 \
-servicetype=oaea -logfile=/usr/tmp/delMS_server.log
注意: WebLogicコンソールにログインし、oaea_serversが残っていないことを確認してください。残っている場合は、上記のコマンドで削除してから作業を続行します。
1.5 データソース「OAEADatasource」を削除する
WebLogicコンソールにログインし、データソースとAccessGateデプロイメントを削除します。
コンソールから、Lock & Edit → Home → Data Sources → OAEADatasource(削除) → Activate Changes の順に選択します。
手順1.4でAccessGateデプロイメントは削除されています。残りがある場合は手動で削除してください。

1.6 コンテキストファイルを同期し、すべてのノードの構成を更新する
各ノードにログインし、runファイルシステムをソースしてから、以下のコマンドを実行します。
perl $AD_TOP/bin/adSyncContext.pl contextfile=$CONTEXT_FILE
1.7 PATCHファイルシステムの管理サーバーを削除する
PATCHファイルシステムのENVをソースします。WebLogicコンソールにログインし、以下の管理サーバーを確認します。
- oaea_server1
- oaea_server2
サーバーが構成されている場合は、以下のコマンドで削除します。
$ . ./EBSapps.env patch
PATCH Adminサーバーを起動します。
$ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start forcepatchfs
アプリケーションEBSノード1で実行します。
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-delete-managedserver \
-contextfile=$CONTEXT_FILE -managedsrvname=oaea_server1 \
-servicetype=oaea -logfile=/usr/tmp/delMS_server.log
アプリケーションEBSノード1(外部ノード):外部ノードが存在する場合は、以下のコマンドを実行します。
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-delete-managedserver \
-contextfile=$CONTEXT_FILE -managedsrvname=oaea_server2 \
-servicetype=oaea -logfile=/usr/tmp/delMS_server.log
注意: WebLogicコンソールにログインし、oaea_serversが残っていないことを確認してください。残っている場合は、上記のコマンドで削除してから作業を続行します。
1.8 PATCHファイルシステムのデータソース「OAEADatasource」を削除する
PATCH WebLogicコンソールにログインし、データベースソースとAccessGateデプロイメントを削除します。
コンソールから、Lock & Edit → Home → Data Sources → OAEADatasource(削除) → Activate Changes の順に選択します。
手順1.4でAccessGateデプロイメントは削除されています。残りがある場合は手動で削除してください。
1.9 PATCHファイルシステムのコンテキストファイルをデータベースへアップロードする
以下のコマンドを実行します。
$ . ./EBSapps.env patch
$ $ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer action=upload
contextfile=<patchコンテキストファイルへのフルパス> logfile=/tmp/patchctxupload.log
1.10 PATCHファイルシステムのAdminサーバーを停止する
PATCHファイルシステムのENVをソースし、Adminサーバーを停止します。
$ADMIN_SCRIPTS_HOME/adadminsrvctl.sh stop forcepatchfs
パート2:EBSとOAMの統合およびSSOの有効化
2.1 oaea_server管理サーバーを構成する
run ENVファイルをソースし、各ノードで以下のコマンドを実行します。
$ . ./EBSapps.env run
アプリケーションEBSノード1で実行します。
$ perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-oaea_resources \
-contextfile=$CONTEXT_FILE \
-deployApps=accessgate \
-SSOServerURL=https://xxxxxxxxx.com:8131 \
-OAMLogoutURL=https://xxxxxxxx.com/oam/server/logout?end_url=https://xxxxxx.com/oamwebsso/logout-success.jsp \
-managedsrvname=oaea_server1 \
-managedsrvport=6888 \
-logfile=/usr/tmp/deployaccessgate1_Time1.log
APPSパスワードとWebLogicパスワードを入力します。
管理サーバーにはポート6888を使用します。ログにエラーがないか確認し、すべての管理サーバーについてログが以下のメッセージで終了していることを確認してください。
"Shutdown the managed server oaea_server1 successfully"
アプリケーションEBSノード2(外部ノード)で実行します。
$ perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-oaea_resources \
-contextfile=$CONTEXT_FILE \
-deployApps=accessgate \
-SSOServerURL=https://xxxxxxxxx.com:8131 \
-OAMLogoutURL=https://xxxxxxxx.com/oam/server/logout?end_url=https://xxxxxx.com/oamwebsso/logout-success.jsp \
-managedsrvname=oaea_server2 \
-managedsrvport=6888 \
-logfile=/usr/tmp/deployaccessgate1_Time1.log
2.2 OHSサーバーにAccessGate情報を追加する
アプリケーションEBSノード1および2で、以下のコマンドを実行します。
$ perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -contextfile=$CONTEXT_FILE
-configoption=addMS -accessgate=<ebs-node1.com>:6888
$ perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -contextfile=$CONTEXT_FILE
-configoption=removeMS -accessgate=<ext_ebs-node1.com>:6888
アプリケーションEBSノード3および4(外部ノード)で実行します。
$ perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -contextfile=$CONTEXT_FILE
-configoption=addMS -accessgate=<ebs_node1.com>:6888
$ perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -contextfile=$CONTEXT_FILE
-configoption=removeMS -accessgate=<ebs_node1.com>:6888
runファイルシステムの$INST_TOP/appl/admin/oaea_wls.propertiesを、アプリケーションEBSノード1およびアプリケーションEBS外部ノード1のpatchファイルシステムへコピーします。
2.3 OAMにEBSを登録する
アプリケーションEBSノード1で実行します。
$ . ./EBSapps.env run
$ perl $FND_TOP/bin/txkrun.pl -script=SetOAMReg -registeroam=yes \
-oamHost=https://XXXX.com:8130 \
-oamUserName=ebs_admin \
-ldapUrl=ldap://XXXXX.com:13060 \
-oidUserName=cn=orcladmin \
-ldapSearchBase=cn=Users,dc=XXXXX,dc=com \
-ldapGroupSearchBase=cn=Groups,dc=XXXXX,dc=com \
-authScheme=XXXXXFormsAuthNScheme \
-authSchemeMode=reference \
-policyUpdate=No
OAMコンソールパスワードを入力:XXXXXXX
APPSパスワードを入力:
アプリケーションEBSノード1(外部ノード)で実行します。
$ . ./EBSapps.env run
$ perl $FND_TOP/bin/txkrun.pl -script=SetOAMReg -registeroam=yes \
-oamHost=https://XXXXX.com:8130 \
-oamUserName=ebs_admin \
-ldapUrl=ldap://XXXXX.com:13060 \
-oidUserName=cn=orcladmin \
-ldapSearchBase=cn=Users,dc=XXXXX,dc=com \
-ldapGroupSearchBase=cn=Groups,dc=XXXXX,dc=com \
-authScheme=XXXXXFormsAuthNScheme \
-authSchemeMode=reference \
-policyUpdate=No
OAMコンソールパスワードを入力:XXXXXXX
APPSパスワードを入力:
2.4 バックアップからWebGateエージェントファイルをコピーする
RUN envファイルをソースし、以下のコマンドを実行します。
$ . ./EBSapps.env run
configフォルダをconfig_oldへ移動します。
mv $FMW_HOME/webtier/instances/EBS_web_<INSTANCE_NAME>_OHS1/config/OHS/EBS_web_<INSTANCE_NAME>/webgate/config $FMW_HOME/webtier/instances/EBS_web_<INSTANCE_NAME>_OHS1/config/OHS/EBS_web_<INSTANCE_NAME>/webgate/config_old
mv $FMW_HOME/webtier/instances/EBS_web_<INSTANCE_NAME>_OHS2/config/OHS/EBS_web_<INSTANCE_NAME>/webgate/config $FMW_HOME/webtier/instances/EBS_web_<INSTANCE_NAME>_OHS2/config/OHS/EBS_web_<INSTANCE_NAME>/webgate/config_old
バックアップからWebGateエージェントファイルを復元します。WebGateエージェントファイルについては、OAM管理者に問い合わせて入手してください。
内部向け:
$ cd /xxx/xxxxx/OAM/XXXXX/agent/internal
$ cp –rf config $FMW_HOME/webtier/instances/EBS_web_<INSTANCE_NAME>_OHS1/config/OHS/EBS_web_<INSTANCE_NAME>/webgate
外部向け:
$ cd /xxx/xxxxx/OAM/XXXXX/agent/external
$ cp –rf config $FMW_HOME/webtier/instances/EBS_web_<INSTANCE_NAME>_OHS2/config/OHS/EBS_web_<INSTANCE_NAME>/webgate
2.5 OIDを登録する
$ . ./EBSapps.env run
$ $FND_TOP/bin/txkrun.pl \
-script=SetSSOReg \
-registeroid=yes \
-ldaphost=XXXXX \
-ldapport=13060 \
-provisiontype=4
LDAPディレクトリ管理者(orcladmin)のバインドパスワードを入力:XXXXXXX
このアプリケーションインスタンスを登録する際のインスタンスパスワードを入力:
Oracle E-Business appsデータベースユーザーのパスワードを入力:
2.6 SSO後のステップを実行する
RUN ENVをソースし、以下のコマンドを実行します。
$ . ./EBSapps.env run
$ sqlplus apps/<APPSPASSWD>
SQL>execute fnd_oid_plug.setPlugin(p_default_user_repository =>'cn=Users,dc=XXXX,dc=com');
SQL>commit;
アプリケーションノード1を起動し、環境の動作を更新するためにEBSで使用される以下のプロファイルオプションを設定します。
APPS_AUTH_AGENT : /accessgate
APPS_SSO_LDAP_SYNC : N
APPS_SSO_AUTO_LINK_USER : Y
APPS_SSO : SSWA_SSO
APPS_SSO_LINK_SAME_NAMES : Y
APPS_SSO_LOCAL_LOGIN : BOTH
アプリケーションノード1をシャットダウンし、プライマリノードでautoconfigを実行します。
2.7 EBSとのSSOを検証する
$ . ./EBSapps.env run
プライマリノードのみで、runファイルシステムのすべてのサービスを起動します。
ログイン画面にアクセスして確認します。内部向け:https://XXXXXX.com/
注意: SSOページに初めてアクセスした際には、ホームページエラーが表示されます。
以下のコマンドを実行して、再度試してください。
$ ./adopmnctl.sh stopall
$ ./adopmnctl.sh startall
上記コマンドによるサービスの再起動でも解決しない場合は、別のブラウザで試してみてください。
OAM SSOページへリダイレクトされます。有効なOIDユーザーの資格情報でログインしてください。認証に成功すると、EBSホームページへリダイレクトされます。
SSOページにアクセスできるようになったら、すべてのノードで全サービスを起動し、インスタンスを検証します。また、外部URLのhttps://XXXXXX.comも確認してください。
SYSADMINとしてログインするには、以下のURLを使用します。
バックドアURL:https://XXXXXX.com/OA_HTML/AppsLocalLogin.jsp
2.8 fs_cloneを実行する
検証が問題なければ、以下のコマンドを実行して変更内容をpatchファイルシステムへ同期します。
$ adop phase=fs_clone
まとめ
本記事では、WebGateエージェントを使用してOAMとEBSを統合するために必要な手順を順を追って解説しました。これらの手順を実行すれば、SSOの資格情報を使ってEBSにログインできるようになります。
ご意見やご質問がある場合は、フィードバックタブをご利用ください。
専門家による管理・運用・構成で環境を最適化
Rackspaceのアプリケーションサービス(RAS)の専門家は、幅広いアプリケーションポートフォリオにわたって、以下のようなプロフェッショナルサービスおよびマネージドサービスを提供しています。
- eコマースおよびデジタルエクスペリエンスプラットフォーム
- エンタープライズリソースプランニング(ERP)
- ビジネスインテリジェンス
- Salesforce顧客関係管理(CRM)
- データベース
- メールホスティングおよび生産性向上ツール
私たちが提供するもの:
- 偏りのない専門知識:即座に価値をもたらす機能に焦点を当て、モダナイゼーションの旅をシンプルにし、ご案内します。
- Fanatical Experience™:「Process first. Technology second.®(まずプロセス、次にテクノロジー)」のアプローチと専任のテクニカルサポートを組み合わせ、包括的なソリューションを提供します。
- 比類のないポートフォリオ:豊富なクラウド経験を活かし、適切なクラウド上に適切なテクノロジーを選定・デプロイできるよう支援します。
- アジャイルなデリバリー:お客様の旅のどの段階においてもお客様のもとへ伺い、私たちの成功をお客様の成功と一致させます。
今すぐチャットでご相談ください。
-
Windows 10でデバイス マネージャーを開く8つの方法【初心者向け】
Windows 10の「デバイス マネージャー」は、OSに標準搭載された便利な管理ツールです。ハードウェアの状態確認やドライバーの更新、トラブルシューティングなど、パソコンの保守作業を効率的に行うために欠かせません。この記事では、Windows 10でデバイス マネージャーを開く8つの方法を、手順付きでわかりやすく解説します。1. スタートメニューの検索から開く2. コマンドプロンプトからアクセスする3. コントロールパネルから開く4. 「ファイル名を指定して実行」から開く5. コンピューターの管理からアクセスする6. Windows PowerShellからアクセスする7. クイックリンクメ
-
Windows 10でリモートデスクトップ接続を設定する方法【初心者向けガイド】
物理的に離れた場所にあるパソコンへリモートアクセスすることは、今では珍しいことではありません。この機能によって仕事の効率と生産性が向上し、多くの企業でも積極的に導入が進められています。ただし、リモートアクセス接続の安全性とセキュリティを確保することが非常に重要です。本記事では、Windows 10でリモートデスクトップを設定する具体的な手順を詳しく解説します。 Windows 10でリモートデスクトップアクセスを設定するには? リモートデスクトップアクセス機能は、MicrosoftがWindows OSに標準搭載しているユーティリティです。ただし、この機能はWindowsのProfession