ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Pythonスクリプトを使用したOracle Cloud Guard問題レポートの取得
イントロダクション
組織が重要なワークロードをクラウドに移行するにつれて、クラウド・インフラストラクチャの保護が最重要になっています。Oracle Cloud Infrastructure(OCI)は、クラウド環境を保護するための包括的なセキュリティ・サービス・セットを提供し、OCIのセキュリティ・スイートの優れたツールの1つはOracle Cloud Guardです。
Oracle Cloud Guardは、セキュリティ・ポスチャ、脅威の検出、脆弱性管理、コンプライアンス・チェックをリアルタイムで可視化することで、企業がOCIリソースを保護できるよう支援します。Oracle Cloud Guardの主な機能は、問題レポートを生成する機能です。これは、堅牢なセキュリティ体制を維持しようとする組織にとって非常に貴重な機能です。
現在、Oracle Cloud Guardコンソールでは、問題レポートの直接エクスポートはサポートされていません。このチュートリアルでは、JSON形式とCSV形式の両方でこれらのレポートを生成およびダウンロードするためのPythonスクリプトを提供します。問題が検出されると、Oracle Cloud Guardは、問題の説明、リスク・レベル、影響を受けるリソースなどの詳細を含む問題レポートを生成します。
このスクリプトを使用すると、顧客は次を実行できます。
-
問題データのオフライン分析を実行します。
-
セキュリティ情報およびイベント管理(SIEM)ソリューションへのアドホック・アップロード・レポートにより、脅威の検出と相関性が強化されます。
-
分析ダッシュボードまたはその他のレポート・ツールと統合して、パターン、傾向および根本原因を特定します。
このアプローチにより、運用効率が保証されるだけでなく、顧客がより深いインサイトを得て、堅牢なセキュリティ体制を維持できるようになります。
目的
- Pythonスクリプトを使用してOracle Cloud Guardの問題レポートを取得します。
前提条件
-
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)でのアクセス権限であって、Oracle Cloud Guardを表示すること。詳細は、Oracle Cloud Guardの有効化を参照してください。
-
OCI Cloud Shellへのアクセス。詳細は、OCI Cloud Shellに必要なIAMポリシーを参照してください。
OCIクラウド・シェルでのPythonスクリプトの実行
-
OCIコンソールにログインします。
-
「クラウド・シェル」をクリックして、OCI Cloud Shellを開きます。
-
次のPythonスクリプトをコピーし、
report.py
としてローカル・マシンに保存して、OCI Cloud Shellで実行します。import oci from datetime import datetime import json import csv config = oci.config.from_file() #print(config['tenancy']) #today = datetime.today() #print("Current date: ") #print(today) #firstdate = (today - timedelta(days=180)) #print("Time first detected is: ") #print(firstdate) cloud_guard_client = oci.cloud_guard.CloudGuardClient(config) list_problems_response = cloud_guard_client.list_problems( compartment_id=config['tenancy'], compartment_id_in_subtree=True, access_level="ACCESSIBLE", #time_first_detected_greater_than_or_equal_to=firstdate, limit=1000000) response = list_problems_response.data #print(response) string = str(response) res_data = json.loads(string) output_file = "problem_report.json" with open(output_file, 'w') as json_file: json.dump(res_data, json_file) with open('problem_report.json') as json_file: data = json.load(json_file) prob_data = data['items'] csv_file = open("problem_report.csv", "w", newline="") csv_writer = csv.writer(csv_file) count = 0 for res in prob_data: if count == 0: # Writing headers of CSV file header = res.keys() csv_writer.writerow(header) count += 1 # Writing data of CSV file csv_writer.writerow(res.values()) print("Script executed successfully") print("\nReports are generated and saved")
-
設定アイコンをクリックし、「アップロード」をクリックして、ローカル・マシンからPythonスクリプト・ファイルをアップロードします。
-
次のコマンドを使用してPythonスクリプトを実行します。
python3 report.py
-
正常に実行されると、
problem_report.json
およびproblem_report.csv
という名前のフォルダに作成された2つのファイルを確認できます。 -
レポートをダウンロードするには、設定アイコンおよび「ダウンロード」をクリックします。レポートのパスとファイル名を入力します。
ノート:スクリプトが実行され、過去180日間に発生した問題を表示するレポートが提供されます。これはルート・コンパートメントで実行されます。表示可能なサブコンパートメントがtrueに設定され、コンパートメントの階層が横断され、テナンシ内のすべてのコンパートメントおよびサブコンパートメントが返されます。
次のステップ
OCIを使用している組織の場合、Oracle Cloud Guardの問題レポートを活用することは、クラウド・セキュリティ戦略の重要な部分です。これらのレポートを定期的に見直し、対応することで、OCIリソースの保護、コンプライアンスの確保、顧客と利害関係者の信頼の維持に役立ちます。
関連リンク
承認
- 著者 - Samratha S P (シニア・クラウド・エンジニア)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Retrieve Oracle Cloud Guard Problem Reports using a Python Script
G23006-01
December 2024