ノート:

OCI IAMアイデンティティ・ドメインを使用したPeopleSoftアプリケーションのシームレス認証の構成

イントロダクション

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)アイデンティティ・ドメインは、包括的なIdentity-as-a-Service (IDaaS)ソリューションで、様々なIAMユースケースおよびシナリオに対応するために使用できます。OCI IAMを使用して、多数のクラウドおよびオンプレミス・アプリケーションにわたるユーザーのアクセスを管理し、セキュアな認証、権限の管理の容易さ、エンド・ユーザーのシームレスなSSOを実現できます。また、ビジネス・パートナのサプライ・チェーンまたは注文システムにアクセスできるようにアイデンティティ・ドメインを構成することもできます。または、アイデンティティ・ドメインを使用して、コンシューマ向けアプリケーションのIAMを有効にし、コンシューマ・ユーザーが自己登録、ソーシャル・ログオンまたは使用条件の同意(あるいはその両方)を実行できるようにすることもできます。

Oracle PeopleSoftアプリケーション(オンプレミスまたはOCI)間のシームレスなサインイン・エクスペリエンスを提供する必要がある場合は、OCI IAMアイデンティティ・ドメインを使用してシングル・サインオンを有効にします。OCI IAMアイデンティティ・ドメインには、プロキシ構成にデプロイされたNginxベースのソフトウェア・アプライアンスであるアプリケーション・ゲートウェイと呼ばれる機能があります。セキュリティを強化するために、サインオン・ポリシーでアダプティブ・セキュリティを利用して、許可または拒否アクセスを強制したり、より厳格なMFAメカニズムに認証をステップアップできます。

対象読者

このチュートリアルは、OCI IAM管理者を対象としています。IAMの概念など、仮想環境でのコンピュート、ネットワーキングおよびストレージに精通していることが前提となります。OCI IAMの知識が必要です。

目標

OCI IAMアイデンティティ・ドメインを使用して、PeopleSoftアプリケーションのシームレス認証を構成します。

前提条件

アーキテクチャ

このアーキテクチャ図は、OCI IAMアイデンティティ・ドメイン、アプリケーション・ゲートウェイおよびOracle PeopleSoftアプリケーション間のフローを示しています。

アプリケーション・ゲートウェイはリバース・プロキシとして機能します。PeopleSoft Webユーザー・インタフェースへのすべてのHTTPリクエストをインターセプトし、ユーザーがログインしてアプリケーションにアクセスする権限があることを確認します。OCI IAMアイデンティティ・ドメインは、PeopleSoftアプリケーションの認証を処理します。

ノート: アプリケーション・ゲートウェイは、Oracle PeopleSoftアプリケーションと同じネットワーク・インフラストラクチャにデプロイされます。これらの2つのコンポーネントは、互いにネットワークを可視化する必要があります。HTTPリソース(主にWeb UI)へのアクセスのみが、アプリケーション・ゲートウェイによって保護されます。

写真1

次のステップでは、様々なコンポーネント間の認証フローについて説明します。

  1. Webブラウザでは、ユーザーは、アプリケーション・ゲートウェイによって公開されたURLを介してPeopleSoftアプリケーションへのアクセスをリクエストします。
  2. アプリケーション・ゲートウェイは、リクエストをインターセプトし、ユーザーが以前にサインインしていないことを確認してから、ブラウザをOCI IAMアイデンティティ・ドメインにリダイレクトします。
  3. OCI IAMアイデンティティ・ドメインには、サインイン・ページが表示されます。
  4. ユーザーは、アイデンティティ・ドメインへのサインインに必要な資格証明を指定します。
  5. 認証が成功すると、OCI IAMアイデンティティ・ドメインはユーザーのセッションを作成し、アプリケーション・ゲートウェイにSecurity Assertion Markup Language (SAML)トークンを発行します。
  6. アプリケーション・ゲートウェイは、SAMLトークンを受け取り、ユーザーを識別し、リクエストにヘッダー変数を追加し、リクエストをPeopleSoftアプリケーションに転送します。
  7. PeopleSoftアプリケーションは、ヘッダー変数を受け取り、ユーザーを識別し、PeopleSoftユーザー・セッションを開始します。

