Appearance
Envelope
Envelope は、すべての監査イベントが共通して持つトップレベルフィールドです。 形はイベントの種類によらず一定で、「いつ・誰が・何に・何をして・どうなったか」は どのイベントでも同じフィールドから読み取れます。
event / scope / actor / resource / result はすべてのイベントに付きます。 残りのフィールドは、該当する情報を持つイベントにのみ付きます。 どのイベントに付くかは、各フィールドの説明と各イベントページを参照してください。
イベント固有の情報
イベントの種類ごとに異なる情報は、内容に応じて次のフィールドに分かれて入ります。 なかでも change と grant はどちらも変更を記録するため、変更の対象で使い分けます。
| フィールド | 記録する内容 | 例 |
|---|---|---|
resource | 操作対象そのものと、その識別子・階層 | 名前を変更したノートブック |
references | 操作対象以外の関連リソース | 複製元のノートブック |
change | 操作対象のリソース自身の属性の変更 | 変更前後のノートブック名 |
grant | 主体と対象の関係(権限・ロール・所属)の変更 | ユーザーに与えたノートブックの編集権限 |
context | 操作の経路と、経路に付随する状態 | レポート経由での閲覧 |
query | データをどう取り出そうとしたかの仕様 | 実行した SQL |
extra | 上記のいずれにも該当しないイベント固有の情報 | 参加時に一致した許可ドメイン |
Fields
event
イベント1件そのものを識別する情報です。
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
uid | string | 必須 | イベント1件に付く一意な識別子。同じイベントが重複して届いた場合の判別に使えます。 format: uuidv7 |
code | string | 必須 | イベントの種類を表すコード。{ドメイン}.{アクション} 形式で、一度公開された値は変わりません。 |
time | timestamp | 必須 | イベントが発生した時刻。サーバー側で記録した UTC の時刻です。 RFC 3339 形式で、小数点以下はマイクロ秒(6桁)まで入ります。 precision: microsecond |
scope
イベントがどこで起きたかを表します。 ワークスペース内の操作、アカウント全体に関わる操作、どちらにも属さない操作を区別し、 該当する識別子を持ちます。
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
type | ScopeType | 必須 | スコープの種類。この値によって、どの識別子が入るかが決まります。 |
account_uid | string | 条件付き | イベントが属するアカウントの識別子type が account のときに入ります。 |
workspace_uid | string | 条件付き | イベントが属するワークスペースの識別子type が workspace のときに入ります。 |
actor
操作した主体(誰が)と、認証に使われた資格情報(どのように)です。 主体はユーザーだけでなく、APIキーやワークフロー、内部処理の場合もあります。
型は Actor です。
resource
操作対象のリソース(何に対して)です。 イベント発生時点の表示名と、親リソースを含む階層を持ちます。
型は Resource です。
references
操作対象以外の関連リソースへの参照です。 操作対象のほかに関係するリソースがあるイベントに付きます。
どのイベントがどの関係(relation)の参照を持つかは、各イベントページの references を参照してください。
型は RelatedReference の配列です。
context
その操作がどの経路から行われたかを表す情報です。 特定の経路を通った操作にのみ付き、経路を持たない操作では付きません。 どの経路が記録されるかは Context を参照してください。
型は Context です。
result
操作の結果です。拒否・失敗した操作も、試みられた事実としてイベントに残ります。
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
status | ResultStatus | 必須 | 操作が成功したか、拒否・失敗したか |
reason | string | 任意 | 拒否または失敗の理由 sensitivity: confidential |
request
操作のきっかけになった HTTP リクエストの情報です。 定期実行や内部処理など、リクエストを伴わない操作では付きません。
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
uid | string | 任意 | リクエスト1件に付く識別子。1回のリクエストから複数のイベントが記録された場合、この値で関連付けられます。 format: uuidv7 |
operation | string | 任意 | 呼び出された API の操作名 |
path | string | 任意 | 呼び出された API の URL パス |
source_ip | string | 任意 | リクエスト元の IP アドレス sensitivity: pii |
user_agent | string | 任意 | ユーザーエージェント sensitivity: pii |
cli_version | string | 任意 | CLI のバージョン |
query
その操作でデータをどう取り出そうとしたかの仕様です。 データソースからデータを取り出す操作に付きます。
型は Query です。
change
resource 自身の属性が変わったときの、変更前後の値です。 名前や設定の変更を記録するイベントに付きます。 他のリソースとの関係の変化は change ではなく grant に入ります。
どのイベントがどの属性を記録するかは、各イベントページの change を参照してください。
型は Change です。
grant
主体と対象の関係(権限・ロール・所属)が変わったときの、変更前後のロールです。 権限の付与・剥奪や、リソースへの追加・削除を記録するイベントに付きます。
型は Grant です。
extra
上記のどのフィールドにも該当しなかった、そのイベント固有の値です。
extra の中身はイベントごとに異なり、共通のスキーマを持ちません。 そのため、イベントをまたいだ横断的な絞り込みには使えません。 横断して扱える情報は、extra ではなく型付きのフィールドに入っています。
どのイベントがどの値を持つかは、各イベントページの extra を参照してください。 該当する値がないイベントでは、フィールド自体が付きません。
Enums
ScopeType
イベントがどこで起きたかの種別です。
| 値 | 説明 |
|---|---|
workspace | 特定のワークスペース内の操作(workspace_uid が入る) |
account | 特定のワークスペースに帰属しないアカウントの操作(account_uid が入る) |
system | ワークスペースにもアカウントにも属さない操作(どちらの識別子も入らない) |
ResultStatus
操作の結果です。
| 値 | 説明 |
|---|---|
success | 操作が正常に完了 |
deny | 権限不足などによる拒否(操作は実行されない) |
failure | 権限は足りていたが、処理中のエラーにより失敗 |