ユーザにはコンテナデータベース(CDB)を介して Oracle Multitenant Database を評価するオプションがあります。これを行うには、Oracle 認証レコードで「Is CDB」オプションを選択するだけです。CDB にある各プラガブルデータベースに対して個別にレコードを作成する必要はなくなりました。このオプションは Policy Compliance スキャンでのみサポートされています。
Oracle レコードで「Is CDB」が選択されると、コンプライアンススキャンによりコンテナデータベース(CDB)内でアクセス可能なすべてのプラガブルデータベース(PDB)が自動検出されて評価されます。評価は CDB 経由で行われます。これは、スキャナには個別の PDB に直接接続する必要がないことを意味します。これにより、ユーザは PDB インスタンスごとに個別の Oracle レコードを作成する必要がなくなります。
Oracle レコードで Oracle データベースを CDB と識別することにより、マルチテナントテクノロジに対する適切なコンプライアンスチェックが実行されることも保証されます。CDB 経由でプラガブルデータベースを評価できるように、コンプライアンスコントロールが記述し直されています。
レコードタイプによって VM および PC で承認されている、サポート対象の認証テクノロジとそのバージョンの最新リストについては、次の記事を参照してください。
ここでは、3 つのプラガブルデータベースがあるコンテナデータベースの例について考えてみます。CDB 全体に対して、1 つのレコードを作成します。データベースインスタンスごとに、個別のレコードを作成する必要はありません。
この例では、以下を仮定しています。
IP アドレス = 10.10.10.1
CDB インスタンス = ORCL
PDB インスタンス = PDB1、PDB2、PDB3
IP が 10.10.10.1、サービス名が ORCL で、「Is CDB」を有効にした Oracle レコードを作成します。
この CDB に加えて、コンテナデータベース内にある 3 つの PDB の評価を行います。コンプライアンス評価データは、最終的な状態を判別するために、すべてのデータベースインスタンスから収集されます。インスタンスから収集されたデータは、単一の実際値へまとめられて、「Pass」または「Fail」の状態を判断するために基準になる期待値と比較されます。下に示すポリシーレポートの例を参照してください。
コンテナデータベースのコンプライアンス評価を実行するには、次の手順に従います。
1)認証を使用してスキャンを行うコンテナデータベースで、スキャンユーザアカウントと権限を設定します。マルチコンテナデータベースをスキャンするためのアカウントと権限の設定を補助する一連のスクリプトについては、『Oracle 認証(PC)』を参照してください。
2)CDB 用の Oracle 認証レコードを作成します。Oracle レコードには、最初の手順で設定したスキャンユーザアカウントを指定し、対象の CDB を(SID またはサービス名によって)識別し、「Is CDB」オプションを選択して、CDB の IP アドレスを追加します。
3)新しいコンプライアンススキャンを開始します。Oracle レコードで「Is CDB」オプションが有効になっていると、スキャン時に、スキャナはコンテナデータベース内でアクセス可能なすべてのプラガブルデータベース(PDB)を自動検出して評価します。評価は CDB 経由で行われるため、個別の PDB には直接接続されません。コンプライアンススキャン結果の「Appendix」項には、Oracle 認証で認証に成功したかどうかが示されます。下に示したスキャン結果を参照してください。
4)コンプライアンスポリシーを作成します。ポリシーでは Oracle Multitenant テクノロジと CDB および PDB 上で評価するコントロール、および CDB の IP アドレスが格納されているアセットグループを選択します。
5)コンテナデータベースに対して、ポリシーレポートを実行します。各コントロールの「Evidence and Extended Evidence」項には、CDB およびコンテナデータベース内の PDB で収集されたデータが表示されます。下に示すポリシーレポートの例を参照してください。
Oracle レコードの「Target Configuration」タブには、「Is CDB」オプションが表示されます。
この結果は、レコードで定義されているスキャンユーザアカウントに対して CDB 評価に必要な権限が付与されているかどうかに応じて変わります。必要な権限が付与されている場合、Oracle Multitenant テクノロジに対する評価とレポートが行われますが、マルチテナントでないデータベースインスタンスに対して PDB は検出されません。必要な権限が付与されていない場合は、スキャン認証が権限不足で失敗し、権限が不足しているテーブルが強調表示されます。マルチテナントでないデータベースインスタンスでは、「Is CDB」が選択されているかどうかに関係なく同じデータがレポートされます。唯一の相違点は、取得されたデータのソースです。
現時点では、CDB の Oracle 認証レコードを自動作成することはできません。レコードの作成後に、「Is CDB」オプションを設定するためにシステムレコードを編集できます。
コンプライアンススキャン結果の「Appendix」項には、Oracle 認証で認証に成功したかどうかが示されます。
以下の例では、CDB 内でアクセス可能なすべてのプラガブルデータベースに加えて、CDB の PASSWORD_GRACE_TIME がコントロールに示されます。この機能では、CDB と PDB は同じコントロールでまとめて評価されます。コントロールの実際値には、評価された CDB と PDB で収集された PASSWORD_GRACE_TIME が表示されます。
「Extended Evidence」項には、コントロール評価に含まれる CDB および PDB がリストで表示されます。この項に表示される情報は、評価されているコントロールによって変化します。一部のコントロールについては、CDB で検出されたすべての PDB が表示されます。それ以外のコントロールについては、CDB に加えて、CDB とは設定が異なる PDB が表示されます。例えば、CDB で 5 つの PDB が検出されたものの、CDB とは異なる設定であったのは 2 つだけだったとします。この場合、「Extended Evidence」には、CDB に 1 行、設定の異なる各 PDB にそれぞれ 1 行の合計 3 行が表示されます。すべての PDB が CDB と同じ設定であった場合、CDB の「Extended Evidence」項には 1 行のみ表示されます。
CON_NAME 列には各コンテナデータベースの名前が表示され、CON_ID 列にはコンテナデータベース ID が表示されます。ここで、CON_ID の値について説明します。
- 値 0 は、データは CDB 全体に関連していることを表します。
- 値 1 は、データはルートに関連していることを表します。
- 値 2 は、データはシードに関連していることを表します。
- 値 3 ~ 254 は、データは PDB に関連していることを表します。各 PDB には独自のコンテナ ID があります。