プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド
12c (12.2.1)
E70040-02
  目次へ移動
目次

前
 
次
 

9 Oracle E-Business Suiteセキュリティとの統合

この章では、Oracle E-Business SuiteにナビゲートするユーザーをOracle E-Business Suiteセキュリティを使用して認証するようOracle Business Intelligenceを設定する方法について説明します。データベースのデータベース・オブジェクトおよび接続プールの作成、認証の設定、およびOracle Business Intelligenceダッシュボードを開くリンクのOracle E-Business Suiteへの埋込みについて説明します。

この章の内容は次のとおりです。

9.1 Oracle E-Business Suiteデータベースのデータベース・オブジェクトと接続プールの作成

Oracle E-Business Suiteとの統合を有効にするには、Oracle E-Business Suiteデータベースのデータベース・オブジェクトと接続プールをOracle BIリポジトリ内に作成する必要があります。

Oracle E-Business Suiteデータベースのデータベース・オブジェクトと接続プールを作成するには:

  1. 管理ツールで、Oracle E-Business Suiteと統合するリポジトリを開きます。

  2. 「物理レイヤー」を右クリックし、新規データベースを選択します。

  3. 新規データベースの名前を入力します(「Oracle E-Business Suite 12」など)。

  4. データベース」に、使用するOracle E-Business Suiteデータベースに対する適切なOracle Databaseタイプを選択します(「Oracle 10g R2」、「Oracle 11g」など)。

  5. OK」をクリックします。

  6. 新規作成したデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択して、「接続プール」を選択します。

  7. 接続プールの名前を入力します(「Oracle E-Business Suite 12」など)。

    この接続プールには、一意の名前を付ける必要があります。この要件に従い、「Connection Pool」といったオブジェクト名を作成しないようにしてください。

  8. 呼出しインタフェース」では「OCI 10g/11g」を選択します。

  9. データ・ソース名」に、Oracle E-Business SuiteデータベースのTNS名を入力します。

  10. ユーザー名」および「パスワード」に、Oracle E-Business Suiteスーパーユーザーのユーザー名およびパスワードを入力します。

  11. 「接続スクリプト」タブを選択します。

  12. 接続時に実行」の「新規」をクリックします。

  13. 次の物理SQLを入力して、「OK」をクリックします。

    call APP_SESSION.validate_icx_session('valueof(NQ_SESSION.ICX_SESSION_COOKIE)')
    

    このスクリプトが有効化されていることを確認します。

  14. 「接続プール」ダイアログで「OK」をクリックします。

  15. リポジトリを保存します。

9.2 認証の設定

ここでは、Oracle Business IntelligenceとOracle E-Business Suiteとの間で共有される認証の設定方法について説明します。


注意:

この項の説明に従って、EBS ICX認証Cookieを使用して共有認証を設定する場合、シングル・サインオンを使用してOracle Business IntelligenceからOracle BI Publisherへシームレスにナビゲートできません。

この項の構成は、次のとおりです。

9.2.1 認証のセッション変数の設定

統合環境に対して適切な認証を設定するには、いくつかのセッション変数、および1つの初期化ブロックをOracle BIリポジトリに設定する必要があります。

