スマートスタイル TECH BLOG

データベース&クラウド技術情報

OCIで別テナントのログを収集してみよう

はじめに

OCI に限らず、基本的な部分として特別な設定を行わない場合、自テナントの情報しか取得することが出来ないことは、セキュリティ的にも普通なことだと思われます
しかし、子テナントを作成して運用していたり、別会社にて契約されているテナントの情報を取得したい場合など、クロステナンシで接続したいことは少なからず発生致します
そこで、本記事では別テナントの Logging サービスで出力されている監査ログを取得し、オブジェクト・ストレージに格納する設定をご紹介したいと思います
※子テナントを部署毎に作成し、親テナント側で一括で監査ログを管理・収集する運用をイメージしていただければ、判りやすいかと思います

構成


本記事では添付した構成のように、 src tenant の監査ログを Logging サービスを経由し、 accumulation tenant の Service Connector Hub で収集してオブジェクト・ストレージに格納する構成としています

SRC テナントのポリシー

上記ポリシーを src tenant に設定します
設定内容は

  1. accumulation tenant の ocid でテナントを定義
  2. accumulation tenant の Service Connector に監査ログへの read 権を付与
    となります

Accumulation テナントのポリシー

上記ポリシーを accumulation tenant に設定します
設定内容は

  1. src tenant の ocid でテナントを定義
  2. src tenant の監査ログへの read 権を Service Connector に定義
  3. オブジェクト・ストレージのバケットへ Service Connector から格納する権限を付与
    となります

Service Connector の作成

Service Connector を作成する際に、下記の注意点がございます

  1. ソースをリモートテナントの Logging サービスにするため、OCID で指定することが出来ない GUIでは設定出来ません(OCI CLI や REST API を使用する必要があります)
  2. 監査ログには、ログ・グループIDが存在しないため、 _Audit を指定します
    a. 内部的には OCID が存在するのかもしれませんが表示されず、確認することも出来ません
    b. 後述する方法により、 _Audit というグループIDを特定し、使用しています
    c. _Audit の利用は現時点では可能でありますが、将来的に利用出来る保証はございません

監査ログのグループIDの確認手法

ロギングの検索などで拡張モードにすると、以下の問い合わせ構文が得られます

上記より、監査ログのグループIDは _Audit で利用可能であると推察し動作確認を行っております
また、サブコンパートメントに_Auditを含める場合には、 _Audit_Include_Subcompartment とすれば良いようです

まとめ

Service Connector 作成時のポイントに注意すれば、別テナントの監査ログを一つのテナントに集約させることが簡単に行えます

また、 Service Connector を OCI CLI で作成することの利点として、下記画像のように監査ログをプレフィックス付きでバケットに格納することも出来ます

通常、 Service Connector Hub でオブジェクト・ストレージにログファイルを格納すると、バケットの直下に格納され、プレフィックスを付与することは出来ません
OCI CLI で作成しプレフィックスを付与すれば、監査ログ用のバケットを一つ用意し、プレフィックスによりテナントを整理するといったことも可能となります

Return Top