タスク1: アプリケーション・ゲートウェイ・サーバーの設定

ソフトウェア・アプライアンス・アプリケーション・ゲートウェイは、OCI IAMアイデンティティ・ドメイン・コンソールから圧縮(.zip)ファイルにダウンロードされます。このファイルには、アプリケーション・ゲートウェイ・サーバーのインストールに使用する必要があるOpen Virtual Appliance (.ova)ファイルが含まれています。

アプリケーション・ゲートウェイ・サーバーは、このドキュメントに示されているステップを使用して、OCI上のコンピュート・インスタンス、またはネットワーク環境でホストされている仮想マシン、またはローカル・マシンで実行されているOracle VM Virtual Box Managerに簡単にインストールできます。

ノート: アプリケーション・ゲートウェイは、Dockerを使用してデプロイすることもできます。このドキュメントでは、アプリケーション・ゲートウェイのDockerコンテナを作成および実行する方法について説明します。

タスク2: PeopleSoftアプリケーションのOCI IAMアイデンティティ・ドメインでのエンタープライズ・アプリケーションの作成

次のステップでは、アプリケーション・ゲートウェイによって公開されているURLを使用して、PeopleSoftアプリケーションのOCI IAMにエンタープライズ・アプリケーションを作成します。

  1. OCIテナンシにログインし、それぞれのアイデンティティ・ドメインに移動します。

  2. 「アプリケーション」をクリックし、「アプリケーションの追加」タブに移動し、「エンタープライズ・アプリケーション」を選択してワークフローを起動します。

    画像2

  3. アプリケーションの「名前」および「アプリケーションURL」を指定します。

    写真3

    ノート:

    • アプリケーションURLはアプリケーション・ゲートウェイによって公開されるため、IPアドレスおよびポートはアプリケーション・ゲートウェイ・サーバーです。
    • このチュートリアルでは、PeopleSoft ERPアプリケーションを使用するため、エンドポイント/psc/peoplesoft01_22/EMPLOYEE/ERP/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL?を使用します。
    • PeopleSoft HCMの場合は、/psc/peoplesoft01_22/EMPLOYEE/HRMS/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL?を使用します。
  4. 「自分のアプリケーションに表示」を選択して、割り当てられたユーザーの「自分のアプリケーション」ページにアプリケーションを表示します。割り当てられたユーザーのみにアプリケーションへのアクセスを許可する場合は、「このアプリケーションをユーザーに付与する必要があります」を選択します。

    写真4

  5. 「OAuthの構成」セクションで「後でスキップ」を選択します。

    写真5

  6. 「シングル・サインオンの構成」セクションで、「リソースの追加」をクリックして次のリソースを追加します。

    写真6

    写真7

  7. リソースを追加したら、「管理対象リソースの追加」をクリックし、「フォームまたはアクセス・トークン」として「認証方法」を選択して、各リソースの認証ポリシーを作成します。

    • 前述のヘッダーの名前と値を追加します。

    • Require secure cookiesおよび Add managed resourcesオプションが有効になっていることを確認します。

      写真8

      写真9

      ノート: 認証ポリシーは、エンタープライズ・アプリケーション・リソースの保護に使用する認証方法と、App Gatewayがアプリケーションに転送するリクエストにヘッダー変数を追加するかどうかを定義します。

  8. 設定が終了したらアプリケーションをアクティブ化し、適切なusersまたはgroupsに割り当てます。

    写真10 写真11

タスク3: OCI IAMアイデンティティ・ドメインでのアプリケーション・ゲートウェイ・サーバーの登録