管理ツールで認証用セッション変数を設定するには:

  1. 管理ツールで、Oracle E-Business Suiteと統合するリポジトリを開きます。

  2. 管理」を選択し、「変数」を選択します。

  3. アクション」メニューから「新規」、「セッション」、「初期化ブロック」の順に選択します。

  4. 初期化ブロックの名前を入力します(「Oracle E-Business SSO」など)。

  5. データ・ソースの編集」をクリックします。

  6. デフォルトの初期化文字列」で、次のように入力します。

    SELECT
      FND_GLOBAL.RESP_ID,
      FND_GLOBAL.RESP_APPL_ID,
      FND_GLOBAL.SECURITY_GROUP_ID,
      FND_GLOBAL.RESP_NAME,
      FND_GLOBAL.USER_ID,
      FND_GLOBAL.EMPLOYEE_ID,
      FND_GLOBAL.USER_NAME
    FROM DUAL
    
  7. 接続プール」で「参照」をクリックし、Oracle E-Business Suiteデータベースに対して作成した接続プール(「Oracle E-Business Suite 12」など)を選択して、「選択」をクリックします。

    図9-1は、「デフォルトの初期化文字列」および「接続プール」にサンプル値を表示したセッション変数初期化ブロック・データ・ソース・ダイアログを示します。

    図9-1 セッション変数初期化ブロックデータ・ソースダイアログ

    図9-1の説明が続きます。
    「図9-1 セッション変数初期化ブロック・データ・ソース・ダイアログ」の説明

  8. OK」をクリックします。

  9. データ・ターゲットの編集」をクリックします。

  10. 次のセッション変数を作成します。

    EBS_RESP_ID
    EBS_RESP_APPL_ID
    EBS_SEC_GROUP_ID
    EBS_RESP_NAME
    EBS_USER_ID
    EBS_EMPLOYEE_ID
    USER
    

    これには、「新規」をクリックして変数名を入力し、「OK」をクリックします。USER変数の特別目的についての警告が表示されたら、「はい」をクリックします。

    オプションとして、各変数に対して「OK」をクリックする前に「セキュリティ・センシティブ」を選択することもできます。このオプションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

    各変数が、指定した順にリストされていることを確認します。必要に応じて、「上へ」または「下へ」をクリックしてリストを並べ替えます。

    図9-2は、必要な変数が必要な順序で表示されたセッション変数初期化ブロック変数ターゲットダイアログを示します。

    図9-2 セッション変数初期化ブロック変数ターゲットダイアログ

    図9-2の説明が続きます。
    「図9-2 セッション変数初期化ブロック変数ターゲット・ダイアログ」の説明

  11. セッション変数初期化ブロック変数ターゲットダイアログで「OK」をクリックします。

  12. 「セッション変数初期化ブロック」ダイアログで「認証のために必要」の選択を解除します。

  13. OK」をクリックします。

  14. リポジトリを保存します。

9.2.2 authenticationschemas.xmlの更新

authenticationschemas.xmlファイルを更新して、EBS ICX認証Cookieの名前を追加する必要があります。

authenticationschemas.xmlを更新するには:

  1. authenticationschemas.xmlファイルを開いて編集します。このファイルの場所は次のとおりです。

    ORACLE_HOME/bifoundation/web/display
    
  2. 次の要素を検索します。

    <AuthenticationSchema name="EBS-ICX">
    
  3. サブ要素RequestVariable source="cookie"の場所を探し、nameInSource属性の値をICX_SESSIONから、EBS ICX認証Cookie名の接頭辞に変更します。たとえば、次のようにします。

    <RequestVariable source="cookie" type="auth" nameInSource="VIS" biVariableName=
    "NQ_SESSION.ICX_SESSION_COOKIE" />
    

    RequestVariable source="url"サブ要素は更新しないでください。


    注意:

    EBS ICX認証Cookie名がわからない場合は、Oracle E-Business Suite管理者に確認してください。または、次の手順によってCookie名を確認することもできます。
    1. Oracle E-Business Suiteにログインします。

    2. ブラウザのアドレス・バーに、次のテキストを入力します。

      javascript:document.writeln(document.cookie);
      
    3. Cookieが表示されます。例:

      ORA_BIPS_LBINFO=1262d6a5f9a; ORA_MOS_LOCALE=en%7CUS; ORA_UCM_
      INFO=3~00027147766664614052270216870092~LastName~FirstName~Firstname.LastName@mycompany.com~USA~en~~~~~1; ORA_UCM_VER=
      %2FMP%2F8kgic%2Cr_ wjmp%3Emp_ajc%2CamkMP%2F8iega*p%5Duhkn%3Ckn
      %5D_ha*_kiMP%2F8%2F26%2C65%2C7%2C22MP%2F8-04*43*5*00; ORA_UCM_
      SRVC=3*OTN~1~0~//~null~*OPN~1~0~//~SE1%3ASE1%3ASE1%3ASE1%3ASE1%
      3ASE1%3ASE1%3ASE1%3A~*EMP~1~0~/34/~null~*GMO~1~0~//~null; ORA_
      TAHITI_PREFS=-0--------------; VIS=ZcEJeoLNVqcHGiGYvCpzTx3N:S;
      ADMINCONSOLESESSION=0yQmLP2D67vJKgtXLxsNl534QTWlThYkyvXfR0fjFK0
      LPsD3Hh83!1322564050
      

      authenticationschemas.xmlで指定する必要がある値は、EBS ICX認証Cookieの接頭辞です。前述の例では、EBS ICX認証CookieはVIS=ZcEJeoLNVqcHGiGYvCpzTx3N:S;であり、接頭辞はVISです。


  4. 同じエントリで(RequestVariable source="cookie")、biVariableName属性の値が、Oracle E-Business Suiteデータベースに対して接続プールを作成したときの接続スクリプトの一部として入力した値と同じであることを確認します。詳細は、第9.1項「Oracle E-Business Suiteデータベースのデータベース・オブジェクトと接続プールの作成」のステップ13を参照してください。

  5. 次の要素を検索します。

    <SchemaKeyVariable source="cookie">
    
  6. nameInSource属性の値を、ICX_SESSIONから、EBS ICX認証Cookie名の接頭辞に変更します(多くの場合はVIS)。次に例を示します。

    <SchemaKeyVariable source="cookie" nameInSource="VIS" forceValue="EBS-ICX"/>
    
  7. ファイルを保存して閉じます。

