Oracle APEXとの統合の構成

前提条件

Oracle APEX Orchestrated Systemをインストールおよび構成する前に、次の前提条件およびタスクを考慮する必要があります。

始める前に

Oracle APEXのOracle REST Data Services (ORDS) RESTモジュールの構成を開始する前に、次の要件が満たされていることを確認してください。

  • ORDS Web Developer UIへのアクセス: ORDS Web Developer UIへのアクセス権があることを確認します。このUIには、https://<hostname>/ords/sql-developer形式のURLを介してアクセスできます。
  • 管理権限: 管理権限(ADMINなど)を持つアカウント、または次のことを認可されたユーザーを持つアカウントが必要です。
    • データベース・ユーザーを作成および管理します。
    • 必要なRESTロールおよび権限を付与します。
    • ユーザーおよびスキーマのRESTアクセスを有効にします。
  • ORDSモジュール・スクリプトの取得: Oracle ORDSにRESTモジュールを登録するために必要なoracle.ag.sqlスクリプトにアクセスできることを確認します。

    このスクリプトは、https://github.com/oracle/docker-images/tree/main/OracleIdentityGovernance/samples/scripts/Oracle_APEX/1.0にあります。

Oracle APEXのORDS RESTモジュールの構成

すべての前提条件が完了したら、次のステップを実行します。次のステップを実行して、Oracle APEXのORDS RESTモジュールを構成します。

  1. REST対応ORDSユーザー・アカウントの作成
  2. Oracle REST Data Services (ORDS)モジュール・スクリプトのインポート
  3. ORDSモジュールのOAuth 2.0の構成

REST対応ORDSユーザー・アカウントの作成

Oracle Access Governanceでは、サービス操作中にOracle APEXシステムにアクセスするには、ORDSユーザー・アカウントが必要です。SQL Developer Webを使用してRESTモジュールをホストおよび公開するための専用データベース・ユーザーを作成して設定し、外部クライアントがAPIに安全にアクセスできるようにします。

このREST対応データベース・ユーザーは次のことを行います。
  • すべてのRESTモジュールを所有します。
  • RESTful APIコールの実行コンテキストを指定します。
  • 公開されているAPIに関連付けられたプリンシパル・アイデンティティとして機能します。
ノート

RESTモジュールを公開するには、SYSSYSTEM ADMINなどの特権アカウントを使用しないでください。かわりに、RESTモジュール所有者として機能する別のREST対応データベース・ユーザーを常に作成します。

