ユーザーのアクティビティを監査ログで追跡する
2 minute read
W&B の監査ログを使用して、組織内のユーザー活動を追跡し、企業のガバナンス要件に準拠します。監査ログは JSON フォーマットで利用可能です。監査ログスキーマ を参照してください。
監査ログへのアクセス方法は、W&B プラットフォームのデプロイメントタイプによって異なります:
| W&B プラットフォームデプロイメントタイプ | 監査ログアクセス機構 | 
|---|---|
| Self-managed | 10 分ごとにインスタンスレベルのバケットに同期されます。また、API を使用しても利用可能です。 | 
| Dedicated Cloud with secure storage connector (BYOB) | インスタンスレベルのバケット (BYOB) に 10 分ごとに同期されます。また、API を使用しても利用可能です。 | 
| Dedicated Cloud with W&B managed storage (without BYOB) | API を使用してのみ利用可能です。 | 
| SaaS Cloud | エンタープライズプランのみで利用可能です。API を使用してのみ利用可能です。 | 
監査ログを取得した後、Pandas、Amazon Redshift、Google BigQuery、Microsoft Fabric などのツールを使用して分析できます。監査ログの分析ツールによっては JSON をサポートしていないものもあります。分析ツールのドキュメントを参照して、分析前に JSON 形式の監査ログを変換するためのガイドラインと要件をご確認ください。
監査ログの保存
特定の期間に渡って監査ログを保存する必要がある場合、W&B はログを長期保存場所に定期的に転送することを推奨しています。ストレージバケットや監査ログ API を使用できます。
Health Insurance Portability and Accountability Act of 1996 (HIPAA) に準拠する必要がある場合、監査ログは最低 6 年間保存され、保存期間が終了するまで内部または外部のいずれのアクターによっても削除または変更できない環境に保存されなければなりません。HIPAA に準拠した Dedicated Cloud インスタンスには、長期保存ストレージを含むマネージドストレージのためのガードレールを設定する必要があります。
監査ログスキーマ
この表は、監査ログエントリに現れる可能性のあるすべてのキーをアルファベット順に示しています。アクションと状況によって、特定のログエントリには、可能なフィールドのサブセットのみが含まれる場合があります。
| キー | 定義 | 
|---|---|
| action | イベントのアクション。 | 
| actor_email | アクションを開始したユーザーのメールアドレス(該当する場合)。 | 
| actor_ip | アクションを開始したユーザーの IP アドレス。 | 
| actor_user_id | アクションを実施したログインユーザーの ID(該当する場合)。 | 
| artifact_asset | アクションに関連するアーティファクト ID(該当する場合)。 | 
| artifact_digest | アクションに関連するアーティファクトダイジェスト(該当する場合)。 | 
| artifact_qualified_name | アクションに関連するアーティファクトの完全名(該当する場合)。 | 
| artifact_sequence_asset | アクションに関連するアーティファクトシーケンス ID(該当する場合)。 | 
| cli_version | アクションを開始した Python SDK のバージョン(該当する場合)。 | 
| entity_asset | アクションに関連するエンティティまたはチーム ID(該当する場合)。 | 
| entity_name | アクションに関連するエンティティまたはチーム名(該当する場合)。 | 
| project_asset | アクションに関連するプロジェクト(該当する場合)。 | 
| project_name | アクションに関連するプロジェクトの名前(該当する場合)。 | 
| report_asset | アクションに関連するレポート ID(該当する場合)。 | 
| report_name | アクションに関連するレポートの名前(該当する場合)。 | 
| response_code | アクションの HTTP レスポンスコード(該当する場合)。 | 
| timestamp | イベントの時間を RFC3339 形式 で示します。例えば、 2023-01-23T12:34:56Zは 2023 年 1 月 23 日 12 時 34 分 56 秒 UTC を示します。 | 
| user_asset | アクションが影響を与えるユーザーアセット(アクションを実行するユーザーではなく)(該当する場合)。 | 
| user_email | アクションが影響を与えるユーザーのメールアドレス(アクションを実行するユーザーのメールアドレスではなく)(該当する場合)。 | 
個人を特定できる情報 (PII)
個人を特定できる情報 (PII) は API エンドポイントオプションを使用することによってのみ利用可能です。
- Self-managed および Dedicated Cloud では、組織の管理者は監査ログを取得する際に PII を除外 できます。
- SaaS Cloud では、監査ログの関連フィールドを常に API エンドポイントが返します。PII を含むこれらのフィールドは設定変更できません。
監査ログの取得
W&B インスタンスの監査ログは、Audit Logging API を使用して、組織またはインスタンス管理者が取得できます。そのエンドポイントは audit_logs/ です。
- 
管理者以外のユーザーが監査ログを取得しようとすると、HTTP 403エラーが発生し、アクセスが拒否されたことが示されます。
- 
複数のエンタープライズ SaaS Cloud 組織の管理者である場合、監査ログ API リクエストが送信される組織を設定する必要があります。プロフィール画像をクリックし、ユーザー設定 をクリックしてください。その設定は デフォルト API 組織 と呼ばれます。 
- 
インスタンスに対する正しい API エンドポイントを決定します: - Self-managed: <wandb-platform-url>/admin/audit_logs
- Dedicated Cloud: <wandb-platform-url>/admin/audit_logs
- SaaS Cloud (エンタープライズ 必須): https://api.wandb.ai/audit_logs
 次のステップで、 <API-endpoint>を実際の API エンドポイントで置き換えてください。