9.2.3 instanceconfig.xmlの更新

instanceconfig.xmlファイルを更新して、有効化されたスキーマの1つとしてEBS ICXを追加し、これをデフォルトとして設定する必要があります。instanceconfig.xmlファイルを更新して、ログインおよびログアウト情報を構成する必要があります。

instanceconfig.xmlを更新するには:

  1. Oracle Business IntelligenceがカスタムSSOプロバイダを使用するように構成します。これについては、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のFusion Middleware Controlを使用したSSO認証の有効化に関する項を参照してください。

  2. instanceconfig.xmlファイルを開いて編集します。このファイルの場所は次のとおりです。

    ORACLE_INSTANCE/config/OracleBIPresentationServicesComponent/coreapplication_obipsn
    
  3. Authentication要素の場所を特定します。

  4. 有効化されたスキーマのリストにEBS ICXを追加します。次に例を示します。

    <EnabledSchemas>UidPwd,Impersonate,UidPwd-soap,Impersonate-soap,EBS-ICX</EnabledSchemas>
    

    instanceconfig.xml内の、この設定は集中管理されているという内容のコメントは無視します。EBS ICXは、EnabledSchemas要素に手動で追加する必要があります。

  5. ファイルを保存して閉じます。

  6. Oracle Business Intelligenceを再起動します。

9.3 Oracle E-Business SuiteにおけるOracle Business Intelligenceへのリンクの埋込み

Oracle Business Intelligenceダッシュボードを開くリンクをOracle E-Business Suiteに埋め込むには、フォーム関数を作成してから、メニューおよび職責を割り当てる必要があります。


注意:

作業を開始する前に、Oracle E-Business Suiteにシステム管理者(sysadminなど)としてログインします。次に、左側の職責ナビゲータ・ペインからシステム管理者職責を選択します。使用可能なメニューが右側に表示されます。

この項で説明する各手順を実行して、次のオブジェクトをこの順序で作成します。

  • 関数

  • メニュー

  • 職責

  • ユーザー

  • プロファイル

この項の構成は、次のとおりです。

9.3.1 ドメイン前提条件

Oracle E-Business SuiteインスタンスおよびOracle Business IntelligenceインスタンスのURLのエントリ・ポインが異なるインターネット・ドメインを使用して構成されている場合、適切なメカニズムを使用して、2つのURLに対する単一の論理的ドメインを作成する必要があります。この手順は、Oracle E-Business SuiteとOracle Business Intelligenceとの間にリンクを構成し、Oracle E-Business Suiteのセッション情報をOracle Business Intelligenceに渡せるようにするために必要です。

たとえば、Oracle E-Business Suiteが次の場所で使用可能であるとします。

http://ebshost.ebsdomain.com:8001

