間接統合のためのOracle Access Governance Agentの管理

場合によっては、オーケストレート済システムにOracle Access Governanceへの直接接続がなく、エージェントがOracle Access Governanceとオーケストレート済システムの間のデータ転送を有効にする必要があります。

Oracle Access Governance Agentの登録およびダウンロード

オーケストレート済システムがOracle Access Governanceに接続できるようにするには、システムの統合詳細および資格証明を入力して、環境固有のエージェントを作成する必要があります。

  1. ブラウザで、Oracle Access Governanceサービスのホーム・ページに移動し、管理者アプリケーション・ロールを持つユーザーとしてログインします。
  2. Oracle Access Governanceサービスのホームページで、ナビゲーション・メニューアイコンをクリックし、「サービス管理」「オーケストレーション済システム」の順に選択します。
  3. 「接続済システムの追加」ボタンを選択し、「n個のオーケストレート済システムの追加」ページにナビゲートして構成を開始します。
  4. 「システムの選択」ステップで、Oracle Access Governanceと統合するシステムを選択し、「次へ」をクリックします。
  5. 「詳細の入力」ステップで、オーケストレート済システムの基本詳細(名前や説明など)を入力し、「次へ」をクリックします。
  6. 「構成」ステップで、オーケストレート済システムの接続詳細を入力します:
    ノート

    統合の詳細は、オーケストレート済システムのタイプによって異なります。各オーケストレート済システムに関連する具体的な詳細は、Oracle Access Governanceとのサポートされている統合の記事を参照してください。
  7. 「次へ」をクリックしてください。エージェントをダウンロードするためのメッセージが表示されます。「ダウンロード」リンクを選択し、エージェントが実行される環境にエージェントZipファイルをダウンロードします。
  8. ダウンロードしたZipファイルのパッケージの内容を確認します。

    エージェント・パッケージの内容は次のようになります:

    agent-package-<version>.zip
        - config.json
        - wallet
            - cwallet.sso
            - cwallet.sso.lck
       - agent-lcm
            - idm-agcs-agent-lcm

    エージェント・パッケージに、オーケストレート済システム統合構成が含まれていません。Oracle Access Governanceサービス・インスタンスに接続し、必要に応じて情報を取得します。これは、後続の統合構成変更のためにエージェントをダウンロードまたは再インストールする必要がないことを意味します。

前提条件

エージェントのインストールおよび実行の前提条件。

エージェントのインストールおよび実行には、次の前提条件を満たす必要があります。

  1. エージェント管理スクリプトは、コンテナ・ランタイムとしてdockerおよびpodmanをサポートしています。エージェント管理スクリプトにより、コンテナ・ランタイムが自動検出されます。両方が存在する場合は、podmanが選択されます。
  2. コンテナ・ランタイム(docker/podman)は、エージェントのインストールに使用されるものと同じように、root以外のユーザーとして実行するように構成する必要があります。
  3. ユーティリティ:
    エージェントには、次のオペレーティング・システム・ユーティリティが必要です:
    • 解凍
    • 鎮静
    • 眠らずに
    • crontab
    ノート

    エージェント・インストール・ユーザーには、これらの各ユーティリティを使用する権限が必要です。
  4. JDK: エージェントにはJDK 11.0.xが必要です。
  5. ユーザーのセッションが終了した後にエージェントを'linger'に起動するOSユーザーのプロセスを有効にします。このオプションが有効になっていない場合、ユーザーのセッションを終了すると、エージェント・プロセスが停止し、Oracle Access Governance、エージェントおよび編成済システム間の通信を試行するとエラーが表示されます。
    • OSユーザーに対してLingerが有効になっているかどうかを確認するには、 /var/lib/systemd/lingerディレクトリのユーザーと同じ名前のファイルをチェックします。ファイルが存在する場合は、このオプションが有効になります。
      ls /var/lib/systemd/linger/oracle/<myuser>
    • OSユーザーのLingerを有効にするには、systemdのLinger動作を有効にします。
      loginctl enable-linger <myuser>
  6. エージェントに必要な最小ディスク領域は、次のとおりです。
    • エージェントのボリュームとして構成されたディレクトリの4GB空き領域。
    • docker/podmanホームの5GBの空き領域。

    上記の最小値には、アップグレード中に消費されたディスク領域が含まれ、その処理中にバックアップが作成され、新しいエージェント・イメージがダウンロードおよびロードされます。

  7. ホスト・システムでSELinuxが有効になっている場合は、次のコマンドを実行して、エージェントが使用する永続ボリュームのセキュリティ・コンテキストを設定します。
    chcon -Rt svirt_sandbox_file_t <PV_Directory>