アプリケーション・ゲートウェイを構成する前に、デプロイされたアプリケーション・ゲートウェイ・サーバーをアイデンティティ・ドメインに登録する必要があります。ホストを追加し、ホストをドメインのPeopleSoftエンタープライズ・アプリケーションに関連付けます。このアプリケーションは、アプリケーション・ゲートウェイによって保護されます。

  1. OCIアイデンティティ・ドメイン・コンソールで、「セキュリティ」をクリックし、「アプリケーション・ゲートウェイ」をクリックして、「アプリケーション・ゲートウェイの作成」をクリックします。

    写真12

  2. アプリケーション・ゲートウェイの名前を指定し、「次」をクリックします。

    写真13

  3. 「ホストの追加」ペインで、「ホストの追加」をクリックします。

    • 「ホストの追加」ダイアログで、「ホスト識別子」フィールドに名前を指定します。

    • アプリケーション・ゲートウェイ・サーバーがHTTPリクエストに応答する「ホスト」および「ポート」の値を入力します。

    • 「SSL有効」チェック・ボックスを選択し、「ホストの追加」をクリックして、アプリケーション・ゲートウェイがHTTPリクエストをセキュア・モード(HTTPS)でリスニングできるようにします。

      写真14

      ノート: 「追加プロパティ」テキスト領域は、アプリケーション・ゲートウェイ・サーバーが使用する証明書キー・ペア、SSLのプロトコルおよび暗号とともに指定する必要があります。/etc/ssl/private/server.crtは、アプリケーション・ゲートウェイ・サーバー内の証明書ファイルのフルパスです。/etc/ssl/private/server.keyは、その証明書ファイルの秘密鍵です。アプリケーション・ゲートウェイのバイナリ・ファイルのインストール後に、両方のファイルをアプリケーション・ゲートウェイ・サーバーにアップロードする必要があります。

      ssl_certificate /scratch/oracle/cloudgate/home/bin/server.crt;
      ssl_certificate_key /scratch/oracle/cloudgate/home/bin/server.key;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers HIGH:!aNULL:!MD5;
      
  4. アプリケーションの追加タブで、アプリケーションの追加をクリックします。保護するエンタープライズ・アプリケーションを選択し、前に追加したホストを選択します。「リソース接頭辞」フィールドで、/を使用し、オリジン・サーバーでPeopleSoftアプリケーションのベースURLを指定します。

    写真15

    ノート: 「リソース接頭辞」/は、ルート・パス後のすべてのリクエストが、選択したエンタープライズ・アプリケーションに転送されることを示します。アプリケーションに直接アクセスできず、Webプロキシを介してアクセス可能な場合は、「オリジン・サーバー」フィールドにWebプロキシのURLを入力します。

  5. 「アプリケーション・ゲートウェイのアクティブ化」をクリックし、アプリケーション・ゲートウェイの構成に使用されるクライアントIDおよびクライアント・シークレットをメモします。

    写真16

タスク4: アプリケーション・ゲートウェイの構成

アプリケーション・ゲートウェイ・サーバーの準備ができたら、SSHクライアントを介してデフォルトの資格証明を使用して簡単にアクセスできます。

Localhost login: oracle
Password: cloudgateR0X!

ノート: 最初のログイン時にプロビジョニングされたパスワードを変更する必要があります。

アプリケーション・ゲートウェイ・サーバーにログインしたら、次のステップを実行します。

  1. sudo yum updateinfo list security allコマンドを実行し、sudoパスワードを指定します。このコマンドは、アプリケーション・ゲートウェイOracle Linuxサーバーのセキュリティ・エラッタをリストします。最新バージョンのパッケージでセキュリティ関連のエラッタが使用可能なすべてのパッケージを更新するには、sudo yum --security updateと入力します。

    イメージ 17 イメージ 18

  2. telnet <idcs-tenant>.identity.oraclecloud.comコマンドを実行して、アプリケーション・ゲートウェイ・サーバーがOCI IAMアイデンティティ・ドメイン・インスタンスにアクセスできることを確認します。telnetがインストールされていない場合は、sudo yum install telnet-server telnetコマンドを使用してインストールしてから再試行してください。

    イメージ 19 イメージ 20

  3. CSRを生成し、CAによって署名され、アプリケーション・ゲートウェイをSSLモードで構成します。テスト目的またはPOCでは、自己署名証明書を使用できます。生成するステップを次に示します。

    openssl genrsa -aes128 -out server.key 2048
    openssl rsa -in server.key -out server.key
    openssl req -new -days 3650 -key server.key -out server.csr
    openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
    

    イメージ 21

  4. 更新の適用後にアプリケーション・ゲートウェイ・サーバーを再起動します。

  5. nslookup <your_identity_cloud_service_domain>コマンドを実行し、サーバーIPアドレスをコピーして、/usr/local/nginx/conf/nginx-cg-sub.confファイルのリゾルバ・エントリを更新します。

    イメージ 22 イメージ 23

  6. /scratch/oracle/cloudgate/ova/bin/setupフォルダに移動し、cloudgate-envファイルを編集して次のパラメータを含めます。

    a.IDCS_INSTANCE_URL: OCI IAMアイデンティティ・ドメインURLのURL。

    b.CG_APP_TENANT: アイデンティティ・ドメイン・インスタンスのテナント名。たとえば、idcs-123456789です。

    c.CG_APP_NAME: OCI IAMアイデンティティ・ドメインへのアプリケーション・ゲートウェイ・サーバーの登録中に収集したクライアントID値。

    d.CG_APP_SECRET: OCI IAMアイデンティティ・ドメインへのアプリケーション・ゲートウェイ・サーバーの登録中に収集したクライアント・シークレット値。

    e.CG_CALLBACK_PREFIX: アプリケーション・ゲートウェイがSSLモード(HTTPS)で構成されている場合は、値をhttps://%hostid%に設定します。それ以外の場合は、このパラメータの値としてhttp://%hostid%を使用します。

    イメージ 24 イメージ 25

  7. /scratch/oracle/cloudgate/ova/bin/setupフォルダに移動し、./setup-cloudgateコマンドを実行します。プロンプトが表示されたら、yと入力して構成を続行します。クラウド・ゲート構成に使用されるすべてのパラメータを確認して確認します。

    イメージ 26 イメージ 27

