ノート:

OCI CLIによるOracle Data Safe登録の自動化による継続的なデータベース監視の合理化

イントロダクション

Oracleデータベースの堅牢なサイバーセキュリティ体制を維持することは、今日の複雑な脅威環境において不可欠です。継続的な監視は、脆弱性、構成ミス、潜在的な脅威を悪用する前にプロアクティブに特定する鍵です。サイバー脅威がより高度でターゲットを絞ったものになると、コンプライアンス、異常な活動、不正アクセスに対する定期的な評価がますます重要になります。

Oracle Data Safeコンソールを使用して複数のデータベースをOracle Data Safeに手動で登録すると、手間がかかり、時間がかかる場合があります。このチュートリアルでは、OCI Cloud Shellインタフェース内のOracle Cloud Infrastructureコマンドライン・インタフェース(OCI CLI)のコマンドとスクリプトを使用して登録プロセスを自動化する合理化されたアプローチを提供し、必要な手作業と時間を大幅に削減します。

「コンパートメント」にナビゲートします。

対象読者

目的

前提条件

タスク1: OCI Cloud Shellへのアクセス

OCI Cloud Shellにアクセスして、統合機能を利用します。

  1. OCIコンソールにログインします。

    「コンパートメント」にナビゲートします。

  2. コンソール・ヘッダーの「Cloud Shell/Code Editor」アイコンをクリックし、ドロップダウン・メニューから「Cloud Shell」を選択します。OCI Cloud Shellで実行中のOCI CLIでは、OCI Cloud Shellの起動時に、コンソールのリージョン選択メニューで選択されているリージョンに対してコマンドが実行されることに注意してください。

    コンパートメントの作成の選択

タスク2: ターゲット・データベースのプライベート・エンドポイントの作成

Oracle Data Safeは、パブリックまたはプライベートのIPアドレスを使用したOracleデータベースへの接続をサポートします。プライベートIPアドレスを持つデータベースの場合、Oracle Data Safeプライベート・エンドポイントまたはOracle Data Safeオンプレミス・コネクタの2つのオプションがあります。このチュートリアルでは、DBaaSデータベースを登録するためのプライベート・エンドポイントの作成に焦点を当てます。

スクリプト名: generate_private_endpoints_and_commands_for_missing_vcns.sh

説明:このスクリプトは、Oracle Data Safeプライベート・エンドポイントがない指定されたOCIコンパートメント内のVCNを識別します。欠落しているSCNおよび関連するサブネットをリストするCSVファイルを生成し、OCI CLIコマンドを含むシェル・スクリプトを作成して、各VCNに必要なプライベート・エンドポイントを作成します。

ステップに従います。

  1. コンパートメントOCIDをユーザーに求めます。

  2. Oracle Data Safeプライベート・エンドポイントが欠落しているVCNを識別します。

  3. 欠落しているSCNおよび関連するサブネットをリストします。

  4. 欠落しているSCNおよびサブネットの詳細を含むlist_vcns_without_private_endpoints.csvという名前のCSVファイルを生成します。

  5. OCI CLIコマンドを含むcreate_private_endpoints_commands.shという名前のシェル・スクリプトを作成し、識別されたVCNのプライベート・エンドポイントを作成します。

サンプル出力:

コンパートメントの作成の選択

タスク3: JSON形式でのターゲット・データベース資格証明の生成

このチュートリアルでは、すべてのターゲット・データベースで単一のOracle Data Safeサービス・アカウントが使用されます。したがって、データベース資格証明JSONファイルはすべてのターゲット・データベースで同じになります。

スクリプト名: generate_target_db_credentials.sh

説明:このスクリプトでは、ユーザー名とパスワードの入力を求められ、指定された資格証明を含むCredentials_Target_DBaaS.jsonという名前のJSONファイルが作成されます。JSONファイルは、ターゲット・データベースのユーザー名とパスワードを安全に格納するために使用されます。

ステップに従います。

  1. ユーザーにユーザー名の入力を求めます。

  2. ユーザーにパスワードの入力を要求します。

  3. ユーザー名とパスワードを含むCredentials_Target_DBaaS.jsonという名前のJSONファイルを作成します。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