- Self-managed: 
- 
基本エンドポイントから完全な API エンドポイントを構築し、必要に応じて URL パラメータを含めます: - 
anonymize:trueに設定すると、PII を削除します。デフォルトはfalseです。監査ログ取得時の PII を除外 を参照してください。SaaS Cloud ではサポートされていません。
- 
numDays:today - numdaysから最新のログまで取得されます。デフォルトは0で、今日のログのみを返します。SaaS Cloud では過去最大 7 日分の監査ログを取得できます。
- 
startDate: オプションの日付、YYYY-MM-DD形式で指定します。 SaaS Cloud でのみサポートされています。startDateとnumDaysの相互作用:- startDateと- numDaysの両方を設定すると、- startDateから- startDate+- numDaysの範囲でログが返されます。
- startDateを省略して- numDaysを含めると、- todayから- numDaysまでの範囲でログが返されます。
- startDateと- numDaysのどちらも設定しないと、今日のログのみが返されます。
 
 
- 
- 
Web ブラウザーや Postman、HTTPie、cURL などのツールを使用して、構築した完全修飾 API エンドポイントに対して HTTP GETリクエストを実行します。
API レスポンスには、新しい行で区切られた JSON オブジェクトが含まれます。監査ログがインスタンスレベルのバケットに同期される場合と同じように、そのオブジェクトには スキーマ に記載されたフィールドが含まれます。その場合、監査ログはバケット内の /wandb-audit-logs ディレクトリー内に配置されます。
基本認証を使用する
Audit logs API に アクセスするために基本認証を API キーで使用するには、HTTP リクエストの Authorization ヘッダーを Basic という文字列の後にスペースを置き、 その後にフォーマット username:API-KEY で base-64 エンコードされた文字列を設定します。すなわち、ユーザー名と API キーを : 文字で区切って、その結果を base-64 エンコードします。例えば、demo:p@55w0rd として認証するには、ヘッダーは Authorization: Basic ZGVtbzpwQDU1dzByZA== となります。
監査ログ取得時の PII を除外する
Self-managed および Dedicated Cloud では、W&B の組織やインスタンス管理者が監査ログを取得する際に PII を除外できます。SaaS Cloud では、監査ログの関連フィールドを常に API エンドポイントが返します。この設定は変更できません。
PII を除外するには、URL パラメータ anonymize=true を渡します。例えば、W&B インスタンスの URL が https://mycompany.wandb.io で、過去 1 週間のユーザー活動の監査ログを取得し、PII を除外したい場合、以下のような API エンドポイントを使用します:
https://mycompany.wandb.io/admin/audit_logs?numDays=7&anonymize=true.
アクション
この表は、W&B によって記録される可能性のあるアクションをアルファベット順で説明しています。
| アクション | 定義 | 
|---|---|
| artifact:create | アーティファクトが作成されます。 | 
| artifact:delete    | アーティファクトが削除されます。 | 
| artifact:read | アーティファクトが読み取られます。 | 
| project:delete | プロジェクトが削除されます。 | 
| project:read | プロジェクトが読み取られます。 | 
| report:read | レポートが読み取られます。 1 | 
| run:delete_many | 複数の run が削除されます。 | 
| run:delete | run が削除されます。 | 
| run:stop | run が停止されます。 | 
| run:undelete_many | 複数の run がゴミ箱から復元されます。 | 
| run:update_many | 複数の run が更新されます。 | 
| run:update | run が更新されます。 | 
| sweep:create_agent | sweep agent が作成されます。 | 
| team:create_service_account | チーム用のサービスアカウントが作成されます。 | 
| team:create | チームが作成されます。 | 
| team:delete | チームが削除されます。 | 
| team:invite_user | ユーザーがチームに招待されます。 | 
| team:uninvite | ユーザーまたはサービスアカウントがチームから招待取り消されます。 | 
| user:create_api_key | ユーザーの API キーが作成されます。1 | 
| user:create | ユーザーが作成されます。 1 | 
| user:deactivate | ユーザーが無効化されます。1 | 
| user:delete_api_key | ユーザーの API キーが削除されます。1 | 
| user:initiate_login | ユーザーがログインを開始します。1 | 
| user:login | ユーザーがログインします。1 | 
| user:logout | ユーザーがログアウトします。1 | 
| user:permanently_delete | ユーザーが完全に削除されます。1 | 
| user:reactivate | ユーザーが再活性化されます。1 | 
| user:read | ユーザーのプロフィールが読み取られます。1 | 
| user:update | ユーザーが更新されます。1 | 
1: SaaS Cloud では、監査ログは次の項目で収集されません:
- オープンまたはパブリックプロジェクトの場合。
- report:readのアクション。
- 特定の組織に関連付けられていない Userのアクション。
フィードバック
このページは役に立ちましたか?
Glad to hear it! If you have more to say, please let us know.
Sorry to hear that. Please tell us how we can improve.