間接統合のためのOracle Access Governance Agentの管理
場合によっては、オーケストレート済システムにOracle Access Governanceへの直接接続がなく、エージェントがOracle Access Governanceとオーケストレート済システムの間のデータ転送を有効にする必要があります。
Oracle Access Governance Agentの登録およびダウンロード
オーケストレート済システムがOracle Access Governanceに接続できるようにするには、システムの統合詳細および資格証明を入力して、環境固有のエージェントを作成する必要があります。
前提条件
エージェントのインストールおよび実行の前提条件。
エージェントのインストールおよび実行には、次の前提条件を満たす必要があります。
- エージェント管理スクリプトは、コンテナ・ランタイムとしてdockerおよびpodmanをサポートしています。エージェント管理スクリプトにより、コンテナ・ランタイムが自動検出されます。両方が存在する場合は、podmanが選択されます。
- コンテナ・ランタイム(docker/podman)は、エージェントのインストールに使用されるものと同じように、root以外のユーザーとして実行するように構成する必要があります。
- ユーティリティ:エージェントには、次のオペレーティング・システム・ユーティリティが必要です:
- 解凍
- 鎮静
- 眠らずに
- crontab
ノート
エージェント・インストール・ユーザーには、これらの各ユーティリティを使用する権限が必要です。 - JDK: エージェントにはJDK 11.0.xが必要です。
- ユーザーのセッションが終了した後にエージェントを'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>
- OSユーザーに対してLingerが有効になっているかどうかを確認するには、
- エージェントに必要な最小ディスク領域は、次のとおりです。
- エージェントのボリュームとして構成されたディレクトリの4GB空き領域。
- docker/podmanホームの5GBの空き領域。
上記の最小値には、アップグレード中に消費されたディスク領域が含まれ、その処理中にバックアップが作成され、新しいエージェント・イメージがダウンロードおよびロードされます。
- ホスト・システムで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をインストールするステップ・バイ・ステップのプロセス:
エージェントの検証
オーケストレート済システム・エージェントのインストールと動作を確認する方法の詳細を示します。
-
Oracle Access Governanceコンソールで、
アイコンを選択してナビゲーション・メニューを表示します。
- Oracle Access Governance Consoleで、ナビゲーション・メニューから「サービス管理」→「オーケストレート済システム」をクリックします。
- 「Orchestrated Systems」画面で、オーケストレート済システムのステータスが「Waiting for initial integration」と表示されます。「管理」→「トラブルシューティング・チェックリスト」をクリックします。
- ページ下部の「アクティビティ・ログ」に、検証操作のステータスが表示されます。エージェントが起動している間、「保留」です。エージェントが起動しない場合は、エージェントのインストール・ログおよび操作ログで問題がないか確認してください。
- エージェントが起動すると、検証操作のステータスが「成功」と表示されます。
エージェントの使用例
エージェント管理スクリプトの使用例を示します。
エージェントを正常にインストールして検証したら、ライフサイクルの管理を開始できます。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サポート
- ドライバjarをダウンロードし、
config.jsonで指定されたcustomJarsDirectoryパスに配置します。たとえば、config.jsonには、customJarsDirectory : /app/data/customJarsというエントリを含めることができます。/appはエージェント・ボリュームです。 SHA-512を使用して、ダウンロードしたドライバjarのチェックサムを計算します。- Oracle Access Governanceコンソールで、「サービス管理」、「オーケストレート済システム」の順に移動します。
- 「接続システム」ページで、オーケストレート済システムの「統合の管理」を選択します。
- 「構成」で、「統合設定」タイルの「管理」ボタンを選択します。
- 「カスタムJARの詳細」フィールドで、オーケストレートされたシステム構成を更新します。ドライバjar名およびチェックサムを
<jarName>::<checksum>の形式で指定します。DB2接続システムの場合、カスタムJARの詳細のサンプル値db2jcc.jar::c8520f145b428b1133b771bb2c70a6f0f546c9f0655f9de5de2e7b64d5ede786911ad50b543846154fe373dead78d38fb6dded560e0de4c4e8ccbbf0a06b6c1e
- 「保存」をクリックします。
エージェント管理操作
エージェントが実行できる操作の詳細および関連するパラメータの説明をリストします。
オーケストレート済システム・エージェントは、agentManagement.shスクリプトを使用して管理できます。このスクリプトは、GitHubからダウンロードできます。このスクリプトは、dockerおよびpodmanをサポートし、使用可能なコンテナ・ランタイムを自動検出します。両方が使用可能な場合、スクリプトはpodmanを使用します。
操作
| 操作 | 説明 | 追加情報 |
|---|---|---|
|
|
|
カスタム構成を使用するには、 |
|
|
|
カスタム構成を使用するには、 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
次の変更にはアップグレードが必要です。
次の変更により、エージェント・フレームワークで処理される再構成操作がトリガーされます。
詳細は、エージェントのアップグレードを参照してください。 |
|
|
エージェントの次の詳細をリストします:
|
|
|
|
次のタスクを実行して、自動アップグレードを有効にします。
|
|
|
|
自動アップグレード |
エージェント・・パラメータ
パラメータ
| パラメータ名 | 説明 | 必須 | デフォルト値 | 引数 | 引数の短縮形 |
|---|---|---|---|---|---|
|
__AGENT_ID__ |
エージェント・コンテナが実行されるエージェントID。 |
いいえ |
|
|
|
| エージェント・パッケージの場所 | ローカル・エージェントのパッケージの場所とパッケージ名。 |
はい |
--agentpackage
|
|
|
|
ボリューム |
構成、ウォレット、ログなどのエージェント・データを永続化するディレクトリ。 |
はい |
|
|
|
|
起動と再起動を伴う新しいコンテナ |
新しいコンテナを作成します。このパラメータには値は必要ありません。 |
いいえ |
|
|
|
|
カスタム構成 |
プロパティ・ファイルを使用してカスタム構成を指定します。 |
いいえ |
|
|
|
|
自動アップグレード |
エージェントの自動アップグレードを設定するには、インストール操作でこのパラメータを使用します。 |
いいえ |
|
|
|
カスタム構成は、次の形式の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