タスク4: JSON形式でのプライベート・エンドポイント接続オプションの生成

スクリプト名: generate_Connection_Options_private_endpoints.sh

説明:このスクリプトは、OCIコンパートメント内のVCN、サブネットおよびOracle Data Safeプライベート・エンドポイントをリストするプロセスを自動化します。関連するVCNやサブネット名など、各プライベート・エンドポイントに関する詳細情報を含むCSVファイルを生成し、各エンドポイントに個別のJSONファイルを作成して、Oracle Data Safe接続オプションを定義します。

ステップに従います。

  1. コンパートメントIDをユーザーにプロンプトします。

  2. すべてのSCNをリストし、出力をvcn_list.txtに保存します。

  3. すべてのサブネットをリストし、出力をsubnet_list.txtに保存します。

  4. すべてのOracle Data Safeプライベート・エンドポイントをリストし、出力をPE_list.txtに保存します。

  5. 各プライベート・エンドポイントの詳細情報を含むlist_All_private_endpoints_details.csvという名前のCSVファイルを生成します。

  6. Oracle Data Safe接続オプションを指定するプライベート・エンドポイントごとにJSONファイルを作成します。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

タスク5: Oracle Data SafeへのAutonomous Databasesの登録

Oracle Autonomous Database Serverlessを「すべての場所からのセキュア・アクセス」に登録する場合、接続オプションを選択したり、サービス・アカウントの詳細を指定する必要はありません。これらはデフォルトで含まれています。このチュートリアルでは、Oracle Autonomous Database Serverlessを管理および登録する方法を示します。

スクリプト名: generate_Autonomous_database_details_with_data_safe.sh

説明:このスクリプトは、OCIコンパートメント内のOracle Autonomous Databasesをリストし、そのOracle Data Safe登録ステータスをチェックするプロセスを自動化します。すべてのOracle Autonomous Databasesの詳細を含むCSVファイルを生成し、Oracle Data Safeに登録されていないデータベースのJSONファイルを作成します。また、このスクリプトでは、未登録のデータベースごとにOracle Data Safe登録コマンドが準備され、シェル・スクリプトに保存されます。これにより、ユーザーは、生成されたコマンドを実行して、登録されていないデータベースをすばやく登録できます。

ステップに従います。

  1. コンパートメントIDのプロンプト。

  2. Oracle Autonomous Databaseの詳細を含むCSVファイルを生成します。

  3. 未登録データベースのJSONファイルを作成します。

  4. シェル・スクリプトでOracle Data Safe登録コマンドを準備します。

  5. 登録コマンドを実行してデータベースを登録します。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

タスク6: Oracle Data SafeへのOracle Cloudデータベースの登録

スクリプト名: generate_Cloud_database_details_with_data_safe.sh

説明: Oracleクラウド・データベースの詳細とそのプライベート・エンドポイントの抽出および処理を自動化し、JSON構成ファイルを作成し、Oracle Data Safeの登録コマンドを生成します。

ステップに従います。

  1. コンパートメントIDのプロンプト。

  2. DBaaSデータベースをリストし、Output1.txtに保存します。

  3. VMクラスタIDおよびデータベース・システムIDがないデータベースのサブネットIDを追加します。

  4. 結果をOracle_Cloud_Databases_Details.csvに保存します。

  5. プライベート・エンドポイントをリストし、Datasafe_Private-Endpoint_List.txtに保存します。

  6. PDB名ごとにJSONファイルを生成します。

  7. Datasafe_CloudDB_Registration_Commands.shに登録コマンドを作成します。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

タスク7: セキュリティおよびユーザー評価スケジュールの更新

スケジュールを構成して、ターゲット・データベースの最新のセキュリティおよびユーザー評価をOCIの指定されたコンパートメントに自動的に保存できます。詳細は、「セキュリティ評価のスケジュール」および「ユーザー評価のスケジュール」を参照してください。

