本コンテンツはORACLE MASTER Gold DBA 2019(Oracle Database AdministrationⅡ)の試験トピックであるOracle Mutitenant Architectureに関する内容をご紹介します。今回は「マルチテナント環境のセキュリティについて」の問題を解きながら詳しく解説していきます。
————————————————-
それでは問題文を確認していきましょう。
PDBロックダウン・プロファイルの機能に関して正しい内容を述べているものを選択してください(2つ選択してください)。
- PDBロックダウン・プロファイルを設定することによってPDBで使用できる操作を制限することができる。
- PDBロックダウン・プロファイルは各PDB毎に個別に作成して設定することができる。
- PDBロックダウン・プロファイルを使用することでPDB内におけるエンキュー制御を操作することができる。
- PDBロックダウン・プロファイルは必ずCDBルートに接続して作成する必要がある。
- PDBロックダウン・プロファイルを有効化するにはPDB_LOCKDOWN初期化パラメータを必ずCDBルートで設定する必要がある。
(解説)
今回はマルチテナント環境のセキュリティ機能の1つであるPDBロックダウン・プロファイルの機能についての問題となります。PDBロックダウン・プロファイルの機能は簡単に説明すると「プラガブル・データベース(PDB)から操作できる機能を制御する」になります。具体的な設定方法については後ほど詳細を解説するとして、まずは身近なもので本機能のイメージを掴んでおきましょう。
第1回の「マルチテナント・アーキテクチャの基礎」の解説でマルチテナント環境をイメージする例えとして、「PDBは駅ビルの中に入っているテナント(本屋、花屋、ゲームショップ.. etc)と考えると分かりやすいですよ」と説明してきました。第1回の解説で使用した図は以下になります。
例えば、もし本屋さんで働いている従業員が、この駅ビル全体の照明をOFFにすることができてしまったら・・これは色々と問題がありそうですよね。なので本屋や花屋、ゲームショップなどの各テナントの従業員には駅ビルの共有資源に対してはアクセス制限をかけないといけない、ということになると思います。このイメージをそのままマルチテナント環境に当てはめていただくとよいと思います。
仮に特定のPDBに接続している状態で共有プールのフラッシュやチェック・ポイント操作ができてしまったらと考えてください。特にチェック・ポイントの実行はCDB全体に影響を与える操作ですから安易にPDBから操作できてしまうと様々な問題が発生する可能性がありますよね。これらの操作に対して制限をかけることができるのがPDBロックダウン・プロファイルの機能となるわけです。
それでは実際の設定方法について詳しく見ていきましょう。
まずはどのような制御を行うか?を定義するためのプロファイルをCDBルートに接続して作成する必要があります。プロファイルを作成したらそのプロファイル内に制御ルールとしてロックダウン・ルールを定義していきます。以下にプロファイル作成とロックダウン・ルールの定義方法の詳細について図解と操作ログを載せておきます。今回の設定は、共有プールのフラッシュやチェック・ポイントの操作ができないように ALTER SYSTEM文に制限をかける例とします。尚、ALTER SYSTEM文の操作に制限をかけるとPDB内での初期化パラメータの設定操作に影響がでますのでALTER SYSTEM SET文は使用できるように調整したいと思います。
ロックダウン・プロファイルの作成とルールの定義ができましたら、プロファイルを有効化します。有効化の方法は初期化パラメータである pdb_lockdown に作成したプロファイルを指定するだけです。pdb_lockdown初期化パラメータは個々のPDBに対しても設定することが可能です。CDBルートで設定して、個々のPDBには設定しない場合、CDBルートで設定したプロファイル内容がそれぞれのPDBに対して有効になります。プロファイルを個別のPDBの初期化パラメータで設定した場合は、そのPDBのみで設定が有効となります。初期化パラメータを設定して、動作テストを行った結果を以下に記載しておきます。
今回はALTER SYSTEM文に対しての制限を設定した例を示しましたが、PDBロックダウン・プロファイルで制御できるリソースは3つに分類されています。それぞれ管理を行いたいリソースに対して必要な句を使用します。
- LOCKDOWN FEATURES句
AWR_ACCESSやNETWORK_ACCESS、OS_ACCESSを指定してデータベース機能に関連付けられているユーザー操作を制御 - LOCKDOWN OPTIONS句
パーティション化やアドバンスト・キューイングなどデータベース・オプションに関連付けられているユーザー操作を制御 - LOCKDOWN STATEMENT句
特定のSQL文の発行を制御
構文の詳細や制限できるリソース情報につきましては以下のマニュアルが参考になりますのでご確認ください。
Oracle Database SQL言語リファレンス 19c
11. SQL文: ALTER LIBRARYからALTER SESSION
ALTER LOCKDOWN PROFILE
それでは今回の問題の選択肢を確認していきましょう。
選択肢1は正しい内容です。PDBロックダウン・プロファイルを設定することでPDB内の操作を制御することができます。
選択肢2は誤りです。PDBロックダウン・プロファイルは各PDBに対して設定することはできますが、作成自体はCDBルートで行う必要があります。「PDBロックダウン・プロファイルは各PDB毎に作成して…」という部分が間違ってますね。
選択肢3は誤りです。制御できるリソースにエンキューは含まれていません。
選択肢4は正しい内容です。PDBロックダウン・プロファイルは必ずCDBルートで作成する必要があります。
選択肢5は誤りですね。PDBロックダウン・プロファイルの有効化はPDB_LOCKDOWN初期化パラメータで指定しますが、各PDBに個別に設定することも可能です。「必ずCDBルートで設定する必要がある」の記載は間違いですね。
以上を踏まえまして正解は 1、4 になります。
今回はPDBロックダウン・プロファイルの内容を解説しました。マルチテナント環境において適切な運用をおこなうために重要な機能となりますのでしっかりとおさえておきましょう。
今回の講義はこれまでとします。お疲れ様でした。
————————————————-
【Oracle University講師によるORACLE MASTER Gold DBA 2019 試験トピック解説講座】トピック一覧
————————————————-
その他の ORACLE MASTER 試験トピック解説講座シリーズ:
【Oracle University 講師による ORACLE MASTER Silver SQL 2019 試験トピック解説講座】-トピック一覧-
————————————————-