ステップ1: REST対応ORDSユーザー・アカウントの作成

  1. ADMINなどの管理権限を持つアカウントを使用して、ORDS Web Developer UI (https://apex.example.com/ords/sql-developerなど)にログインします。
  2. [ナビゲーション メニュー]アイコンナビゲーション・メニュー・アイコンをクリックし、「管理」「データベース・ユーザー」の順に選択します。
  3. 「+ユーザーの作成」をクリックします。

    「ユーザー」タブが選択された「ユーザーの作成」ページが表示されます。

  4. 次の情報を入力して、REST対応データベース・ユーザーを作成します。
    • ユーザー名: ユーザー名を指定します。
    • パスワード: パスワードを指定します。
    • パスワードの確認: パスワードを確認します。
    • REST、GraphQL、MongoDB APIおよびWebアクセスを有効にします。
  5. 次のロールの「付与されたロール」タブをクリックします。
    接続 「付与済」および「デフォルト」を選択します。
    リソース 「付与済」および「デフォルト」を選択します。
    APEX_ADMINISTRATOR_ROLE 「付与済」および「デフォルト」を選択します。
    ORDS_ADMINISTRATOR_ROLE 「付与済」および「デフォルト」を選択します。
    ノート

    これらのロールは、APEXおよびORDS RESTモジュールを安全に管理するために不可欠です。
  6. 「ユーザーの作成」をクリックします。

ステップ2: REST対応ORDSサービス・ユーザー・アカウントの確認

次のステップを使用して、ORDSユーザーが「現在のユーザー」ページに表示されることを確認します。

  1. [ナビゲーション メニュー]アイコンナビゲーション・メニュー・アイコンをクリックし、「管理」「データベース・ユーザー」の順に選択します。

    「現在のユーザー」ページが表示されます。

  2. 新規ユーザーを検索します。

Oracle REST Data Services (ORDS)モジュール・スクリプトのインポート

Oracle SQL Developerワークスペースを介してoracle.ag.sqlスクリプトをインポートして、Oracle ORDSにRESTモジュールを登録する方法を学習します。

Oracle ORDSでのRESTモジュールの登録

RESTモジュールをOracle ORDSに登録するには、次のステップを実行します。

  1. oracle.ag.sqlスクリプトをダウンロードします: Oracle APEXモジュール・スクリプト
  2. 「REST対応ORDSユーザー・アカウントの作成」の項で作成したREST対応ORDSサービス・ユーザー・アカウントを使用して、ORDS Web Developer UIにログインします。
  3. [ナビゲーション メニュー]アイコンナビゲーション・メニュー・アイコンをクリックし、「SQL」を選択します。

    SQLワークシート・ページが表示され、スクリプトを実行できます。

  4. ダウンロードしたoracle.ag.sqlスクリプト・ファイルをエディタで開き、スクリプトの内容をコピーします。
  5. 「SQLワークシート」ペインで、スクリプトの内容を貼り付けます。
  6. 「Run Statement」アイコンをクリックして、スクリプトを実行します。

    「問合せ結果」ペインに、成功したメッセージが表示されます。

Oracle ORDSでのRESTモジュール登録の確認

RESTモジュールが、表示および実行可能なすべてのテンプレートおよびハンドラに正常に登録されたことを確認するには、次のステップを実行します。

  1. [ナビゲーション メニュー]アイコンナビゲーション・メニュー・アイコンをクリックし、「REST」を選択して、「モジュール」タブをクリックします。
  2. 「リフレッシュ」アイコンをクリックします。

    これで、oracle.ag RESTモジュールがリスト表示されます。

  3. oracle.ag RESTモジュールをクリックして、関連付けられたすべてのテンプレートおよびハンドラが使用可能であることを検証します。
    ノート

    RESTモジュールに関連付けられたテンプレートおよびハンドラの合計数は、oracle.ag RESTモジュールの下に表示されます。テンプレートおよびハンドラの数が0より大きいことを確認する必要があります。
  4. 登録済のRESTモジュール・テンプレート(privilegesなど)をクリックし、ナビゲーション・メニューアイコンをクリックし、「編集」を選択して、それぞれのハンドラを表示します。

    「権限により保護」で、oracle.agが表示されていることを確認します。

  5. 権限が追加されたことをさらに確認するには、「セキュリティ」タブをクリックし、「権限」を選択します。

    「権限」ページに、oracle.ag RESTモジュールがリストされます。

Oracle REST Data Services (ORDS)モジュールのOAuth 2.0クライアント資格証明の構成

OAuth 2.0ベースの認証を構成すると、特定のユーザーまたはクライアントによってRESTモジュールに安全にアクセスできます。

  1. 「REST対応ORDSユーザー・アカウントの作成」の項で作成したREST対応ORDSサービス・ユーザー・アカウントを使用して、ORDS Web Developer UIにログインします。
  2. [ナビゲーション メニュー]アイコンナビゲーション・メニュー・アイコンをクリックし、「REST」を選択します。
  3. 「セキュリティ」タブで、OAuthクライアントを選択します。

    OAuthクライアント・ページが表示されます。

  4. 「+ Create OAuth Client」をクリックして、ORDSにOAuthクライアントを作成します。

    「Create OAuth Client」ページが表示されます。

  5. 「クライアント定義」タブで、次の情報を入力します。
    • Name: クライアントの名前。
    • 付与タイプ: リストから、認可付与タイプとしてCLIENT_CREDを選択します。
    • 説明: クライアントの目的の簡単な説明。
    • サポート電子メール: エンド・ユーザーがサポート・チームにフォーマットで連絡できる電子メール。例: support-team@example.com
    • URIのサポート: これはオプションの属性です。エンド・ユーザーがサポート用にクライアントに連絡できるURIを入力します。例: https:// www.example.com/help/
  6. 「ロール」タブで、「使用可能なロール」リストからRESTfulサービスを選択し、「選択したロール」ペインの下に移動して、クライアントを指定されたロールに関連付けます。
  7. 「許可されるオリジン」タブで、空白のままにします。
  8. 「権限」タブの「使用可能な権限」リストからRESTモジュールoracle.agを選択し、「選択した権限」ペインの下に移動して、保護するORDSモジュールへのアクセス権を付与する権限を割り当てます。
    ノート

    この権限は、oracle.ag.sqlスクリプトを実行するとインポートされ、oracle.ag RESTモジュールおよびそのテンプレートに自動的にマップされます。
  9. 「作成」をクリックします。

    登録された新しいOAuthクライアントがOAuthクライアント・ページに表示され、「認証クライアント」ダイアログ・ボックスに「クライアント・シークレット」の値が表示されます。

  10. 「クリップボードにコピー」アイコンを使用して「クライアント・シークレット」値をコピーし、「OK」をクリックします。
    ノート

    このクライアント・シークレットは再表示されないため、セキュアに保存する必要があります。
  11. OAuthクライアント・ページで、前述のステップで作成したOAuthクライアント・カードを探し、「クリップボードにコピー」アイコンを使用してクライアントIDをコピーします。
    ノート

    「クライアントID」およびクライアント・シークレットの値は、OAuthクライアントのシークレットの資格証明を表します。将来の使用のために、これらの資格証明を安全に保存します。

    RESTクライアントを使用して、保護されたORDS RESTサービス・エンドポイントをテストできるようになりました。

構成

接続の詳細を入力することで、Oracle APEXとOracle Access Governanceの間の接続を確立できます。これを実現するには、Oracle Access Governanceコンソールで使用可能な調整されたシステム機能を使用します。

「Orchestrated Systems」ページに移動します。

Oracle Access Governanceコンソールの「Orchestrated Systems」ページでは、オーケストレート済システムの構成を開始します。

次のステップに従って、Oracle Access Governanceコンソールの「Orchestrated Systems」ページにナビゲートします。
  1. Oracle Access Governanceのナビゲーション・メニュー・アイコンナビゲーション・メニューから、「Service Administration」→「Orchestrated Systems」を選択します。
  2. ワークフローを開始するには、「オーケストレート済システムの追加」ボタンを選択します。

システムの選択

ワークフローの「システムの選択」ステップで、Oracle Access Governanceと統合するシステムのタイプを指定できます。

「検索」フィールドを使用して、名前で必要なシステムを検索できます。

  1. 「Oracle Application Express (APEX)」を選択します。
  2. 「次へ」をクリックします。

詳細の追加

名前、説明、構成モードなどの詳細を追加します。

ワークフローの「詳細の追加」ステップで、オーケストレート済システムの詳細を入力します:
  1. 「名前」フィールドに、接続先のシステムの名前を入力します。
  2. [名称]フィールドにシステムの説明を入力します。
  3. 「次へ」を選択します。

所有者の追加

プライマリ所有者と追加の所有者を編成済システムに追加して、リソースを管理できるようにします。

リソース所有権を関連付けるには、プライマリ所有者と追加所有者を追加します。これにより、これらの所有者は所有するリソースを管理(読取り、更新または削除)できるため、セルフサービスが促進されます。デフォルトでは、リソース作成者はリソース所有者として指定されます。1人のプライマリ所有者と最大20人の追加所有者をリソースに割り当てることができます。
ノート

サービス・インスタンスに対して最初のオーケストレート済システムを設定する場合、「アイデンティティの管理」セクションからアイデンティティを有効にした後にのみ所有者を割り当てることができます。
所有者を追加するには:
  1. 「プライマリ所有者は誰ですか。」フィールドで、Oracle Access Governanceのアクティブ・ユーザーをプライマリ所有者として選択します。
  2. 「他の所有者は誰ですか。」リストで1つ以上の追加所有者を選択します。リソースに最大20人の追加所有者を追加できます。
リストの「プライマリ所有者」を表示できます。すべての所有者は、所有するリソースを表示および管理できます。

アカウント設定

通知設定を含むオーケストレート済システムを設定する際のアカウント設定の管理方法の詳細と、アイデンティティが組織を移動または離れた場合のデフォルト・アクションの概要を示します。

ワークフローの「アカウント設定」ステップで、システムが管理対象システムとして構成されている場合、Oracle Access Governanceでアカウントを管理する方法を入力します:
  1. 権限が要求され、アカウントがまだ存在しない場合は、このオプションを選択して新しいアカウントを作成します。このオプションはデフォルトで選択されています。選択すると、権限が要求されたときにアカウントが存在しない場合、Oracle Access Governanceによってアカウントが作成されます。このオプションをクリアすると、権限はオーケストレート済システム内の既存のアカウントに対してのみプロビジョニングされます。アカウントが存在しない場合、プロビジョニング操作は失敗します。
  2. アカウント作成時の通知電子メールの受信者を選択します。デフォルトの受信者は「ユーザー」です。受信者が選択されていない場合、アカウントの作成時に通知は送信されません。
    • ユーザー
    • ユーザー・マネージャ
  3. 既存のアカウントの構成
    ノート

    これらの構成を設定できるのは、システム管理者によって許可されている場合のみです。グローバル・アカウント終了設定が有効になっている場合、アプリケーション管理者は、調整されたシステム・レベルでアカウント終了設定を管理できません。
    1. 早期終了開始時のアカウントの処理の選択: 早期終了の開始時に実行する処理を選択します。これは、正式な退職日より前にアイデンティティ・アクセスを取り消す必要がある場合に発生します。
      • 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。
        ノート

        特定のオーケストレート済システムでアクションがサポートされていない場合、アクションは実行されません。
      • 無効化: すべてのアカウントを無効化し、Oracle Access Governanceで管理される権限を無効化します。
        • 無効化されたアカウントの権限の削除: 残存アクセス権がゼロであることを確認するには、これを選択して、アカウントの無効化時に直接割り当てられた権限およびポリシーで付与された権限を削除します。
      • アクションなし: アイデンティティにOracle Access Governanceによる早期終了のフラグが付けられている場合、アクションは実行されません。
    2. 退職日のアカウントの処理の選択: 正式な退職時に実行する処理を選択します。これは、正式な退職日にIDアクセスを取り消す必要がある場合に発生します。
      • 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。
        ノート

        特定のオーケストレート済システムで「削除」アクションがサポートされていない場合、アクションは実行されません。
      • 無効化: すべてのアカウントを無効化し、Oracle Access Governanceで管理される権限を無効化します。
        • 無効化されたアカウントの権限の削除: 残存アクセス権がゼロであることを確認するには、これを選択して、アカウントの無効化時に直接割り当てられた権限およびポリシーで付与された権限を削除します。
        ノート

        特定のオーケストレート済システムで「無効化」アクションがサポートされていない場合は、アカウントが削除されます。
      • アクションなし: Oracle Access Governanceでは、アカウントおよび権限に対するアクションは実行されません。
  4. アイデンティティが企業を離れたときは、そのアカウントへのアクセス権を削除する必要があります。
    ノート

    これらの構成を設定できるのは、システム管理者によって許可されている場合のみです。グローバル・アカウント終了設定が有効になっている場合、アプリケーション管理者は、調整されたシステム・レベルでアカウント終了設定を管理できません。

    アカウントに対する次のアクションのいずれかを選択します。

    • 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。
    • 無効化: すべてのアカウントを無効化し、権限を非アクティブとしてマークします。
      • 無効化されたアカウントの権限の削除: アカウントの無効化時に直接割り当てられ、ポリシーで付与された権限を削除して、残存アクセスをゼロにします。
    • アクションなし: アイデンティティが組織を離れるときにアクションを実行しません。
    ノート

    これらのアクションは、オーケストレートされたシステム・タイプでサポートされている場合にのみ使用できます。たとえば、「削除」がサポートされていない場合、「無効化」および「アクションなし」オプションのみが表示されます。
  5. アカウントのすべての権限が削除された場合(アイデンティティが部門間を移動する場合など)、アカウントの処理を決定する必要がある場合があります。オーケストレート済システム・タイプでサポートされている場合、次のいずれかのアクションを選択します。
    • 削除
    • 使用不可
    • 処理なし
  6. アクセス・ガバナンスで作成されていないアカウントの管理: オーケストレート済システムで直接作成されるアカウントを管理する場合に選択します。これにより、既存のアカウントを調整し、Oracle Access Governanceから管理できます。
ノート

システムを管理対象システムとして構成しない場合、ワークフローのこのステップは表示されますが、有効になりません。この場合、ワークフローの「統合設定」ステップに直接進みます。
ノート

オーケストレート済システムで、汎用RESTおよびデータベース・アプリケーション表の統合と同様に動的スキーマ検出が必要な場合は、オーケストレート済システムの作成時に通知電子メールの宛先(ユーザー、Usermanager)のみを設定できます。モーバーおよびリーバの無効化/削除ルールは設定できません。これを行うには、オーケストレート済システムを作成してから、「オーケストレート済システム・アカウント設定の構成」の説明に従ってアカウント設定を更新する必要があります。

統合設定

Oracle APEXシステムへの接続の詳細を入力します。

  1. ワークフローの「統合設定」ステップで、Oracle Access GovernanceがOracle APEXシステムに接続できるようにするために必要な詳細を入力します。

    統合設定
    パラメータ名 必須? 説明
    ホストは何ですか。 はい Oracle APEX URLからホスト名を入力します。URL用
    https://apex.example.com/ords/[base_path]/[context_path]
    apex.example.com/ords/[base_path]/[context_path]と入力します。
    ポート番号は何ですか。 いいえ ポート名を入力します
    認証サーバーのURLは何ですか。 はい {{host}}/ords/{{base_path}}/oauth/tokenにOAuth URLを入力します。例: https://apex.example.com/ords/admin/oauth/token
    クライアントIDは何ですか。 はい ORDSアプリケーションからのクライアントIDを入力します。次のステップに従います。

    ORDSアプリケーション「ナビゲーション・メニュー」「REST」「セキュリティ」OAuthクライアントに移動します

    クライアント・シークレットは何ですか。 はい ORDSアプリケーションからのクライアント・シークレットを入力します。
    APEXワークスペースとは何ですか。 いいえ ワークスペース名を大文字で入力します。指定した場合、Oracle Access Governanceは、このワークスペース内のアカウントおよび権限を管理します。例: APEXWORK1
  2. 「追加」をクリックして、オーケストレート済システムを作成します。

完了

さらにカスタマイズを実行するか、データ・ロードをアクティブ化して実行するかの詳細を指定して、オーケストレート済システムの構成を終了します。

ワークフローの最後のステップは、「終了」です。

データ・ロードを実行する前にオーケストレート済システムをさらに構成するか、デフォルト構成を受け入れてデータ・ロードを開始するかを選択できます。次の中から1つ選択します。
  • システムでデータ・ロードを有効化する前にカスタマイズします
  • 指定されたデフォルトで、データ・ロードのアクティブ化と準備を行います

構成後処理

Oracle APEXシステムに関連付けられた構成後ステップはありません。