また、Oracle Business Intelligenceが次の場所で使用可能であるとします。

http://bihost.bidomain.com:9704

適切なメカニズムを導入し、同じドメインを使用して、ブラウザから両方のURLにアクセスできるようにする必要があります。

これを実現する方法の1つは、サポートされるHTTPサーバー(Oracle HTTP Serverなど)をインストールすることです。前述の例では、Oracle Business Intelligenceに対してHTTPサーバーを構成し、次に対する要求を

http://bihost.ebsdomain.com:9704

次にマップできます。

http://bihost.bidomain.com:9704

この方法では、クライアント・ブラウザは次の場所にリンクできます。

http://bihost.ebsdomain.com:9704

しかし、HTTPサーバーは実際には本来の場所をポイントしています。

Oracle HTTP Serverの構成と保護の詳細は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照してください。

9.3.2 フォーム関数の作成

ここでは、Oracle E-Business Suiteでフォーム関数を作成する方法について説明します。

フォーム関数を作成するには:

  1. アプリケーションメニューから関数を選択します。フォーム関数ダイアログが表示されます。

    図9-3は、フォーム関数ダイアログを示します。

    図9-3 フォーム関数ダイアログ

    図9-3の説明が続きます。
    「図9-3 フォーム関数ダイアログ」の説明

  2. 関数フィールドに関数名を入力します(「OBIEE」など)。

  3. ユーザー関数名を入力します。(「OBIEE」など)。

  4. 説明を入力します。(「Oracle BIへのリンク」など)。

  5. ツールバーの保存ボタンを使用して、変更を保存します。

  6. 「 プロパティ 」タブを選択します。

  7. タイプに、「SSWA jsp function」と入力します。

  8. Web HTMLタブを選択します。

  9. HTMLコールに、次のいずれかのオプションを入力します。

    • アンサーにリンクする場合は、次のように入力します。

      OracleOasis.jsp?mode=OBIEE&function=Answers

    • ダッシュボードにリンクする場合は、次のように入力します。

      OracleOasis.jsp?mode=OBIEE&function=Dashboard

  10. ツールバーの保存ボタンを使用して変更を保存し、フォーム関数ダイアログを閉じます。

9.3.3 フォーム関数を起動するメニューの作成

ここでは、フォーム関数を起動するメニューをOracle E-Business Suiteに作成する方法について説明します。メニューは、更新されるたびにコンパイルされます。

フォーム関数を起動するメニューを作成するには:

  1. アプリケーションメニューからメニューを選択します。メニューダイアログが表示されます。

    ヒント: すでに「フォーム」を開いている場合は、上位10件リストからメニューを選択できます。

    図9-4はメニューダイアログを示します。

    図9-4 メニュー・ダイアログ

    図9-4の説明が続きます。
    「図9-4 メニュー・ダイアログ」の説明

  2. メニューフィールドにメニュー名を入力します(「OBIEE」など)。

  3. ユーザー・メニュー名を入力します(「OBIEE」など)。

  4. メニュー・タイプに「Standard」と入力します。

  5. 関数には、第9.3.2項「フォーム関数の作成」で作成した関数名を入力します。

  6. ツールバーの保存ボタンを使用して変更を保存し、メニューダイアログを閉じます。

メニューに1つの関数しか含まれない場合は、この関数はユーザーに対し、デフォルトで選択されます。この場合、関数の表示などの中間手順は省略されます。

9.3.4 職責へのメニューの割当て

第9.3.3項「フォーム関数を起動するメニューの作成」で作成したメニューは、職責に関連付ける必要があります。既存の職責を再利用することもできますが、次の手順に示すとおり、職責を作成することもできます。

