Oracle Cloud Infrastructureのコンソール操作やAPIアクセスは、監査ログとしてデフォルト90日間保存されています。(最大365日まで指定可能)
監査ログ自体はJSON形式で、OCI内に以下のような検索機能も用意されています。
ここでは、このJSON形式の監査ログを取り出し、Oracle Management Cloudにインポートして、パワフルな分析・レポート機能を活用できるようにするための手順を紹介します。
OCIから監査ログを取り出す
- 以下のブログを参考に、OCI CLIコマンドが実行できる環境を準備する
#oci audit コマンド
oci audit event list --all --start-time 開始日時 --start-time 終了日時 --compartment-id コンパートメントID
#実行例
oci audit event list --all --start-time=2019-12-01T00:00:00.000+09:00 --end-time=2019-12-02T00:00:00.000+09:00 --compartment-id ocid1.compartment.oc1..aaaaaaaa6it5wsxbeoyxpbxmq5aupsag7jo4mxsot7hhuxvjp5uqnvuxgf4a > ociaudit.json
OMCにOCI監査ログをアップロード
OCIのカスタム・パーサーをダウンロードする
https://github.com/western24/omc4oci/raw/master/content_oci4audit.zip
-
OMCに監査ログをアップロードする
ociaudit.jsonファイルを以下のリンクを参考に手動でアップロードする
https://qiita.com/western24/items/1d00475d0f0b8c2bb0f9
※ログソースの関連付けでは、OCI Auditを選択する (OCI Audit Logsではない)
OMCによる分析例
-
OCI上での変更に関連した操作イベントのグラフ -> Event NameをY軸、Request ActionをPost,Deleteで指定
-
principal-id(フェデレーテッドユーザー)で絞り込み、特定のユーザーの操作の円グラフ (※ローカルユーザーはuser-nameフィールド)
OCI Auditで対象期間が長期間の場合、かなり時間がかかる場合があります。その場合は、Service Request経由でまとめて取得したほうが良いかもしれません。
毎回、OMCコンソールからアップロードするのは面倒なので、OCIのログ出力からOMCへのアップロードまでの自動化スクリプトを作成してみました。
https://github.com/western24/omc4oci
Oracle Management Cloud関連の情報はこちら