Oracle DiscovererとOracle Access Manager(OAM)を統合してシングルサインオンを実現する方法
本記事では、Oracle® Discoverer 11gを、Oracle Access Manager(OAM)11gが提供するシングルサインオン(SSO)ソリューションと統合する手順を詳しく解説します。複数のアプリケーションに対してワンストップのログイン環境を構築したい方にとって、実践的なガイドとなる内容です。
Oracle Discovererの認定マトリックス
まず、サポートされる環境の組み合わせを確認しておきましょう。
- Oracle Discoverer 11.1.1.7.0は、Linux® x86-64(Oracle Linux 5 Update Level 3以降)上でOracle Access Manager 11.1.2.0.0との動作が認定されています。
- Oracle E-Business Suite 12.1.1は、Linux x86-64(RedHat® Enterprise Linux 5 Update Level 5以降)上でOracle Discoverer 11.1.1.7.0との動作が認定されています。
OAMの処理フローは以下の図のようになります。
Discoverer向けSSOの構成手順
Oracle E-Business Suite(EBS)とOracle Business Intelligence(BI)Discovererの両方にSSOを構成する場合は、必ず先にOracle EBS側のSSOを構成してください。Oracle Fusion Middleware 11gの基盤として推奨されるソリューションが、このOracle Access Managerです。
全体の手順は以下の5ステップです。各ステップの詳細については、後続のセクションで順番に説明します。
- Oracle Single Sign-On(OSSO)エージェント(mod_osso)をOAM 11gに登録する
- 認証ポリシーおよび認可ポリシーを更新する
- 生成された
osso.confファイルを$DOMAIN_HOME/output/<ossoagent>から$ORACLE_INSTANCE/config/<OHSComponent>/<ohs-comp-name>へコピーする - SSO接続を有効化する
- 構成を検証する
ステップ1:OSSOエージェントの登録
OSSOエージェント(mod_osso)を登録するには、以下の手順に従います。
- oamconsoleにログインし、Setupをクリックします。
- Agentsセクションで、下図のようにドロップダウン記号付きの「+」ボタンをクリックします。
- Oracle OSSO Agentを選択すると、次の画面が表示されます。
- 以下のNameとBase URLを入力し、Token Versionとしてv1.4を選択します。
Name: OSSO_11G_DEVDISCO Base URL: https://<discoverer_server>:8090 (Dev DiscoのURL) - Applyをクリックします。
- Launch Padを開き、AgentsアイコンをクリックしてSSOエージェントを検索し、SSO_Agentが正しく登録されていることを確認します。
ステップ2:認証・認可ポリシーの更新
続いて、認証ポリシーと認可ポリシーを以下の手順で更新します。
- Access Manager > Application Domains > Search for OSSO_DISCO > Authentication Policies > Protected Resource Policyへ移動し、下図のようにProtected Resource Policyをクリックします。
- 認証スキームをEBSAuthSchemeに変更し、下図のようにApplyをクリックします。
ステップ3:osso.confファイルのコピー
OSSOエージェントを登録すると、システムによって$DOMAIN_HOME/output/ディレクトリ内にosso.confファイルが自動生成されます(下図参照)。
Discovererサーバーにログインし、以下のコマンド例のようにファイル情報を確認します。
[appdb@<disco_server> ~]$ cd $ORACLE_INSTANCE/config/OHS/ohs1/disabled/
[appdb@<discoverer_server> disabled]$ grep osso.conf mod_osso.conf
#Point to proper osso.conf file.
# OssoConfigFile "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/osso.conf"
[appdb@<discoverer_server> disabled]$
次に、以下のように新しいディレクトリを作成します。
mkdir $ORACLE_INSTANCE/config/OHS/ohs1/osso
cd $ORACLE_INSTANCE/config/OHS/ohs1/osso
OAMサーバー上で以下のコマンドを実行し、OAMサーバーからosso.confファイルをコピーします。
cd $MW_HOME/oam/user_projects/domains/OAMDomain/output/OSSO_11G_DEVDISCO
scp osso.conf appdb@<discoverer_server>.corp.zynga.com: /u01/app/appdb/Disco11g/MW/asinst_1/config/OHS/ohs1/osso/
保護対象リソースを構成するため、mod_osso.confをバックアップします。
[appdb@<discoverer_server> moduleconf]$ cp $ORACLE_INSTANCE/config/OHS/ohs1/disabled/mod_osso.conf $ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/
[appdb@<discoverer_server> moduleconf]$ cd $ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/
[appdb@<discoverer_server> moduleconf]$ cp mod_osso.conf mod_osso.conf_Orginal
[appdb@<discoverer_server> moduleconf]$
mod_osso.confを編集し、以下の行を追記して保存します。
LoadModule osso_module "${ORACLE_HOME}/ohs/modules/mod_osso.so"
<IfModule osso_module>
OssoIpCheck off
OssoIdleTimeout off
OssoHttpOnly off
OssoSecureCookies off
OssoConfigFile
/<$MW_HOME>/asinst_1/config/OHS/ohs1/osso/osso.conf
<Location /discoverer/plus>
require valid-user
AuthType Osso
</Location>
<Location /discoverer/viewer>
require valid-user
AuthType Osso
</Location>
<Location /discoverer/app>
require valid-user
AuthType Osso
</Location>
</IfModule>
ステップ4:SSO接続の有効化
configuration.xmlを編集し、接続パラメータをenableAppsSSOConnection="false"からenableAppsSSOConnection="true"に変更することで、SSO接続を有効化します。
configuration.xmlは以下のパスにあります。
/<$MW_HOME>/user_projects/domains/ClassicDomain/config/fmwconfig/servers/WLS_DISCO/applications/discoverer_11.1.1.2.0/configuration
まずファイルをバックアップし、その後、以下のコマンド例のように値を確認します。
[appdb@<discoverer_server> configuration]$ cp configuration.xml configuration.xml_Orginal_BKP
[appdb@<discoverer_server> configuration]$
[appdb@<discoverer_server> configuration]$ grep enableAppsSSOConnection configuration.xml
userDefinedConnections="true" laf="dc_blaf" switchWorksheetBehavior="prompt" defaultLocale="en" disableBrowserCaching="false" enableAppsSSOConnection="true" propagateGUIDtoVPD="false" pageNavigation="true">
[appdb@<discoverer_server> configuration]$
ORACLE_INSTANCE\bin配下にある以下のコマンドを実行し、Oracle HTTP Serverを再起動します。
opmnctl stopall
opmnctl startall
注意: EBSインスタンス側もSSOが有効になっており、かつ同じOAMインスタンスで構成されている必要があります。
ステップ5:構成の検証
以下のランチャーにアクセスして、SSO構成を検証します。
- Discoverer Viewerランチャー
- Discovererランチャー
URLにアクセスし、SSOログイン情報を入力してLoginをクリックします(下図参照)。
下図のように必要な詳細情報を入力します。
Continueをクリックすると、下図のようにユーザー名が自動的に入力されます。
まとめ
本記事では、Discoverer向けにSSOソリューションを実装する方法を解説しました。
DiscovererにSSOを導入する主なメリットは、資格情報の再入力にかかる時間を削減できる点です。これによりユーザーの生産性が向上し、プロダクトオーナーにとってはコンバージョン率の向上にもつながります。社内外のユーザーは、新たな資格情報セットを管理・記憶する手間から解放されます。
さらに、SSOはパスワード管理に関する問題を軽減し、パスワードリセットや無効な資格情報などに対応するためのヘルプデスクシステムを複数構築するコスト削減にも貢献します。
Rackspace Application Servicesの詳細については、ぜひご確認ください。ご意見やご質問がある場合は、フィードバックタブをご利用ください。
-
Oracle ADFをE-Business Suiteと統合する方法:SPWA環境構築の完全ガイド
この記事では、Oracle® Application Development Framework(ADF)をE-Business Suite(EBS)のSupply Planning Work Area(SPWA)と統合する具体的な手順について詳しく解説します。 ADFとは Oracleは「Oracle Fusion Middleware Understanding Oracle Application Development Framework」の中で、ADFについて次のように説明しています。 「Oracle Application Development Framework(Oracle
-
WebブラウザだけでOBIEEのRPDをダウンロード・アップロードする方法
本記事では、Oracle® Business Intelligence Enterprise Edition(OBIEE)12cにおいて、Webブラウザ上でHTMLコードを利用することで、リポジトリファイル(RPD)のダウンロードとアップロードを行う手順を解説します。 概要 通常、RPDをデプロイするには、OBIEEアプリケーションサーバーにログインし、datamodelコマンドを実行する必要があります。つまり、RPDファイルをOBIEEアプリサーバー上に配置したうえで、datamodelコマンドを使ってダウンロードやアップロードを行うのが一般的な流れです。 しかし、本記事で紹介する方法を使え