メニューを新規の職責に割り当てるには:

  1. 上位10件リストから職責を選択します。

    図9-5は、職責ダイアログを示します。

    図9-5 職責ダイアログ

    図9-5の説明が続きます。
    「図9-5 職責ダイアログ」の説明

  2. 職責の名前を入力します(「OBIEE」など)。

  3. アプリケーションに、メニューを作成したアプリケーションを入力します。

  4. 職責キーに、任意の一意の値を定義します。この値の一意性を保つために、職責キーは翻訳されません。

  5. 使用可能な場所で、OracleセルフサービスWebアプリケーションを選択します。

  6. データ・グループでは、名前に「Standard」と入力し、アプリケーションにアプリケーション名を再入力します。

  7. メニューに、第9.3.3項「フォーム関数を起動するメニューの作成」で作成したメニューの名前を入力します。

  8. ツールバーの保存ボタンを使用して変更を保存し、職責ダイアログを閉じます。

9.3.5 ユーザーへの職責の割当て

メニューに関連付けられている職責は、ユーザーに割り当てる必要があります。ユーザーを作成することもできますが、次の手順に示すとおり、既存のユーザーに職責を割り当てることもできます。

職責を既存のユーザーに割り当てるには:

  1. 上位10件リストからユーザーを選択します。

    図9-6はユーザーダイアログを示します。

    図9-6 ユーザー・ダイアログ

    図9-6の説明が続きます。
    「図9-6 ユーザー・ダイアログ」の説明

  2. 編集するユーザーに対し、直接の職責タブに職責の詳細を入力します。職責名、アプリケーション、セキュリティ・グループ(Standard)、および有効期間を入力します。

  3. ツールバーの保存ボタンを使用して変更を保存し、ユーザーダイアログを閉じます。

9.3.6 プロファイルの設定

プロファイルの一環として、Oracle BIサーバーのURLを入力する必要があります。職責、ユーザー、またはサイトに対するプロファイルを設定できます。次に、職責に対してプロファイル・オプションを設定する手順を示します。

職責に対してプロファイル・オプションを設定するには:

  1. アプリケーションメニューからプロファイルを選択します。

    図9-7は、システム・プロファイル値の検索ダイアログを示します。

    図9-7 システム・プロファイル値の検索ダイアログ

    図9-7の説明が続きます。
    「図9-7 システム・プロファイル値の検索ダイアログ」の説明

  2. 職責を選択し、第9.3.4項「職責へのメニューの割当て」でメニューを割り当てた職責の名前を入力します。

  3. プロファイルフィールドに「%Business Intelligence%」と入力します。

  4. 検索をクリックします。

  5. 結果の表示画面で、職責の下にOracle Business IntelligenceのURLを入力します。たとえば、次のように入力します。

    http://my_server.domain.com:port/analytics
    

    IPアドレスや単なるホスト名でななく、完全修飾された名前(ホスト名.ドメイン名)を使用する必要があります。Oracle Business Intelligenceドメインは、 Oracle E-Business Suiteドメインと同一である必要があります。これは、ユーザーのブラウザからOracle Business IntelligenceにEBS ICXのCookieを表示するために必要です。詳細は、「ドメイン前提条件」を参照してください。

    ポートには、Oracle Business Intelligenceを実行しているWebサーバーのポート番号を入力します(9704など)。

  6. ツールバーの保存ボタンを使用して、変更を保存します。

9.3.7 E-Business SuiteからOracle Business Intelligenceへのナビゲート

次に、Oracle E-Business SuiteからOracle Business Intelligenceにナビゲートします。次に、Oracle E-Business SuiteからOracle Business Intelligenceにナビゲートする方法を示します。

E-Business SuiteからOracle Business Intelligenceにナビゲートするには:

  1. Oracle Business Intelligenceにリンクできる職責(たとえば、OBIEE)が割り当てられていることを確認します。第9.3.4項「職責へのメニューの割当て」を参照してください。

  2. Oracle E-Business Suiteにログインします。

  3. Oracle Business Intelligenceにリンクできる職責(たとえば、OBIEE)を選択します。


    注意:

    職責(OBIEE)の表示が遅延する場合があります。このため、Oracle E-Business Suiteのジョブ・プロセスがメニューなどを引き続き更新します。すぐに職責が表示されない場合、Oracle E-Business Suite管理者に連絡してください。

  4. メニュー・フィールドで、第9.3.3項「フォーム関数を起動するメニューの作成」で作成したメニュー(たとえば、OBIEE)を選択します。

    Oracle Business Intelligenceにリンクするフォーム関数が起動します。