2
2

More than 3 years have passed since last update.

Identity Cloud Serviceの監査ログをOracle Management Cloudで分析する

Last updated at Posted at 2020-02-04

Oracle Cloud infrastructureでIAMのローカルユーザーでなく、同期済みユーザーを使用している場合のログオン情報はIDCS(identity Cloud Service)のレポートで参照することができます。

  • IDCSのレポート画面 image.png

ここではIDCSからREST APIでJSON形式の監査ログを取り出し、OMC側にインポートすることで、以下のような既存のGUIでは表示されない情報や詳細な分析画面を作成する手順を紹介します。

  • OMCでIDCSの監査ログを取り込んだダッシュボード image.png

IDCSにREST APIのアクセス可能な設定を追加する

  • IDCSのコンソールからアプリケーションのアイコンをクリックする
    image.png

  • 機密アプリケーションの追加
    image.png

  • 名前をつけて次へクリック
    image.png

  • クライアント資格証明をチェックし、"Identity Cloud Service管理者へのクライアント・アクセス権を付与します"の項目で、Identity Domain Administratorを追加する
    image.png
    image.png

  • 次をクリックし、終了で作成する
    image.png

  • 以下の画面がポップアップされるのでクライアントIDとクライアント・シークレットをメモする。作成後、右上のアクティブ化を忘れずに実行する
    image.png

REST APIでIDCSから監査ログを取得する

#IDCSからアクセストークンを取得する
curl -k -X POST -u "クライアントID:クライアント・シークレット" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" https://IDCSアドレス/oauth2/v1/token -d "grant_type=client_credentials&scope=urn:opc:idm:__myscopes__"

#実行例
クライアント・シークレット
curl -k -X POST -u "d05c80cfe7154be1ad7193ee92330123:0000000-0000-0000-0000-000000000000" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" https://idcs-baa6d43cf10d4f9128b9fa2a7b3a11dff.identity.oraclecloud.com/oauth2/v1/token -d "grant_type=client_credentials&scope=urn:opc:idm:__myscopes__"

#コマンドが成功するとアクセストークンが返ってくる
{"access_token":"アクセストークン(約4KB)","token_type":"Bearer","expires_in":3600}

#IDCSから監査ログを抽出する
curl -k -X GET -H "Content-Type:application/json" -H "Authorization: Bearer アクセストークン" "https://IDCSアドレス/admin/v1/AuditEvents?count=1000&sortBy=timestamp&sortOrder=descending&filter=eventId%20sw%20%22sso%22timestamp%20ge%20%開始時間%22and%20timestamp%20le%20%22終了時間%22&attributeSets=all"

#実行例
curl -k -X GET -H "Content-Type:application/json" -H "Authorization: Bearer アクセストークン " "https://idcs-baa6d43cf10d4f978b9fa2a7b3a11dee.identity.oraclecloud.com/admin/v1/AuditEvents?count=1000&sortBy=timestamp&sortOrder=descending&filter=eventId%20sw%20%22sso%22timestamp%20ge%20%222020-02-02T15:00:00.000Z%22and%20timestamp%20le%20%222020-02-03T15:00:00.0Z%22&attributeSets=all" > idcsaudit.json

※count(ログ件数)は最大1000まで。fileterは対象の監査ログの条件を指定することができる。URLエンコードでの記述が必要。日時はUTC。

詳しくは、IDCSのREST APIのドキュメントを参照

OMCにIDCSの監査ログをアップロード

IDCSのカスタム・パーサーをダウンロードする
https://github.com/western24/omc4oci/raw/master/IDCS_custom_logsource.zip

  • OMCへカスタム・パーサーをアップロードする
    image.png
    image.png

  • OMCに監査ログをアップロードする
    idcsaudit.jsonファイルを以下のリンクを参考に手動でアップロードする
    https://qiita.com/western24/items/1d00475d0f0b8c2bb0f9
    ※ログソースの関連付けでは、IDCS Custom Audit Logを選択する (IDCS Audit API Logsではない)

OMCによる分析

  • ログイン・ログアウトの推移。EventIDでグループ化し、以下を指定する

    • sso.session.create.success (ログイン)
    • sso.session.delete.success (ログオフ)
    • sso.authentication.failure (ログイン失敗) image.png
  • ログイン失敗ユーザ。X軸 actorName、EventIDはsso.authentication.failureを指定
    image.png

  • クライアントIP。Host Address(Client)をグループ化基準にする
    image.png

OMCは、IPアドレスから逆引きで国や都市の情報を引っ張ってくることができます。グループ化基準にClient Host CountryやClient Host Cityでどのロケーションからアクセスしてきたのかまでの特定が可能です。
image.png

OCIのIAMのローカルユーザーでログインした場合は、OCIのAudit側に出力されるので、OCIの監査ログと組み合わせて一つのダッシュボードとしてまとめるのも良いかもしれません。

Oracle Cloud Infrastructureの監査ログをOracle Management Cloudで分析する

Oracle Management Cloud関連の情報はこちら

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2