ノート:

デバイス・コード・フローを使用したOCI IAMでのExcelからコンポーネントへのインタフェース・ユーティリティSSOの有効化

イントロダクション

PeopleSoftのExcelからコンポーネントへのインタフェース(ExcelからCI)ユーティリティは、非常に重要なツールとして機能するため、ユーザーは標準のユーザー名とパスワード認証を使用して、Microsoft ExcelスプレッドシートからPeopleSoftデータベースにデータをシームレスにインポートできます。各ソース・ワークブックは、各トランザクションに不可欠なビジネス・ロジックを実行するワークシートとExcel Visual Basicコード・モジュールの両方で構成されています。詳細は、Excel-to-Componentインタフェース・ユーティリティの理解を参照してください。

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)の急速な進歩により、シングル・サインオン(SSO)をサポートするPeopleSoftなどのアプリケーションの需要がますます高まりました。この進化は、合理化されたユーザー・エクスペリエンス、強化されたセキュリティ、および複数のプラットフォームにわたる簡略化されたアクセスの必要性を反映しており、ユーザーは堅牢な認証プロトコルを維持しながらシームレスにナビゲートできます。

OCI IAMは、ユーザーとロールの管理、ユーザーのフェデレーションとプロビジョニングの促進、およびOracle SSO構成とSecurity Assertion Markup Language (SAML)/OAuthベースのアイデンティティ・プロバイダ(IdP)の管理によるセキュアなアプリケーション統合の実現のための堅牢なフレームワークとして機能します。特に、Oracle Identity Domainsアプリケーション・ゲートウェイは、PeopleSoftなどのヘッダーベース認証を利用するアプリケーションのシングル・サインオン(SSO)をサポートします。詳細は、OCI IAMアイデンティティ・ドメインを使用したPeopleSoftアプリケーションのシームレスな認証の構成を参照してください。

このチュートリアルでは、従来のExcelからCIシートへの変換について検討し、標準認証プロトコルをサポートするように最新化します。OCI IAM SSOを使用してユーザーを認証する方法について詳しく説明します。これにより、これらの拡張スプレッドシートを介してシームレスなデータ・アップロードが可能になります。

PeopleSoft OCI IAMとのSSO統合

PeopleSoftは、リバース・プロキシとして機能するアプリケーション・ゲートウェイを介してSSO用のOCI IAMと統合されます。PeopleSoft WebインタフェースへのHTTPリクエストをインターセプトし、ユーザーがログインして認可されるようにします。OCI IAMアイデンティティ・ドメインは、PeopleSoftアプリケーションの認証を管理します。

デバイス・コード・フローのOCI IAMサポートの概要

デバイス・コード・フローにより、Webブラウザがないデバイスまたはオペレーティング・システムでのユーザー認証が可能になります。この方法により、ユーザーは、コンピュータや携帯電話などの別のデバイスを使用して対話的にサインインできます。次の図は、デバイス・コード・フローの動作を示しています。

デバイス・コード・フロー

デバイス・コード・フローおよびOCI IAM内のその構成の詳細は、「機能と利益のためのIDCS OAuthデバイス・フローの使用」および「デバイス・コード付与タイプ」を参照してください。

さらに、デバイス・コード・フローはMicrosoft Excelスプレッドシートと互換性があることを理解しています。詳細は、「Excel、OAuth 2.0およびデバイス・コード・フロー」を参照してください。デバイス・コード・フローをサポートするために、従来のExcel to CIスプレッドシートを拡張します。まず、OCI IAMで機密アプリケーションを作成して、この統合を容易にします。

目的

前提条件

タスク1: デバイス・コード・フローの機密アプリケーションの作成

許可される付与タイプ「デバイス・コード」でSSOのPeopleSoftと統合されているOCI IAMアイデンティティ・ドメインの下に機密アプリケーションを登録します。

  1. OCIコンソールにログインし、「アイデンティティ・ドメイン」「ドメイン情報」をクリックし、「アイデンティティ・ドメインURL」をコピーします。

    ドメインURL

    ノート:ドメインURLの最後から:443を除外します。この情報はタスク6で必要になります。

  2. ナビゲーション・メニューに移動し、「アプリケーション」をクリックします。

    追加申請

  3. 「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。

    create-confidential-application

  4. アプリケーションの「名前」を入力し、「次へ」をクリックします。

    app-name

  5. 「後でスキップ」「許可された付与タイプ」として「デバイス・コード」を選択し、「次へ」をクリックします。

    権限タイプ

  6. 終了」をクリックします。

    終了

  7. 「アクティブ化」をクリックして、アプリケーションをアクティブ化します。

    アクティブ化

  8. 詳細な構成で使用するには、「クライアントID」および「クライアント・シークレット」をメモします。

    クライアント-ID- シークレット

タスク2: デバイス・コード・フローを使用したExcelからCIおよびOCI IAMアーキテクチャ

