> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-serverless-sft-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 監査ログで User アクティビティを追跡する

W\&Bの監査ログ（Audit logs）を使用すると、組織内のユーザーアクティビティを追跡し、企業のガバナンス要件に準拠することができます。監査ログはJSON形式で提供されます。[監査ログのスキーマ](#audit-log-schema)を参照してください。

監査ログへのアクセス方法は、W\&Bプラットフォームのデプロイメントタイプによって異なります。

| W\&Bプラットフォームのデプロイメントタイプ                                                    | 監査ログのアクセス方法                                                                                                                                                                                                                                                             |
| -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Dedicated Cloud](/platform/hosting/hosting-options/dedicated_cloud)       | <ul><li>[インスタンスレベルのBYOB](/platform/hosting/data-security/secure-storage-connector): 10分ごとにインスタンスレベルのバケット（BYOB）に同期されます。また、[API](#fetch-audit-logs-using-api)を使用して取得することも可能です。</li><li>デフォルトのインスタンスレベルストレージ: [API](#fetch-audit-logs-using-api)を使用した場合のみ利用可能です。</li></ul> |
| [Multi-tenant Cloud](/platform/hosting/hosting-options/multi_tenant_cloud) | Enterpriseプランのみ利用可能です。[API](#fetch-audit-logs-using-api)を使用した場合のみ利用可能です。                                                                                                                                                                                                |
| [Self-Managed](/platform/hosting/hosting-options/self-managed)             | 10分ごとにインスタンスレベルのバケットに同期されます。また、[API](#fetch-audit-logs-using-api)を使用して取得することも可能です。                                                                                                                                                                                      |

監査ログを取得した後は、[Pandas](https://pandas.pydata.org/docs/index.html)、[Amazon Redshift](https://aws.amazon.com/redshift/)、[Google BigQuery](https://cloud.google.com/bigquery)、[Microsoft Fabric](https://www.microsoft.com/microsoft-fabric) などのツールを使用して分析できます。一部の監査ログ分析ツールはJSONをサポートしていません。分析前にJSON形式の監査ログを変換するためのガイドラインや要件については、お使いの分析ツールのドキュメントを参照してください。

ログの形式に関する詳細は、[監査ログのスキーマ](#audit-log-schema)および[アクション](#actions)を参照してください。

## 監査ログの保持

* 特定の期間、監査ログを保持する必要がある場合、W\&BはストレージバケットまたはAudit Logging APIを使用して、ログを定期的に長期ストレージに転送することを推奨します。
* [1996年の医療保険の相互運用性と責任に関する法律（HIPAA）](https://www.hhs.gov/hipaa/for-professionals/index.html)の対象となる場合、監査ログは、義務付けられた保持期間が終了するまで内部または外部のいかなる主体によっても削除または変更できない環境で、最低6年間保持する必要があります。BYOBを使用したHIPAA準拠の [Dedicated Cloud](/platform/hosting/hosting-options/dedicated_cloud) インスタンスの場合、長期保持ストレージを含む管理ストレージに対してガードレールを設定する必要があります。

## 監査ログのスキーマ

この表は、監査ログのエントリに表示される可能性のあるすべてのキーをアルファベット順に示しています。アクションや状況によっては、特定の見出しにフィールドの一部（サブセット）のみが含まれる場合があります。

| キー                        | 定義                                                                                                                          |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `action`                  | イベントの [アクション](#actions) 。                                                                                                   |
| `actor_email`             | アクションを開始したユーザーのメールアドレス（該当する場合）。                                                                                             |
| `actor_ip`                | アクションを開始したユーザーのIPアドレス。                                                                                                      |
| `actor_user_id`           | アクションを実行したログインユーザーのID（該当する場合）。                                                                                              |
| `artifact_asset`          | アクションに関連付けられた Artifact ID（該当する場合）。                                                                                          |
| `artifact_digest`         | アクションに関連付けられた Artifact ダイジェスト（該当する場合）。                                                                                      |
| `artifact_qualified_name` | アクションに関連付けられた Artifact の完全修飾名（該当する場合）。                                                                                      |
| `artifact_sequence_asset` | アクションに関連付けられた Artifact シーケンスID（該当する場合）。                                                                                     |
| `cli_version`             | アクションを開始したPython SDKのバージョン（該当する場合）。                                                                                         |
| `entity_asset`            | アクションに関連付けられた Entity または Team のID（該当する場合）。                                                                                  |
| `entity_name`             | アクションに関連付けられた Entity または Team の名前（該当する場合）。                                                                                  |
| `project_asset`           | アクションに関連付けられた Project（該当する場合）。                                                                                              |
| `project_name`            | アクションに関連付けられた Project の名前（該当する場合）。                                                                                          |
| `report_asset`            | アクションに関連付けられた Report ID（該当する場合）。                                                                                            |
| `report_name`             | アクションに関連付けられた Report の名前（該当する場合）。                                                                                           |
| `response_code`           | アクションに対するHTTPレスポンスコード（該当する場合）。                                                                                              |
| `timestamp`               | イベントの発生時刻（ [RFC3339形式](https://www.rfc-editor.org/rfc/rfc3339) ）。例えば、 `2023-01-23T12:34:56Z` は2023年1月23日 12:34:56 UTCを表します。 |
| `user_asset`              | アクションの影響を受ける User アセット（アクションを実行したユーザーではなく、対象となるユーザー）（該当する場合）。                                                               |
| `user_email`              | アクションの影響を受けるユーザーのメールアドレス（アクションを実行したユーザーのメールアドレスではなく、対象となるユーザー）（該当する場合）。                                                     |

### 個人を特定できる情報 (PII)

メールアドレスや Project 、 Team 、 Report の名前などの個人を特定できる情報（PII）は、APIエンドポイントオプションを使用した場合のみ利用可能です。

* [Self-Managed](/platform/hosting/hosting-options/self-managed) および [Dedicated Cloud](/platform/hosting/hosting-options/dedicated_cloud) の場合、組織管理者は監査ログの取得時に [PIIを除外](#exclude-pii) することができます。
* [Multi-tenant Cloud](/platform/hosting/hosting-options/multi_tenant_cloud) の場合、APIエンドポイントはPIIを含む監査ログの関連フィールドを常に返します。これは設定変更できません。

## 事前準備

1. 組織レベルの管理者が監査ログを取得できます。 `403` エラーが発生した場合は、自身またはサービスアカウントに適切な権限があることを確認してください。
2. **Multi-tenant Cloud**: 複数の Multi-tenant Cloud 組織のメンバーである場合、監査ログAPIコールのルーティング先を決定する **Default API organization** を設定する *必要があります* 。設定しない場合、以下のエラーが発生します。

   ```text theme={null}
   user is associated with multiple organizations but no valid org ID found in user info
   ```

   デフォルトのAPI組織を指定するには：

   1. プロフィール画像をクリックし、 **User Settings** をクリックします。
   2. **Default API organization** で、組織を選択します。

   これは、1つの Multi-tenant Cloud 組織のメンバーにしかなれないサービスアカウントには適用されません。

## 監査ログの取得

監査ログを取得するには：

1. インスタンスに応じた正しいAPIエンドポイントを確認します。

* [Self-Managed](/platform/hosting/hosting-options/self-managed): `<wandb-platform-url>/admin/audit_logs`
* [Dedicated Cloud](/platform/hosting/hosting-options/dedicated_cloud): `<instance-name>.wandb.io/admin/audit_logs`
* [Multi-tenant Cloud (Enterprise必須)](/platform/hosting/hosting-options/multi_tenant_cloud): `https://api.wandb.ai/audit_logs`

  以下の手順では、 `<API-endpoint>` を実際のAPIエンドポイントに置き換えてください。

1. （オプション）エンドポイントに追加するクエリパラメータを作成します。以下の手順では、 `<parameters>` を作成した文字列に置き換えてください。
   * `anonymize`: URLに `anonymize=true` パラメータが含まれている場合、PIIが削除されます。それ以外の場合、PIIが含まれます。[監査ログ取得時のPIIの除外](#exclude-pii-when-fetching-audit-logs)を参照してください。PIIを含むすべてのフィールドが返される Multi-tenant Cloud ではサポートされていません。
   * `numdays` と `startDate` を組み合わせて、取得するログの日付範囲を設定します。各パラメータは任意であり、相互に作用します。
     * 両方のパラメータが含まれていない場合、当日のログのみが取得されます。
     * `numDays`: `startDate` から遡ってログを取得する日数を整数で指定します。省略するか `0` に設定すると、 `startDate` 当日のログのみが取得されます。 **Multi-tenant Cloud** 組織では、最大7日分までの監査ログを取得できます。つまり、 `numDays=9` と設定しても、実際のパラメータは `numDays=7` として扱われます。
     * `startDate`: 取得する最新のログの日付を `startDate=YYYY-MM-DD` 形式で制御します。省略するか、明示的に当日の日付に設定した場合、今日から `numDays` 前（ Multi-tenant Cloud の場合は最大 `7` 日前）までのログが取得されます。
2. 完全修飾エンドポイントURLを `<API-endpoint>?<parameters>` の形式で作成します。
3. Webブラウザ、または [Postman](https://www.postman.com/downloads/)、 [HTTPie](https://httpie.io/) 、cURLなどのツールを使用して、完全修飾APIエンドポイントに対してHTTP `GET` リクエストを実行します。

APIレスポンスには、改行区切りのJSONオブジェクトが含まれます。オブジェクトには、監査ログがインスタンスレベルのバケットに同期された場合と同様に、 [スキーマ](#audit-log-schema) で説明されているフィールドが含まれます。バケットに同期されている場合、監査ログはバケット内の `/wandb-audit-logs` ディレクトリーに配置されます。

### 基本認証（Basic Authentication）の使用

APIキーを使用して監査ログAPIにアクセスするために基本認証を使用するには、HTTPリクエストの `Authorization` ヘッダーに、文字列 `Basic` とそれに続くスペース、そして `username:API-KEY` 形式のBase64エンコードされた文字列を設定します。つまり、ユーザー名とAPIキーを `:` 文字で区切って自身の値に置き換え、その結果をBase64でエンコードします。例えば、 `demo:p@55w0rd` として認証する場合、ヘッダーは `Authorization: Basic ZGVtbzpwQDU1dzByZA==` になります。

### 監査ログ取得時のPIIの除外 <a id="exclude-pii" />

[Self-Managed](/platform/hosting/hosting-options/self-managed) および [Dedicated Cloud](/platform/hosting/hosting-options/dedicated_cloud) では、W\&B組織管理者またはインスタンス管理者が監査ログの取得時にPIIを除外できます。[Multi-tenant Cloud](/platform/hosting/hosting-options/multi_tenant_cloud) の場合、APIエンドポイントはPIIを含む監査ログの関連フィールドを常に返します。これは設定変更できません。

PIIを除外するには、URLパラメータ `anonymize=true` を渡します。例えば、W\&BインスタンスのURLが `https://mycompany.wandb.io` で、先週のユーザーアクティビティの監査ログをPIIを除外して取得したい場合は、以下のようなAPIエンドポイントを使用します。

```text theme={null}
https://mycompany.wandb.io/admin/audit_logs?anonymize=true&<additional-parameters>.
```

## アクション

この表は、W\&Bによって記録される可能性のあるアクションをアルファベット順に説明しています。

| アクション                         | 定義                                                  |
| ----------------------------- | --------------------------------------------------- |
| `artifact:create`             | Artifact が作成されました。                                  |
| `artifact:delete   `          | Artifact が削除されました。                                  |
| `artifact:read`               | Artifact が読み取られました。                                 |
| `project:delete`              | Project が削除されました。                                   |
| `project:read`                | Project が読み取られました。                                  |
| `report:read`                 | Report が読み取られました。 <sup><a href="#1">1</a></sup>     |
| `run:delete_many`             | 一括の Runs が削除されました。                                  |
| `run:delete`                  | Run が削除されました。                                       |
| `run:stop`                    | Run が停止されました。                                       |
| `run:undelete_many`           | 一括の Runs がゴミ箱から復元されました。                             |
| `run:update_many`             | 一括の Runs が更新されました。                                  |
| `run:update`                  | Run が更新されました。                                       |
| `sweep:create_agent`          | sweep agent が作成されました。                               |
| `team:create_service_account` | Team 用のサービスアカウントが作成されました。                           |
| `team:create`                 | Team が作成されました。                                      |
| `team:delete`                 | Team が削除されました。                                      |
| `team:invite_user`            | User が Team に招待されました。                               |
| `team:uninvite`               | User またはサービスアカウントの Team への招待が取り消されました。              |
| `user:create_api_key`         | ユーザーの APIキー が作成されました。 <sup><a href="#1">1</a></sup> |
| `user:create`                 | User が作成されました。 <sup><a href="#1">1</a></sup>        |
| `user:deactivate`             | User が無効化されました。 <sup><a href="#1">1</a></sup>       |
| `user:delete_api_key`         | ユーザーの APIキー が削除されました。 <sup><a href="#1">1</a></sup> |
| `user:initiate_login`         | User がログインを開始しました。 <sup><a href="#1">1</a></sup>    |
| `user:login`                  | User がログインしました。 <sup><a href="#1">1</a></sup>       |
| `user:logout`                 | User がログアウトしました。 <sup><a href="#1">1</a></sup>      |
| `user:permanently_delete`     | User が完全に削除されました。 <sup><a href="#1">1</a></sup>     |
| `user:reactivate`             | User が再有効化されました。 <sup><a href="#1">1</a></sup>      |
| `user:read`                   | ユーザープロファイルが読み取られました。 <sup><a href="#1">1</a></sup>  |
| `user:update`                 | User が更新されました。 <sup><a href="#1">1</a></sup>        |

<a id="1">1</a>: [Multi-tenant Cloud](/platform/hosting/hosting-options/multi_tenant_cloud) では、以下の監査ログは収集されません：

* オープンまたはパブリックな Projects 。
* `report:read` アクション。
* 特定の組織に紐付かない `User` アクション。
