データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle EBSとIDCSを統合してSSOを実現する方法:設定手順を徹底解説

本記事では、既存のOracle® e-Business Suite®(EBS)環境にOracle Identity Cloud Service(IDCS)を統合する方法について解説します。

はじめに

IDCSは、Oracleが提供するクラウドベースのアイデンティティ管理プラットフォームです。EBSアプリケーションへのアクセスにSSO(シングルサインオン)サービスを提供し、インストール作業は一切不要です。バックアップ、リカバリ、パッチ適用、アップグレード、スケーリングなどはすべてOracle Cloudが管理してくれます。

必要なコンポーネントは「EBS Asserter」と呼ばれる1つだけです。これはIDCSが提供するものであり、Oracle e-Business Suiteやその他のアプリケーションに対してSSOを実装するために使用します。

EBS Asserterの主な特徴

EBS Asserterには、以下のような重要な特徴があります。

  • EBS側で構成変更を行う必要がない
  • SSL構成済みのWebLogic 12c環境にデプロイする
  • EBSアプリケーション、IDCS、EBS Asserter間で単一ログインを実現
  • EBSとのSSOにおいて複数のアクセスモードに対応

また、IDCSでは既存のActive Directory(AD)との統合も可能です。IDCSと既存ADを統合するには、IDCSからOracle IDCS ADエージェントをダウンロードし、クライアントIDとクライアントシークレットを指定してADサーバーにインストールします。インストールが完了すると、システムは自動的にADサーバーの情報をIDCSのディレクトリ統合設定に反映します。

ADユーザーを同期するには、ブリッジを構成して同期処理を実行する必要があります。

以下は、EBSとIDCSの新しい統合アプローチを示した図です。

Oracle EBSとIDCSを統合してSSOを実現する方法:設定手順を徹底解説

SSOのためのEBSとIDCSの統合

Oracleは、ブラウザベースのログインを持つすべてのEBSモジュールについて、EBS Asserterとの連携をサポートしています。また、Web ADI向けのExcel®ベースのログインにも対応しています。一方、EBSのモバイルアプリケーションはブラウザベースの認証を使用しないため、サポート対象外となります。

インストールの前提条件

EBS Asserterをインストールする前に、以下の要素が揃っていることを確認してください。

  • Oracle JRE/JDK バージョン8以降
  • Java® 8用のJava Cryptography Extension(JCE)ファイル
  • IDCSコンソールへのアクセス権限(EBS Asserterのダウンロードおよび機密アプリケーションの登録に必要)
  • EBSアプリケーションへのアクセス権限
  • EBS AsserterのJavaアプリケーションをデプロイするための独立したOracle WebLogic Server 12c環境と、新しい管理対象サーバーEBSAsserter_server。このWebLogicサーバーとEBSサーバーは同一ドメイン内に配置する必要があります。

Oracle Asserterのドキュメントによると、EBS Asserterのインストール前に以下の手順を実行する必要があります。

  1. EBS Asserterのzipファイルをダウンロードして展開する。
  2. Identity Cloud Serviceコンソールにアクセスし、Navigation Drawerを展開してSettingsをクリックし、Downloadsを選択する。DownloadをクリックしてIDCS EBS Asserterをダウンロードし、zipファイルを保存する。
  3. EBS Asserterのzipファイルの内容を展開する。
  4. ebs.warファイルとidcs-wallet-<version>.jarファイルを作業フォルダにコピーし、EBS AsserterのWebLogic Serverマシンに配置する。

EBS AsserterのURLがSSL経由でアクセス可能であることを確認してください。

複数のEBSインスタンスがある場合は、各EBSインスタンスに対してEBS Asserterを構成・デプロイできます。すべてのEBS Asserter管理対象サーバーで同じWebLogicサーバーを使用することも可能です。

構成手順

以下の構成手順を実行します。

1. EBS上にアプリケーションユーザーを作成する

EBS AsserterがEBSアプリケーションと通信するためのユーザーを作成します。Oracle Asserterドキュメントに記載されている以下の手順に従います。

  1. sysadminユーザーとしてEBSにログインします。
  2. User Management Responsibilityに移動し、Usersをクリックします。
  3. RegisterドロップダウンメニューからUser Accountを選択し、Goをクリックします。
  4. Create User Accountページで以下の詳細を入力して新しいユーザーを作成し、Submitをクリックします。
    • Username: EBSASSERTER
    • Password: ユーザーパスワード
    • Description: EBS Asserter Service User
    • Password Expire: None
  5. ユーザー作成後、Assign rolesをクリックし、Update Userページでもう一度Assign rolesをクリックします。
  6. コードUMX|APPS_SCHEMA_CONNECTを指定してSearch and Select: Assign Rolesを使用します。
  7. Apps Schema Connect Roleを選択し、Selectをクリックします。
  8. 理由としてEBS asserter service userを入力し、Saveをクリックします。