仮想マシン/ホストのサイズ設定

次の表に、調整済システム・エージェントVMまたはホストを、小規模、中規模および大規模の実装用にサイズ設定する値を示します。

パラメータ 説明 小規模 中規模 大規模

CPUコア

CPUコア数。

2

4

8

メモリー

メモリー量(GB)

16

32

64

Oracle Access Governance Agentのインストール

実行するサンプル・コマンドを使用してOracle Access Governance Agentをインストールするステップ・バイ・ステップのプロセス:

ダウンロードしたエージェントをローカル・システムにインストールするには、次のステップを実行します:
  1. ダウンロードしたエージェントをローカルの場所に解凍します。

    解凍したエージェントの内容は次のとおりです:

    agent-package-<version>.zip
      - config.json
      - wallet
          - cwallet.sso
          - cwallet.sso.lck
      - container-image
          - agent.tar.gz
  2. 次のパラメータを使用して管理スクリプトを実行します:
    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume <PERSISTENT_VOLUME_LOCATION> \
    --agentpackage <PACKAGE_FULL_PATH> \
    --install

    デフォルト構成の例は次のようになります:

    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume /access-governance/agent-management/volume \
    --agentpackage /access-governance/agent-management/agent-package-<version>.zip \
    --agentid myagent \
    –-install
    

    カスタム構成の例は次のようになります:

    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume /access-governance/agent-management/volume \
    --agentpackage /access-governance/agent-management/agent-package-<version>.zip \
    --agentid myagent \
    --config /access-governance/agent-management/config.properties \
    –-install
    
    ヒント

    コピー・ペースト中に問題が発生した場合、またはスクリプトの実行中にエラーが発生した場合(無効なフォーマット・エラーなど)、二重ハイフン(-)、ハイフンのASCII値は45)を手動で挿入できます。
  3. 次のコマンドを使用して、エージェントを起動します:
    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume <PERSISTENT_VOLUME_LOCATION> \
    --start

    例:

    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume /access-governance/agent-management/volume \
    --start

エージェントの検証

オーケストレート済システム・エージェントのインストールと動作を確認する方法の詳細を示します。

オーケストレート済システム・エージェントのインストールを確認するには、次のステップを実行します:
  1. Oracle Access Governanceコンソールで、ナビゲーション・メニューアイコンを選択してナビゲーション・メニューを表示します。
  2. Oracle Access Governance Consoleで、ナビゲーション・メニューから「サービス管理」→「オーケストレート済システム」をクリックします。
  3. 「Orchestrated Systems」画面で、オーケストレート済システムのステータスが「Waiting for initial integration」と表示されます。「管理」→「トラブルシューティング・チェックリスト」をクリックします。
  4. ページ下部の「アクティビティ・ログ」に、検証操作のステータスが表示されます。エージェントが起動している間、「保留」です。エージェントが起動しない場合は、エージェントのインストール・ログおよび操作ログで問題がないか確認してください。
  5. エージェントが起動すると、検証操作のステータスが「成功」と表示されます。

エージェントの使用例

エージェント管理スクリプトの使用例を示します。

エージェントを正常にインストールして検証したら、ライフサイクルの管理を開始できます。agentManagement.shスクリプトは、起動、停止、再起動、アンインストールおよびアップグレード操作をサポートします。

エージェントの起動

次のコマンドを使用して、エージェントを起動します:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--start

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--start

エージェントの停止

次のコマンドを使用して、エージェントを停止します:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--stop

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--stop

エージェントの再起動

次のコマンドを使用して、エージェントを再起動します:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--restart

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--restart

エージェントのアンインストール

次のコマンドを使用して、エージェントをアンインストールします:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--uninstall

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--uninstall

エージェントのアップグレード

次のコマンドを使用して、エージェントをアップグレードします:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--upgrade

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--upgrade

自動アップグレードの有効化

次のコマンドを使用して、自動アップグレードを有効にします。

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--enableautoupgrade

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--enableautoupgrade

自動アップグレードの無効化

このステップは、エージェントとOracle Access Governanceサービスの間の通信で障害が発生する可能性があるため、絶対に必要な場合にのみ実行します。このステップを実行して失敗が表示された場合は、エージェントの使用例エージェントのアップグレードの例に示されているステップに従って、エージェントをすぐにアップグレードします。

