Azure ADとOracle Access Manager for Oracle E-Business Suiteの間のSSOの設定について

顧客がMicrosoft AzureでOracleアプリケーション(Oracle E-Business Suiteなど)を実行したいが、オンプレミスOracle Access Managerをサービス・プロバイダとして使用する場合は、Azure ADとオンプレミスOAMの間でフェデレーテッドSSOが必要です。

他のクラウド・アプリケーションと連携する場合、クラウド内で最も統合サポートが大きいため、必要なフェデレーテッドSSOアーキテクチャを提供するようにSAML 2.0を構成するのが理想的なソリューションです。

始める前に

Oracle Cloudのデータベースに接続されたMicrosoft Azureでアプリケーションを実行する前に、Oracle CloudおよびMicrosoft Azureにデプロイされたワークロードを接続するためのネットワーキング・アーキテクチャを理解します。

Oracle CloudとMicrosoft Azureの相互接続について学習を参照してください。

アーキテクチャ

このソリューションは、Oracle Access ManagerとE-Business Suite間のすでに文書化されたオンプレミス統合に対するハイブリッド・アプローチのアーキテクチャを提供します。

これは、次の理由によりハイブリッド・アーキテクチャと見なされます。
  • AzureにOracle E-Business Suiteを配置します。
  • Azure Active Directory (Azure AD)をフェデレーテッド・アイデンティティ・プロバイダ(IDP)として使用して、ユーザーをE-Business Suiteに対して認証します。
  • Oracle Access Managerは、バックエンドLDAPサーバー(Oracle Unified DirectoryまたはOracle Internet Directory)とともにオンプレミスでサービス・プロバイダ(SP)として実行します。
ebiz-architecture.pngの説明が続きます
図ebiz-architecture.pngの説明

このアプローチにより、インフラストラクチャの一部をクラウドに移行するための一歩近づくことができます。E-Business Suiteのみで停止する必要はありません。Oracle Access Manager、Oracle Unified Directory、またはOracle Internet Directoryもクラウドに移動できます。

このアーキテクチャのもう1つの重要な部分は、ユーザー・アカウントのプロビジョニングです。この論文では、Azure ADがユーザー・アカウントの真の情報源であると仮定しています。つまり、Oracle Directory Integration Platformの同期などのプロビジョニング方法、Microsoft Identity ManagerやOracle Identity Managerなどのアイデンティティ管理ツールを使用して、Oracle Access Manager LDAPサーバー(Oracle Unified DirectoryまたはOracle Internet Directory)にユーザー・アカウントをプロビジョニングする必要があります。これにより、双方向同期サービスとして使用されるOracle Directory Integration Platformは、そのアカウントをE-Business Suiteデータベースに同期できます。SSOにとって非常に重要な特定の主要な属性については、このペーパーの後半で説明します。

コンポーネントの理解

上の図に示すように、このハイブリッド・アーキテクチャのコンポーネントについて、次の表で説明します。

データ・センター コンポーネント
Azure
  • Azure AD
  • Oracle E-Business Suite 12.2.x
  • Oracle HTTP Server 11gまたは12c
  • Oracle WebGate 11gまたは12c
  • Oracle AccessGate 11gまたは12c
Oracle Cloud Infrastructure Oracle E-Business Suite Database 12.2以上
顧客オンプレミス
  • Oracle Access Manager 11gまたは12c
  • Oracle Unified Directory、Oracle Internet Directory 11gまたは12c
  • Oracle Directory Integration Platform 11gまたは12c
  • Oracle HTTP Server 11gまたは12c (オプション)

プロビジョニングおよびフェデレーション・フローの理解

前述の図は、このアーキテクチャに定義されているプロビジョニング・フローとフェデレーション・フローの組合せを示しています。

このプロビジョニング・フロー(トランザクション1-3で後述)は、Azure ADでユーザー・アカウントが作成され、Oracle Access Manager LDAPサーバーにプロビジョニングされ、Oracle Directory Integration Platformを使用してE-Business Suiteデータベースに同期される方法の1つの例を示しています。フェデレーション・フローはトランザクション4-10に示されています。その他のフェデレーション・フローの詳細は、Azure ADおよびE-Business Suiteフェデレーション・フローの理解を参照してください。

  1. ユーザー・プリンシパル名(UPN)を含む初期ユーザー・アカウントは、Azure ADからOracle Access Manager LDAPサーバー(Oracle Unified DirectoryまたはOracle Internet Directory)にプロビジョニングされます。このプロビジョニングは、Oracle Directory Integration Platformの責任ではなく、このプレイブックの範囲外の何らかのプロビジョニングによって行われます。
  2. Oracle Directory Integration Platformは、Oracle Unified Directoryの変更ログをリスニングし、ユーザー・アカウントをE-Business Suiteデータベースにプロビジョニングします。
  3. Oracle Directory Integration Platformは、ユーザー・アカウントをプロビジョニングし、UIDをUSER_NAMEに、orclguidをUSER_GUIDにE-Business Suiteデータベースにマッピングします。
  4. ユーザーはE-Business Suiteアクセスを要求し、WebGateはOAMAuthCookieトークンをチェックします。
  5. WebGateは、ユーザーにOAMAuthCookieトークンがないことを検証するため、一連のアクションについてOracle Access Managerにチェックします。
  6. Oracle Access Managerは、フェデレーテッド認証のためにユーザーをAzure ADにリダイレクトするようにWebGateに指示し、Azure ADはユーザーにログインを要求します。
  7. Azure ADは、ユーザーの資格証明を検証してから、ユーザー・マッピングとしてmail属性を使用してSAML 2.0アサーションをOracle Access Managerに送信します。
  8. Oracle Access ManagerはSAML 2.0アサーションを受け入れ、UPNを使用してOracle Unified Directory内で一致するユーザーを返します。レスポンスでは、ポリシーで定義されたヘッダーに、Oracle Unified DirectoryからUSER_NAME (uid)およびUSER_ORCLGUID (orclguid)が提供されます。
  9. WebGateは、ユーザーをE-Business Suiteにリダイレクトし、USER_NAMEおよびUSER_ORCLGUIDをヘッダーとしてAccessGateに送信します。
  10. AccessGateは、E-Business SuiteデータベースのUSER_NAMEおよびUSER_ORCLGUIDを参照して、ユーザーが存在することを確認します。成功すると、独自のセッションが設定され、E-Business Suiteポータル・ページがユーザーに返されます。

必須サービスおよびロールについて

このソリューションには、これらのサービス内の特定のサービスとロールの組合せが必要です。

次のサービスおよびアプリケーションが必要です。
  • Oracle Cloud Infrastructure
  • Oracle Access Manager
  • Azureにデプロイされた完全に機能するOracle E-Business Suiteインスタンス
  • Microsoft Azure AD
サービス名: ロール 必要...
Oracle Cloud Infrastructure: 管理者 アイデンティティ・リソースの作成および管理
Oracle Access Manager: 管理者 オンプレミスでのユーザー設定の構成および保守
E-Business Suite: 管理ロール(データベース管理者およびLDAP管理者を含む) E-Business Suiteの構成とセキュリティ設定の変更
Azure AD: Azure ADの貢献者以上の特権アカウント Azureサブスクリプションを取得するには
Azure AD: Azureアプリケーションまたはグローバル管理者 構成を処理し、Azure側で設定します