2. IDCSにEBSシステム管理者を作成する

EBSアプリケーションのシステム管理者と通信するためのユーザーをIDCSに作成します。Oracle Asserterドキュメントの以下の手順に従います。

  1. IDCSにログインしてコンソールにアクセスします。
  2. IDCSコンソールでナビゲーションを展開し、Usersをクリックして、UsersページでAddをクリックします。
  3. Add Userウィンドウで以下の値を入力し、Finishをクリックします。
    • First Name: EBS
    • Last Name: Sysadmin
    • Use the email address as the usernameのチェックを外す。
    • Username: sysadmin
    • Email: Oracle E-Business SuiteのSYSADMINアカウントに設定されているメールアドレスを入力する。
  4. IDCSでユーザーを作成した後、EBSアプリケーションにログインし、sysadminユーザーのメールアドレスをIDCSのsysadminアドレスと一致するように更新します。

3. EBSアプリケーションにEBS Asserterを登録する

EBSにEBS Asserterを登録するために、Oracle Asserterドキュメントの以下の手順を実行します。

  1. applmgrとしてEBSアプリケーションサーバーにログインし、$JAVA_HOME$WLS_HOMEのディレクトリを確認します。
  2. 以下のコマンドを実行して作業ディレクトリを作成します。
 cd /u01/app/SID
 mkdir ebssdk
 cd ebssdk
  1. IDCSからダウンロードしたebs.warからfndext.jarを抽出します。これを作業ディレクトリと、EBS AsserterのWebLogicサーバーの$DOMAIN_HOME/libフォルダの両方にコピーします。
  2. EBS環境ファイルをsourceして読み込み、以下のコマンドを実行してEBS AsserterをEBSアプリケーションに登録します。
 cd /u01/app/SID/ebssdk
 java oracle.apps.fnd.security.AdminDesktop apps/<apps_pwd> CREATE NODE_NAME=ebsasserter.example.com DBC=$FND_SECURE/EBSDB.dbc
  1. 生成されたEBSDB_ebsasserter.example.com.dbcファイルをEBS Asserterサーバーにコピーし、APPL_SERVER_IDを控えておきます。

4. IDCSにEBS Asserterを登録する

EBS Asserterを表す機密アプリケーションを作成するため、Oracle Asserterドキュメントの以下の手順を実行します。

  1. IDCSコンソールにログインし、ナビゲーションを展開してApplicationsをクリックします。
  2. Addをクリックし、ダイアログボックスでConfidential Applicationを選択します。
Oracle EBSとIDCSを統合してSSOを実現する方法:設定手順を徹底解説
  1. 以下の情報を入力してNextをクリックします。
    • Name: EBS Asserter
    • Description: EBS Asserter Application
    • Application URL: https://ebsasserter.example.com:7002/ebs
    • Display in My Apps: このチェックボックスを選択する。
  2. ClientペインでConfigure this application as a client nowを選択し、以下の情報を入力します。
    • Allowed Grant Types: Client CredentialsAuthorization Codeを選択する。
    • Redirect URL: https://ebsasserter.example.com:7002/ebs/response
    • Logout URL: https://ebsasserter.example.com:7002/ebs/logout
    • Post Logout Redirect URL: https://ebsasserter.example.com:7002/ebs
  3. Grant the client access to Identity Cloud Service Admin APIsの下にあるAddをクリックします。
  4. Add App Roleダイアログウィンドウで、リストからAuthenticator ClientMeを選択し、Addをクリックします。
  5. Clientペインおよび以降のペインでNextをクリックし、Finishをクリックします。
  6. Application AddedダイアログボックスでClient IDClient Secretの値を控え、Closeをクリックします。
  7. Activateをクリックしてアプリケーションをアクティブ化します。
Oracle EBSとIDCSを統合してSSOを実現する方法:設定手順を徹底解説

5. WebLogicウォレットを作成する

セキュリティ上の理由により、クライアントID、クライアントシークレット、およびIDCSのURLを、EBS Asserterが使用するウォレットに登録する必要があります。Oracleドキュメントに記載されている以下の手順を実行します。

  1. EBS Asserterサーバーにログインし、idcs-wallet-<version>.jarファイルが存在するディレクトリに移動します。
  2. 以下のコマンドを実行してcwallet.ssoファイルを生成し、指示に従って詳細を入力します。
 java -jar idcs-wallet-<version>.jar
  • Enter Wallet Path: ウォレットファイルを保存するパスを入力します。
  • Enter Client ID: クライアントIDを入力します。
  • Enter Client Secret: クライアントIDに対応するクライアントシークレットを入力します。
  • Enter IDCS base URL: IDCSのベースURLを入力します。