次のコマンドを使用して、自動アップグレードを無効にします。

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--disableautoupgrade

例:

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--disableautoupgrade

カスタムJarサポート

Oracle Access Governanceと統合する場合、一部のオーケストレート済システムにはカスタムjarが必要になる場合があります。たとえば、DB2およびMYSQLデータベースと通信するには、それぞれのドライバjarが必要です。カスタムjarをアップロードするには、次のステップを使用します。
  1. ドライバjarをダウンロードし、config.jsonで指定されたcustomJarsDirectoryパスに配置します。たとえば、config.jsonには、customJarsDirectory : /app/data/customJarsというエントリを含めることができます。/appはエージェント・ボリュームです。
  2. SHA-512を使用して、ダウンロードしたドライバjarのチェックサムを計算します。
  3. Oracle Access Governanceコンソールで、「サービス管理」「オーケストレート済システム」の順に移動します。
  4. 「接続システム」ページで、オーケストレート済システムの「統合の管理」を選択します。
  5. 「構成」で、「統合設定」タイルの「管理」ボタンを選択します。
  6. 「カスタムJARの詳細」フィールドで、オーケストレートされたシステム構成を更新します。ドライバjar名およびチェックサムを<jarName>::<checksum>の形式で指定します。
    DB2接続システムの場合、カスタムJARの詳細のサンプル値
    db2jcc.jar::c8520f145b428b1133b771bb2c70a6f0f546c9f0655f9de5de2e7b64d5ede786911ad50b543846154fe373dead78d38fb6dded560e0de4c4e8ccbbf0a06b6c1e
  7. 保存」をクリックします。

エージェント管理操作

エージェントが実行できる操作の詳細および関連するパラメータの説明をリストします。

オーケストレート済システム・エージェントは、agentManagement.shスクリプトを使用して管理できます。このスクリプトは、GitHubからダウンロードできます。このスクリプトは、dockerおよびpodmanをサポートし、使用可能なコンテナ・ランタイムを自動検出します。両方が使用可能な場合、スクリプトはpodmanを使用します。

操作

操作 説明 追加情報

--install

  • ダウンロードしたエージェント・パッケージを指定されたボリュームにインストールします。
  • コンテナ・イメージをロードします。

カスタム構成を使用するには、--configを使用します。

--start

  • エージェント・コンテナを起動します。
  • エージェント・デーモンを起動します。

--newcontainerを使用して、新しいコンテナを起動します。

カスタム構成を使用するには、--configを使用します。

--stop

  • エージェント・デーモンを停止します。
  • エージェント・コンテナを停止します。

--restart

  • エージェント・デーモンを停止します。
  • エージェント・コンテナを停止します。
  • newcontainerフラグがtrueに設定されている場合、エージェント・コンテナを削除します。
  • エージェント・コンテナを起動します。
  • エージェント・デーモンを起動します。

--uninstall

  • エージェント・デーモンを停止します。
  • エージェント・コンテナを削除します。
  • ボリュームをクリーン・アップします。

--upgrade

  • 一時的な場所にある新しいagent-package.zipを解凍します。
  • パッケージの内容を検証します。
  • 新しいzipファイルからイメージをロードします。
  • 新しいイメージおよび構成を使用して一時コンテナを起動します。
  • 一時コンテナに問題がない場合は、コンテナを停止します。
  • 既存のコンテナを停止します。
  • 一時的な場所から現在の場所に新しい構成をコピーします。これにより、すべてのカスタマイズが保持されます。
  • 新しいイメージおよび構成でエージェントを起動します。
  • エージェント・デーモンを起動します。

次の変更にはアップグレードが必要です。

  • 構成の変更(config.json)
  • コネクタ・バンドルの変更
  • ウォレットでの変更
  • エージェント・イメージの変更

次の変更により、エージェント・フレームワークで処理される再構成操作がトリガーされます。

  • コネクタ(同じテンプレート・バージョン)
  • コネクタ(異なるテンプレート・バージョン)

詳細は、エージェントのアップグレードを参照してください。

--status

エージェントの次の詳細をリストします:
  • エージェントID
  • コンテナのランタイムとバージョン
  • エージェント・パッケージ
  • エージェントのバージョン
  • インストール場所
  • エージェントの状態

--enableautoupgrade

次のタスクを実行して、自動アップグレードを有効にします。

  • cronジョブを設定して、ターゲット接続パラメータまたはコネクタ・バンドル・コードの変更に対するアップグレードを検出します。
  • cronジョブは30分ごとに実行され、必要に応じてエージェントを自動的にアップグレードします。

