脆弱性検出およびパッチ適用の前提条件タスクの実行

Observability and Managementの脆弱性検出とパッチ適用を開始するために必要な前提条件について説明します。

外部データベース・ターゲットを正常に評価し、パッチ操作を実行するために必要な一般的な前提条件のリストを次に示します。
ノート

現在、Linuxオペレーティング・システムでオンプレミスまたはOracle Cloud Infrastructure仮想マシンで実行されている外部データベースのみがサポートされています。
タスク 説明
管理エージェントのインストール Oracle Cloud Infrastructure管理エージェント・サービスを使用すると、データベース管理と外部データベースの間の通信およびデータ収集が可能になります。外部データベースに接続されたホストに管理エージェントをインストールする必要があります。データベース管理では、外部データベースからのデータおよびメトリックの収集などの操作に管理エージェントが使用されます。

管理エージェントのインストール方法の詳細は、管理エージェントのインストールを参照するか、OCI Database Management Service: 管理エージェントのインストールおよび構成のビデオを参照してください。

ノート

単一インスタンス・データベースの場合、管理エージェント201215.1850以降が必要であり、RACデータベースの場合、管理エージェント210403.1349以降が必要です。
mgmt_agentユーザーに権限を付与するには、setfacl -Rm u:mgmt_agent:rwx $ORACLE_HOMEおよびsetfacl -Rm u:mgmt_agent:rwx <OraInventory Location>コマンドを実行する必要があります。
ノート

正しいOraInventoryの場所が使用されていることを確認します。ローカルのOraInventoryの場所は使用しないでください。

管理エージェントのインストール時に問題が発生した場合は、考えられる原因および解決策について、「外部データベースのデータベース管理を有効化する際に発生するエラー」を参照してください。

外部データベースをモニターおよび管理し、データベース・ユーザー・パスワードをシークレットに保存するために必要な権限を付与します データベース管理で外部データベースをモニターおよび管理するために必要な権限をデータベース・ユーザーに付与する必要があります。モニタリング・ユーザーとしてDBSNMPユーザーを使用します。このユーザーは、Oracle Cloud Infrastructure内のデータベースをモニターするために必要な権限を持ち、Oracleデータベースに組み込まれているため、このオプションをお薦めします。使用可能なSQLスクリプトを使用して、外部データベースの監視または高度な診断および管理タスクの実行に必要な権限セットを持つ新しいデータベース・ユーザーを作成します。

Oracleでは、Oracleデータベース19c以降では、段階的なパスワード・ロールオーバー時間を定義することをお薦めします。これにより、段階的なロールオーバー期間中に古いパスワードと新しいパスワードの両方を使用してデータベースに接続できます。古いパスワードと新しいパスワードの両方がしばらく有効であるため、停止時間は最小限に抑えられます。段階的なパスワード・ロールオーバーを使用することで、データベースのデータベース管理機能の使用の中断を回避できます。

必要なデータベース・ユーザー権限の詳細は、「データベース管理に必要なデータベース・ユーザー権限」を参照してください。

SQLスクリプトの詳細は、データベース管理用のOracle Databaseモニタリング資格証明の作成(MOS 2857604.1)を参照してください。

必要な権限の取得 脆弱性検出を有効にするために必要な権限を作成します。

必要な権限の作成の詳細は、必要な権限の取得を参照してください

外部データベース・システムの検出- 接続の追加 必ず、外部データベース・サービスでリソースまたはハンドルを作成して、Oracle Databaseを登録してください。このハンドルは、Oracle Cloud Infrastructureの外部にあるOracle Databaseを表したものとして機能します。外部データベースを外部データベース・サービスに登録するか、データベース管理の外部データベースの管理対象データベース・ページで「外部データベースの登録」をクリックすることで登録できます。

外部データベース・ハンドルの作成方法の詳細は、外部データベース・ハンドルの作成を参照してください。

OCI Database Management Service: Register and Connect to an External Databaseのビデオをご覧ください。
外部データベース・ハンドルへのOracle Databaseの接続 外部データベース・ハンドルを作成した後、Oracle Databaseをハンドルに接続する必要があります。TCPSプロトコルを使用すると、Oracle Databaseへの接続を安全に作成し、監視および管理できます。外部データベース・サービスの外部データベースへの接続を追加するか、データベース管理の外部データベースの管理対象データベース・ページの「ステータス」列で「接続」をクリックすることで接続を追加できます。

Oracle Databaseを外部データベース・ハンドルに接続する方法の詳細は、外部データベースへの接続の作成を参照してください。

ビデオ: OCI Database Management Service: 外部データベースのデータベース管理の有効化をご覧ください。
パッチ適用のためのDBLMディレクトリの作成 このディレクトリには、すべてのスクリプト実行結果が含まれ、パッチ適用スクリプトは実行のためにこのディレクトリにコピーされます。
  • パッチを適用するデータベースを含むすべてのホストについて、DBLMディレクトリを/opt/oracle/dblmの下に作成します。
  • ディレクトリ権限を750に設定します。
  • 管理エージェント・ユーザーとそのプライマリ・グループに所有権を設定します。