スクリプト名: generate_datasafe_assessment_schedules.sh

説明:このシェル・スクリプトは、Oracle Data Safeターゲット・データベース、対応するセキュリティおよびユーザー評価の取得、およびOCIの更新スケジュールの生成のプロセスを自動化するように設計されています。このスクリプトは、ユーザーにコンパートメントIDの入力を求め、Oracle Data Safeでアクティブなターゲット・データベースを取得し、2つの更新スケジュール・スクリプト(セキュリティ評価用とユーザー評価用)を生成します。

ステップに従います。

  1. コンパートメントIDのプロンプト。

  2. コンパートメントIDを入力してください。

  3. アクティブ・ターゲットのリスト: Datasafe_Active_TargetDB_list.txtに保存します。

  4. 評価の取得: Datasafe_Active_TargetDBs.txtに詳細を追加します。

  5. スクリプトの生成: schedule_security_assessments.shおよびschedule_user_assessments.shを作成します。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

タスク8: ターゲット・データベースの監査ログの収集の開始

ターゲット・データベースが登録されると、Oracle Data Safeは使用可能な監査証跡を自動的に検出し、各ターゲット・データベースに対応する監査証跡リソースを作成します。監査証跡収集が開始されると、Oracle Data Safeは監査レコードをターゲット・データベースからリポジトリにコピーして、監視および分析を行います。監査データ収集は、必要に応じて開始または停止することで制御できます。詳細は、「監査証跡」を参照してください。

スクリプト名: Generate_DataSafe_Audit_Collection_Scripts.sh

説明:スクリプトGenerate_DataSafe_Audit_Collection_Scripts.shは、Oracle Data Safeターゲット・データベースの監査証跡データを収集するプロセスを自動化します。コンパートメントIDと監査証跡収集の開始時間をユーザーに求めるプロンプトが表示され、ステータスがNOT_STARTEDの監査証跡が取得され、すべてのターゲット・データベースの監査証跡収集を開始する単一のシェル・スクリプトが生成されます。

ステップに従います。

  1. コンパートメントIDの入力:ユーザーにOCIコンパートメントIDの入力を求めます。

  2. 開始時刻の入力:監査収集の開始時刻をYYYY-MM-DD形式で求めます。

  3. 監査証跡のフェッチ: NOT_STARTEDステータスの監査証跡をOCIから取得します。

  4. CSVの生成:関連する監査証跡データをaudit_trails.csvに抽出します。

  5. スクリプトの作成:すべてのターゲットの監査収集を開始するコマンドでData_safe_Target_DB_Audit_Collection_Start.shを生成します。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

タスク9: Oracle Data Safeインベントリの準備

スクリプト名: generate_data_safe_db_inventory.sh

説明:このシェル・スクリプトはOCIと対話して、AUTONOMOUS_DATABASE、DATABASE_CLOUD_SERVICEおよびINSTALLED_DATABASEの各タイプに基づいてOracle Data Safeターゲット・データベース情報を取得および処理します。各データベース・タイプに関する詳細情報を含む出力ファイルを生成します。

ステップに従います。

  1. 入力コンパートメントID:データベースが存在するコンパートメントIDの入力をユーザーに求めます。

  2. データベースのリストおよびフィルタ:指定したコンパートメント内のすべてのOracle Data Safeターゲット・データベースをリストし、タイプでフィルタします。

  3. データベース詳細の取得:

    • AUTONOMOUS_DATABASE:表示名、データベースID、インフラストラクチャ・タイプなどの詳細を取得します。

    • DATABASE_CLOUD_SERVICE:データベース・システムID、VMクラスタID (NULL値の処理)、リスナー・ポートなどの詳細を取得します。

    • INSTALLED_DATABASE:インスタンスID、IPアドレスおよびサービス名などの情報を取得します。

  4. 出力ファイルの生成:収集された詳細を含むデータベース・タイプごとに個別のファイルを作成します。

  5. クリーンアップ:一時ファイルを削除し、出力をファイナライズします。

サンプル・スクリプトの出力:

「Create Identity Domain」を選択します。

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。