6. 構成ファイルを更新する

EBS Asserterの構成ファイルbridge.propertiesに、EBSインスタンスとIDCSの詳細情報を更新します。

7. EBS Asserterをデプロイする

新しいデータソースを作成し、EBS Asserterアプリケーションをデプロイします。Oracle Asserterドキュメントの以下の手順に従います。

データソースの定義

  1. EBS AsserterのWebLogicコンソールにログインし、Data Sourcesを選択します。
  2. Newをクリックし、Generic Data Sourceを選択します。
  3. 以下のデータベース詳細を入力してNextをクリックします。
    • Name: EBSDBbridge.propertiesファイル内のebs.ds.nameと同じ名前にする必要があります)
    • JNDI Name: EBSDB
    • Database Type: Oracle
    • Database Driver: *Oracle's Driver (Thin) for Instance connections; Versions:Any
  4. 以下のデータベース接続詳細を入力します。
    • Database Name: EBSDB
    • Host Name: ebs.example.com
    • Port: 1521
    • Database Username: EBSASSERTER
    • Password: ユーザーのパスワードを入力します。
  5. ドライバクラス名としてoracle.apps.fnd.ext.jdbc.datasource.AppsDataSourceを選択します。
  6. Propertiesで以下の詳細を更新します。
 user=IDETITYADMIN
 dbcFile=/u01/app/SID/ebssdk/EBSDB_ebsasserter.example.com.dbc
  1. Test Configurationをクリックします。

WebLogicサーバーへのEBS Asserterのデプロイ

  1. EBS AsserterのWebLogicコンソールにログインし、Lock & Editをクリックします。
  2. Deploymentsをクリックし、Installを選択します。
  3. ebs.warファイルを選択してNextをクリックします。
  4. Install this deployment as an applicationを選択してNextをクリックします。
  5. ターゲットサーバーEBSAsserter_serverを選択してNextをクリックします。
  6. デフォルト値を受け入れてFinishをクリックします。
  7. Activate Changesをクリックします。

8. EBSプロファイルを更新する

以下のEBSプロファイルを更新します。

  • Application Authenticate Agent: https://ebsasserter.example.com:7002/ebs
  • Oracle Applications Session Cookie Domain (ICX_SESSION_COOKIE_DOMAIN): DOMAIN
  • Applications SSO Type: SSWA_SSO
  • FND_SEC_ALLOW_UNRESTRICTED_REDIRECT: Yes

9. 再起動とテスト

EBSサービスを再起動し、SSOログインが正常に機能することをテストします。

まとめ

以上の手順により、Oracle IDCSを使用してEBSにSSO機能を実装でき、Active Directory、EBS、IDCS間のシームレスな統合が実現します。クラウドベースのアイデンティティ管理によって、運用負荷を軽減しながら安全かつ効率的な認証基盤を構築できます。

ご意見やご質問がある場合は、フィードバックタブをご利用ください。また、私たちとの対話も歓迎します。

  1. RobomongoでObjectRocketのMongoDBインスタンスを可視化・管理する方法

    MongoDB Inc.はバージョン2.6のリリースで数多くの優れたエンタープライズ向け機能を導入しましたが、データベースを管理するためのデスクトップアプリケーションだけは依然として提供されていませんでした。そこで登場するのが、クロスプラットフォーム対応のオープンソースMongoDB管理ツール「Robomongo」です。本記事では、RobomongoをObjectRocketのMongoDBインスタンスと統合する手順をわかりやすく解説します。事前準備:必要な情報を控えておくまず、ObjectRocketのコントロールパネルから以下の情報をメモしておきましょう。データベース接続文字列(SSL接続

  2. ACLSyncで実現するアクセス制御リスト(ACL)管理の自動化

    アクセス制御リスト(ACL)の管理が、これまでよりはるかに簡単になりました。ObjectRocketでは、セキュア・バイ・デフォルトのアプローチの一環として、すべてのインスタンスに対するネットワークアクセス制御リスト(ACL)エントリの登録を必須としています。ObjectRocketのACLはWeb UIとAPIのどちらからでも管理できますが、大規模かつ動的なアプリケーション環境をお持ちのお客様からは、より手軽にACLを運用できる方法のご要望をいただいておりました。本日、そのご要望にお応えする新機能「ACLSync」を発表いたします。ACLSyncは、お客様の環境のIPアドレスとObjectR