例:
mkdir <DBLM_DIRECTORY> 
chmod 750 <DBLM_DIRECTORY>
chown <MGMT_AGENT_USER>:<MGMT_AGENT_PRIMARY_GROUP><DBLM_DIRECTORY>
パッチ・ユーザーの作成 パッチを適用するデータベースがインストールされているすべてのホストでパッチ・ユーザーを作成する必要があります。このパッチ・ユーザーは、Oracle Homeまたはrootのいずれかの使用でパッチ・スクリプトを実行するために使用されます。RACデータベースの場合、管理エージェントが実行されていないRACノードでスクリプトを実行するには、パッチ・ユーザーがノード間でパスワードなしのSSH等価である必要があります。詳細は、「パスワードなしSSH構成について」を参照してください。例:
useradd <PATCH_USER>
パッチ・ユーザーのプライマリ・グループをOracle Home所有者のプライマリ・グループと同じに設定します。 パッチ・ユーザーのプライマリ・グループは、Oracle Home所有者のプライマリ・グループと同じである必要があります。

例:

/usr/sbin/usermod -g
<DB_HOME_OWNER_PRIMARY_GROUP> <PATCH_USER>

パッチ・ユーザーの詳細の例:

uid=5436(patchUser) 
gid=59968(oinstall)
groups=59968(oinstall)
管理エージェント・ユーザーのプライマリ・グループにパッチ・ユーザーを追加します。 パッチを適用するには、管理エージェント・ユーザーのプライマリ・グループにパッチ・ユーザーを追加する必要があります。

例:

/usr/sbin/usermod -a <PATCH_USER> -G
<MGMT_AGENT_PRIMARY_GROUP>
Oracle Home所有者のプライマリ・グループに管理エージェント・ユーザーを追加します。 管理エージェント・ユーザーは、パッチ適用のためにOracle Home所有者のプライマリ・グループに追加する必要があります。

例:

/usr/sbin/usermod -a <MGMT_AGENT_USER> -G
<DB_HOME_OWNER_PRIMARY_GROUP>

管理エージェント・ユーザーの詳細の例:

uid=495(mgmt_agent) 
gid=1486 (mgmt_agent) 
groups=1486 (mgmt_agent),8500 (oinstall)
管理エージェント・ユーザーのプライマリ・グループにOracle Home所有者を追加します。 Oracleホーム所有者は、パッチ適用のために管理エージェント・ユーザーのプライマリ・ホームに追加する必要があります。

例:

/usr/sbin/usermod -a <DB_HOME_OWNER> -G
<MGMT_AGENT_PRIMARY_GROUP>

Oracleホーム所有者詳細の例:

uid=54326(oracle) 
gid=8500(oinstall) 
groups=8500(oinstall), 8502(dba),1486 (mgmt_agent)
すべてのデータベース・ホストでSUDOを設定します。 次のユーザー・スイッチを許可するには、SUDOERSファイルに権限を追加する必要があります。
  • 管理エージェント・ユーザーのパッチ・ユーザーへの切替え
  • パッチ・ユーザーをOracle Home/rootユーザーに切り替えます
  • Oracle Homeユーザーをパッチ・ユーザーに切り替え、限定されたスクリプトおよびコマンドを実行する権限を付与します。
ノート

管理エージェントが実行されているホストでは、管理エージェント・ユーザーはパッチ・ユーザーとしてのみ切り替え、パッチ・ユーザーはパッチ適用のためにOracle Home/rootユーザーに切り替えます。

管理エージェントは、いずれかのRACノードにのみインストールされ、他のすべてのRACノードには、パッチ・ユーザーをOracle Home/rootユーザーに切り替えるための権限がSUDOERSファイルに、Oracle Homeユーザーをパッチ・ユーザーとしてインストールされている必要があります。

ユーザーへのSUDOアクセス権の付与の詳細は、「ユーザーへのsudoアクセス権の付与」を参照してください。

エージェント・ホストに対するSudoers権限の例:

PASSWD: /opt/oracle/dblm/executions/*/run_perl_script.sh /opt/oracle/dblm/scripts/patchmgmt/*/*.pl *, /bin/kill *
patchUser ALL=(oracle) NOPASSWD: /opt/oracle/dblm/executions/*/run_perl_script.sh /opt/oracle/dblm/scripts/patchmgmt/*/*.pl *, /bin/kill *
patchUser ALL=(root) NOPASSWD: /opt/oracle/dblm/executions/*/run_perl_script.sh /opt/oracle/dblm/scripts/patchmgmt/root/*.pl *, /bin/kill *

RACノードに対するSudoers権限の例:

patchUser ALL=(oracle)       NOPASSWD: /opt/oracle/dblm/executions/*/run_perl_script.sh /opt/oracle/dblm/scripts/patchmgmt/*/*.pl *, /bin/kill *
patchUser ALL=(root)        NOPASSWD: /opt/oracle/dblm/executions/*/run_perl_script.sh /opt/oracle/dblm/scripts/patchmgmt/root/*.pl *, /bin/kill *,/opt/oracle/dblm/executions/*/*/runfixup.sh
oracle ALL=(patchUser)     NOPASSWD: /bin/rsync *

sudoersファイルへの追加:

cuser  ALL=(ALL)    NOPASSWD: ALL
duser  ALL=(ALL)    NOPASSWD: ALL
mgmt_agent  ALL=(ALL)    NOPASSWD: ALL

必要なユーザー、ディレクトリおよびユーティリティ

パッチ適用プロセスを正しく調整するには、次のユーザー、ディレクトリおよびユーティリティが必要です。
ユーザー
パッチ・ユーザー patchUser
データベース・ホームの所有者 oracle
データベースホーム所有者プライマリグループ oinstall
管理エージェント・ユーザー mgmt_agent
管理エージェント・ユーザーのプライマリ・グループ mgmt_agent
必要なディレクトリとユーティリティー 場所の例
SUDOの場所 /scratch/sudo_setup/bin/sudo
Sudoersファイルの場所 /scratch/sudo_setup/etc/sudoers
DBLMディレクトリ /opt/oracle/dblm