デバイス・コード・フローを使用して、PeopleSoftデータベースにデータを送信するステップ。

  1. デバイス・コード・フローの開始:ユーザーがPeopleSoftデータベースにデータを送信しようとすると、Excelシートによってデバイス・コード・フローが開始されます。

  2. ユーザー・コードの表示: 6文字のユーザー・コードがユーザーに表示されます。このコードは、アクセス・トークンの取得で将来使用するためにコピーする必要があります。

  3. ブラウザ認証:ユーザー・コードが記録されると、ExcelシートによってデフォルトのWebブラウザが自動的に開き、ユーザーがログインするように求められます。セッションがすでにアクティブになっている場合、ユーザーは自動的にログインします。

  4. ユーザー・コードの入力:ログインに成功し、多要素認証(MFA)要件を完了すると、ブラウザは、以前にコピーしたユーザー・コードを入力するようユーザーに求めます。

  5. アクセス・トークン発行:ユーザー・コードを正常に送信すると、アクセス・トークンがExcelシートに発行され、PeopleSoftデータベースにデータを送信できるようになります。

次の図は、より詳細なデバイス・コード・フローを示しています。

フロー・ダイアグラム

このプロセスを容易にするために、VBコードの変更および認証およびデータ発行モジュールの拡張に進みます。

タスク3: デバイス・コード・フローを使用したログイン用のVBコードの更新

ExcelToCI Sheets_ExcelToCI2007-AppG_SampleFile.zipからExcel to CIスプレッドシートのコピーをダウンロードし、元のExcel to CIスプレッドシートがあるローカル・システムに保存します。Excel to CIを適切に機能させるには、フォルダに依存ファイルRelLangMacro.xlaも含める必要があります。

  1. Excel to CIスプレッドシートを開き、PeopleSoftアプリケーション・ゲートウェイの詳細で「接続情報」シートを更新します。次の情報を入力します

    • Web Server Machine Name
    • プロトコル
    • HTTPポート

    接続情報

  2. 「開発者」および「Visual Basic」をクリックして、MicroSoft Visual Basic for Applicationsを開きます。「モジュール」をクリックします。

    モジュール

  3. 「モジュール」で、「ログイン」モジュールを展開し、タスク1およびOCI IAMドメインURLで作成された機密アプリケーションのクライアントIDおよびクライアント・シークレットを次のファンクションで更新して、ファイルを保存します。

    ノート:スプレッドシートには、詳細を追加する場所に役立つコメントがあります。

    1. Public Function getLoginInformation
    2. Public Function makeInstrospectRequest
    3. Public Function makeIDCSRequest

    ノート:

    • 概念実証:このシートは、Excel to CIがPeopleSoftデータベースにデータを送信するためのデバイス・コード・フローをサポートできることを示す概念実証として機能します。

    • コード品質:コードは、VBコーディングのベスト・プラクティスに準拠していない場合があります。本番環境にデプロイする前に、お客様側で徹底的なテストを行うことを強くお薦めします。

    • データ発行テスト:スプレッドシートは、データ発行のユース・ケースについてテストされています。他の機能のユーザー名とパスワード認証がデフォルトの場合、VBモジュールを変更して、機能向上のためにデバイス・コード・ロジックを組み込むことができます。

    • 参照チェック:さらに、Microsoft Visual Basic for Applicationsページの「ツール」の下にあるExcel to CI参照をレビューして、次のスクリーンショットと一致していることを確認します。

      参照

タスク4: デバイス・コード・フローを使用したデータ・アップロードのテスト

  1. 「データ入力」にサンプル・データを追加し、「アドイン」「送信用にデータをステージング」をクリックします。

    サンプル・データ

  2. 「ステージングおよび発行」シートでは、PeopleSoftデータベースに送信する新しいデータ・エントリを表示できます。「アドイン」および「データの送信」をクリックします。

    データの送信

  3. Excelシートでデバイス・コード・フローが開始され、「ユーザー・コード」が表示されます。これをノートにとります。「OK」をクリックすると、OCI IAMログイン・ページにリダイレクトされます。

    設備コードの開始

    ユーザー・コード

  4. SSO資格証明を使用してOCI IAMにログインします。

    フェデレーテッド・ログイン

  5. 「コード」にユーザー・コードを入力し、「送信」をクリックします。

    ユーザー・コードの入力

  6. ユーザー・コードが正しい場合は、アプリケーションへのアクセスを確認する「おめでとうございます」画面が表示されます。

    アクセスが許可されました

  7. アクセス・トークンはExcelシートに戻され、ExcelシートはPeopleSoftデータベースにデータを送信するために使用されます。データ送信を確認するデータ・エントリに対して「OK」が表示されます。

    送信されたデータ

    シートには、次の実行のアクセス・トークン詳細が格納され、アクセス・トークンが「アクティブ」でないかぎり、「デバイス・コード・フロー」を通過するように要求されることはありません。

Excel to CIシートでの拡張の機会

承認

その他の学習リソース

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

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