--disableautoupgrade

自動アップグレードcronジョブを削除して、自動アップグレードを無効にします。

エージェント・・パラメータ

パラメータ

パラメータ名 説明 必須 デフォルト値 引数 引数の短縮形

__AGENT_ID__

エージェント・コンテナが実行されるエージェントID。

いいえ

agent-<hostname>-<timestamp>

--agentid

-ai

エージェント・パッケージの場所 ローカル・エージェントのパッケージの場所とパッケージ名。

はい

--agentpackage

-ap

ボリューム

構成、ウォレット、ログなどのエージェント・データを永続化するディレクトリ。

はい

--volume

-pv

起動と再起動を伴う新しいコンテナ

新しいコンテナを作成します。このパラメータには値は必要ありません。

いいえ

--newcontainer

-nc

カスタム構成

プロパティ・ファイルを使用してカスタム構成を指定します。

いいえ

--config

-c

自動アップグレード

エージェントの自動アップグレードを設定するには、インストール操作でこのパラメータを使用します。

いいえ

true

--autoupgrade

-au

カスタム構成は、次の形式のconfig.propertiesファイルを使用してスクリプトに提供されます:

idoConfig.httpClientConfiguration.connectionPool.maxPerRoute=15
idoConfig.httpClientConfiguration.connectionPool.maxTotal=15
idoConfig.httpClientConfiguration.connectTimeoutInSeconds=300
idoConfig.httpClientConfiguration.keepAliveTimeoutInSeconds=300
idoConfig.httpClientConfiguration.readResponseTimeoutInSeconds=300
idoConfig.httpClientConfiguration.proxyUri=
idoConfig.httpClientConfiguration.proxyUserName=
idoConfig.httpClientConfiguration.proxyUserPassword=
idoConfig.logLevel=info
idoConfig.maxJobRunningTimeInMinutes=180
idoConfig.numberOfPartition=3
idoConfig.numberOfOperationsPerPoll=5
idoConfig.numberOfOperationsWorkerThread=5
idoConfig.pollPauseTimeInMills=500
idoConfig.heartBeatIntervalInSeconds=30
idoConfig.sparkMaxResultSizeInGB=2
idoConfig.sparkExecutorMemoryInGB=2

実行時構成のチューニング

次の表では、調整済システム・エージェントの実行時構成を微調整するためのパラメータを示し、小規模、中規模および大規模の実装に関する具体的な値を提案します。

これらのパラメータの構成方法の詳細は、「エージェント・パラメータ」を参照してください。

ノート

サイズ設定の弱い制限は次のとおりです。
  • : 10-20kアイデンティティ/アカウントおよび関連データ
  • : 40-50kアイデンティティ/アカウントおよび関連データ
  • 大きい: 50kアイデンティティ/アカウントおよび関連データの範囲外
パラメータ 説明 小規模 中規模 大規模

idoConfig.sparkMaxResultSizeInGB

アクション(収集など)ごとのすべてのパーティションのシリアライズされた結果の合計サイズの制限(バイト単位)。1M以上にし、無制限の場合は0にします。合計サイズがこの制限を超えると、ジョブは中止されます。制限値を高く設定すると、ドライバでメモリー不足エラーが発生する可能性があります(spark.driver.memoryおよびJVMのオブジェクトのメモリーのオーバーヘッドによって異なります)。適切な制限値に設定すると、ドライバがメモリー不足エラーになるのを防ぐことができます。

2

5

7

idoConfig.sparkExecutorMemoryInGB

エグゼキュータ・プロセスごとに割り当てられる追加メモリーの量(特に指定されていないかぎり、MiB単位)。これは、VMオーバーヘッド、インターン化された文字列、他のネイティブ・オーバーヘッドなどを考慮したメモリーです。

2

5

7

idoConfig.numberOfPartition

パーティションの数。

3

5

7

Oracle Access Governance Agentのトラブルシューティング

Oracle Access Governance Agentの構成時または使用時に表示されるエラー・メッセージやその他の問題に対処する方法を学習します。

トピック:

リソース制約による予期しないエージェント停止

メモリー、CPUまたはディスク上のリソース制限に達し始めた場合、エージェントが予期せず停止する可能性があります。エージェントを正常にバックアップするには、根本的な問題を修正した後でエージェントを再起動する必要があります。

解決策: restartコマンドを使用してエージェントを再起動し、根本的な問題を修正します。
curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--newcontainer \
--restart