監査ログ
監視ログの概要
CircleCI では、監査およびフォレンジック分析の目的で、重要なイベントをログとしてシステムに記録します。 監査ログは、パフォーマンスやネットワークメトリクスを追跡するシステムログとは区別されます。
CircleCI serverのお客様、およびパフォーマンス、スケールとクラウドのお客様は、 WebアプリのUIから監査ログ機能にアクセスすることが可能です。
-
Web アプリのサイドバーで「Organization Settings」を選択します。
-
メニューから「Security」を選択します。 . 「Audit Log」セクションまでスクロールダウンし、日付範囲を指定します。
-
「Request audit logs]をクリックして、監査ログをCSVファイルとしてダウンロードします。 ネストされたデータを含む監査ログフィールドには JSON BLOB が含まれます。
内部挙動により、監査ログに重複するイベントが生成される場合があります。 ダウンロードしたログの id フィールドはイベントに固有であるため、このフィールドを使用して重複するエントリを特定できます。 |
データ保持ポリシー に基づき、監査ログは最大で 12 ヵ月分取得できます。
監査ログのイベント
ログには以下のシステムイベントが記録されます。 定義と形式については、下記の「監査ログフィールド」セクションの action
を参照してください。
-
context.create
-
context.delete
-
context.env_var.delete
-
context.env_var.store
-
project.env_var.create
-
project.env_var.delete
-
project.settings.update
-
project.ssh_key.create
-
project.ssh_key.delete
-
project.api_token.create
-
schedule.create
-
schedule.update
-
schedule.delete
-
workflow.job.approve
-
workflow.job.finish
-
workflow.job.scheduled
-
workflow.job.start
-
org.workflows.deleted
監査ログのフィールド
-
action: 実行され、イベントを生成したアクション。 ドット区切りの小文字 ASCII ワードの形式が使用され、影響を受けたエンティティが先頭、実行されたアクションが末尾に含まれます。 エンティティは、たとえば
workflow.job.start
のようにネストされる場合があります。 -
actor:: 対象のイベントを実行したアクター。 ほとんどの場合は CircleCI ユーザーです。 このデータは JSON BLOB で、
id
とtype
が必ず含まれ、多くの場合name
も含まれます。 -
target: 対象のイベントで影響を受けたエンティティのインスタンス (プロジェクト、組織、アカウント、ビルドなど)。 このデータは JSON BLOB で、
id
とtype
が必ず含まれ、多くの場合name
も含まれます。 -
payload: アクション固有の情報の JSON BLOB。 payload のスキーマは、同じ
action
とversion
を持つすべてのイベントで一貫していると想定されます。 -
occurred_at: イベントが発生した UTC 日時。時刻は、最大 9 桁の小数精度の ISO-8601 形式で表されます (例:'2017-12-21T13:50:54.474Z')。
-
metadata: 任意のイベントに付加できるキーと値のペアのセット。 キーと値はすべて文字列です。 これを使用すると、特定の種類のイベントに情報を追加できます。
-
id: 対象のイベントを一意に識別する UUID。 イベントのコンシューマーが、重複するデリバリーを識別できるようにします。
-
version: イベントスキーマのバージョン。 現在、値は必ず「1」になります。 今後のバージョンでは、スキーマの変更に合わせてこの値も変更になる可能性があります。
-
scope: ターゲットが CircleCI ドメイン モデル内のアカウントによって所有されている場合、アカウントフィールドにはアカウント名と ID が挿入されます。 このデータは JSON BLOB で、
id
とtype
が必ず含まれ、多くの場合name
も含まれます。 -
success: アクションが成功したかどうかを示すフラグ。
-
request: 対象のイベントが外部リクエストによってトリガーされた場合に挿入されるデータ。同じ外部リクエストから発生したイベントどうしを関連付けるために使用できます。
id
(CircleCI がこのリクエストにより割り当てた一意の ID) を含む JSON BLOB の形式で表示されます。
Webアプリから監視ログをリクエスト
CircleCI をご利用者のお客様は、Webアプリから監視ログをリクエストしていただくことが可能です。 この機能を利用するには、組織管理者(organization admins)である必要があります。
リクエストの回数制限は以下の通りです。
-
Free プラン: 1日1件までリクエスト可能
-
全ての有料プラン: 1日3件までリクエスト可能
-
最大30日間のクエリウィンドウ - 過去1暦年内に開始した任意の30日間のログをリクエストすることが可能
お客様の組織が30日あたりのリクエスト数の上限に達した場合、監視ログのリクエスト機能は無効になります。 無効になった「監視ログのリクエスト - Request audit logs」ボタンにカーソルを合わせると、ツールチップに新しいリクエスト可能日が表示されます。 また、保留中のリクエストは、料金の上限にカウントされます。
注: 数量とリクエスト期間は変更されることがございます。
「組織設定(Organization Settings)」> 「セキュリティ(Security)」から「監視ログ(Audit Log)」セクションを表示します。 次にドロップダウンから日付範囲を選択し、「監視ログをリクエスト(Request audit logs)」ボタンをクリックします。 最も早い開始日は現在から1年前、最も遅い終了日は現在日です。 利用可能なデータは、組織ごとに設定されたデータ保持期間によって異なるため、表示されるデータがリクエストされた期間より短くなる可能性があります。
リクエストされた日付はUTCで表示されます。 時間帯の差から生じる問題を避けるために、CircleCI では、お客様のリクエストより範囲を広くデータを表示いたします。 例: お客様により8月2日~8月5日をリクエストされた場合、表示される結果は8月1日~8月6日の範囲となります。 監視ログのリクエスト欄もUTCで表示されます。 |
監視ログのステータス
UIでは、ステータスのリクエストによって以下の情報が表示されます。
-
リクエストされた時間枠 (Timeframe requested)
-
リクエストを依頼したユーザー情報 (User who made the request)
-
リクエストの受付日 (Date request was made)
-
リクエストの有効期限 (Expiry date of the request)
-
リクエストのステータス(成功、失敗、リクエスト済み)
リクエストが成功すると、ダウンロードリンク付きのアクティブ、データなしのアクティブ(ダウンロードリンクなし)、または有効期限切れ(ダウンロード不可)のいずれかになります。 ダウンロード期限は10日間です。
ステータスは1時間に1回、毎時30分ごとに更新されます(例: 09:30、10:30、11:30)。