ノート:

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は、問題の説明、リスク・レベル、影響を受けるリソースなどの詳細を含む問題レポートを生成します。

このスクリプトを使用すると、顧客は次を実行できます。

このアプローチにより、運用効率が保証されるだけでなく、顧客がより深いインサイトを得て、堅牢なセキュリティ体制を維持できるようになります。

目的

前提条件

OCIクラウド・シェルでのPythonスクリプトの実行

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

  2. 「クラウド・シェル」をクリックして、OCI Cloud Shellを開きます。

    クラウドシェル

  3. 次の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")
    
  4. 設定アイコンをクリックし、「アップロード」をクリックして、ローカル・マシンからPythonスクリプト・ファイルをアップロードします。

    Cloudshellのアップロード

  5. 次のコマンドを使用してPythonスクリプトを実行します。

    python3 report.py
    
  6. 正常に実行されると、problem_report.jsonおよびproblem_report.csvという名前のフォルダに作成された2つのファイルを確認できます。

    コンソール出力

  7. レポートをダウンロードするには、設定アイコンおよび「ダウンロード」をクリックします。レポートのパスとファイル名を入力します。

ノート:スクリプトが実行され、過去180日間に発生した問題を表示するレポートが提供されます。これはルート・コンパートメントで実行されます。表示可能なサブコンパートメントがtrueに設定され、コンパートメントの階層が横断され、テナンシ内のすべてのコンパートメントおよびサブコンパートメントが返されます。

次のステップ

OCIを使用している組織の場合、Oracle Cloud Guardの問題レポートを活用することは、クラウド・セキュリティ戦略の重要な部分です。これらのレポートを定期的に見直し、対応することで、OCIリソースの保護、コンプライアンスの確保、顧客と利害関係者の信頼の維持に役立ちます。

承認

その他の学習リソース

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

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