ノート: アプリケーション・ゲートウェイの構成中に発生する可能性がある一般的な問題は、このドキュメントを参照することで簡単に解決できます。

タスク5: Oracle PeopleSoftアプリケーション構成

管理資格証明を使用してPeopleSoftコンソールにログインし、ドキュメントに記載されているステップを実行してSSO用のPeopleSoftアプリケーションを構成します。

タスク6: PeopleSoftアプリケーションへのアクセスのテスト

OCI IAMアイデンティティ・ドメインと通信するようにアプリケーション・ゲートウェイ・サーバーを構成し、サーバーを起動したら、エンタープライズ・アプリケーションへのアクセスをテストします。アプリケーション・ゲートウェイはPeopleSoftアプリケーションをプロキシするため、アプリケーション・ゲートウェイのベースURLを使用して、PeopleSoftアプリケーションの実際のURLではなくアプリケーションにアクセスします。

  1. 新しいWebブラウザを開き、アプリケーション・ゲートウェイURLを使用してアプリケーションにアクセスします。この例では、URLはhttps://##.##.##.##:4443/psc/peoplesoft01_22/EMPLOYEE/ERP/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL?です。

  2. アプリケーション・ゲートウェイはリクエストをインターセプトし、OCI IAMアイデンティティ・ドメインと通信して、URLがエンタープライズ・アプリケーションに対応しているかどうかを確認します。この例では、PSFTが登録され、このエンタープライズ・アプリケーションの認証ポリシーは「フォームまたはアクセス・トークン」です。

  3. アプリケーション・ゲートウェイは、リクエストにAuthorization Bearerヘッダーまたはアイデンティティ・ドメイン・セッションCookieに有効なアイデンティティ・ドメイン・アクセス・トークンが含まれているかどうかを検証し、ユーザーがすでにOCI IAMアイデンティティ・ドメインにサインインしていることを示します。

  4. ユーザーがOCI IAMアイデンティティ・ドメインにサインインしていない場合、アプリケーション・ゲートウェイはユーザー・ブラウザをOCI IAMアイデンティティ・ドメインのサインイン・ページにリダイレクトします。

  5. ユーザーがサインインしている場合、アプリケーション・ゲートウェイは、ヘッダー変数およびCookieをリクエストに追加し、リクエストをPeopleSoftアプリケーションに転送します。

  6. アプリケーションはリクエストを受信し、ヘッダー変数を使用してユーザーを識別し、/psc/peoplesoft01_22/EMPLOYEE/ERP/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL?ページのコンテンツを表示します。

謝辞

作成者 - Gautam Mishra (シニア・クラウド・エンジニア)

貢献者 - Deepthi Shetty (Manager Cloud Engineer)、Aqib Bhat (シニア・クラウド・エンジニア)

その他の学習リソース

docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。