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

# 監査ログでユーザーアクティビティをトラッキングする

> ログスキーマや記録されるアクションを含め、各デプロイメントタイプで W&B 監査ログにアクセスし、取得して分析します。

W\&B 監査ログを使用すると、組織内のユーザーアクティビティをトラッキングし、エンタープライズ ガバナンス要件への準拠に役立てることができます。このページは、W\&B の各デプロイメントタイプで監査ログデータにアクセスし、取得して分析する必要がある組織レベルの管理者向けです。監査ログは JSON 形式で利用できます。[監査ログスキーマ](#audit-log-schema) を参照してください。

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

| W\&B Platform deployment type                                                 | Audit logs access mechanism                                                                                                                                                                                                                                          |
| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud)                | <ul><li>[Instance-level BYOB](/ja/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](/ja/platform/hosting/hosting-options/multi_tenant_cloud) | Enterprise プランでのみ利用できます。[API](#fetch-audit-logs-using-api) でのみ利用できます。                                                                                                                                                                                                |
| [セルフマネージド](/ja/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) を参照してください。

<div id="audit-log-retention">
  ## 監査ログの保持
</div>

以下の推奨事項は、組織のガバナンスおよびコンプライアンス上の義務を満たすために監査ログを保持する際に役立ちます。

* 監査ログを一定期間保持する必要がある場合、W\&B では、storage buckets または Audit Logging API を使用して、ログを長期ストレージに定期的に転送することを推奨します。
* [1996年医療保険の携行性と責任に関する法律 (HIPAA) ](https://hhs.gov/hipaa/for-professionals/index.html) の適用対象である場合、監査ログは、法令で義務付けられた保持期間が終了するまで、社内外のいかなる関係者も削除または変更できない環境で、少なくとも 6 年間保持する必要があります。[BYOB](/ja/platform/hosting/data-security/secure-storage-connector) を使用する HIPAA 準拠の[専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud)インスタンスでは、長期保持用ストレージを含む管理対象ストレージに対するガードレールを設定する必要があります。

<div id="audit-log-schema">
  ## 監査ログスキーマ
</div>

各監査ログエントリで返されるフィールドを解釈するには、このスキーマを使用してください。この表は、監査ログのエントリに含まれる可能性があるすべてのキーを、アルファベット順に示しています。アクションや状況によっては、個々のログエントリに含まれるのは、これらのフィールドの一部だけの場合があります。

| Key                       | Definition                                                                                                                             |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `action`                  | イベントの[アクション](#actions)。                                                                                                                |
| `actor_email`             | 該当する場合、アクションを開始したユーザーのメールアドレス。                                                                                                         |
| `actor_ip`                | アクションを開始したユーザーの IP アドレス。                                                                                                               |
| `actor_user_id`           | 該当する場合、アクションを実行したログイン中のユーザーの ID。                                                                                                       |
| `artifact_asset`          | 該当する場合、アクションに関連付けられたアーティファクト ID。                                                                                                       |
| `artifact_digest`         | 該当する場合、アクションに関連付けられたアーティファクト digest。                                                                                                   |
| `artifact_qualified_name` | 該当する場合、アクションに関連付けられたアーティファクト の完全修飾名。                                                                                                   |
| `artifact_sequence_asset` | 該当する場合、アクションに関連付けられたアーティファクト sequence ID。                                                                                              |
| `cli_version`             | 該当する場合、アクションを開始した Python SDK のバージョン。                                                                                                   |
| `entity_asset`            | 該当する場合、アクションに関連付けられた entity または チーム ID。                                                                                                |
| `entity_name`             | 該当する場合、アクションに関連付けられた entity または チーム 名。                                                                                                 |
| `project_asset`           | 該当する場合、アクションに関連付けられたプロジェクト。                                                                                                            |
| `project_name`            | 該当する場合、アクションに関連付けられたプロジェクト名。                                                                                                           |
| `report_asset`            | 該当する場合、アクションに関連付けられたレポート ID。                                                                                                           |
| `report_name`             | 該当する場合、アクションに関連付けられたレポート名。                                                                                                             |
| `response_code`           | 該当する場合、アクションに対する HTTP レスポンスコード。                                                                                                        |
| `timestamp`               | [RFC3339 format](https://www.rfc-editor.org/rfc/rfc3339) 形式のイベント発生時刻。たとえば、`2023-01-23T12:34:56Z` は 2023 年 1 月 23 日 12:34:56 UTC を表します。 |
| `user_asset`              | 該当する場合、アクションを実行したユーザーではなく、そのアクションの影響を受けるユーザーの asset。                                                                                   |
| `user_email`              | 該当する場合、アクションを実行したユーザーのメールアドレスではなく、そのアクションの影響を受けるユーザーのメールアドレス。                                                                          |

<div id="personally-identifiable-information-pii">
  ### 個人を特定できる情報 (PII)
</div>

メールアドレスや プロジェクト、Teams、Reports の名前などの個人を特定できる情報 (PII) は、API endpoint オプションでのみ利用できます:

* [セルフマネージド](/ja/platform/hosting/hosting-options/self-managed) と [専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud) では、組織管理者は 監査ログ の取得時に [PII を除外](#exclude-pii) できます。
* [Multi-tenant Cloud](/ja/platform/hosting/hosting-options/multi_tenant_cloud) では、API endpoint は常に PII を含む 監査ログ の関連フィールドを返します。これは設定できません。

<div id="before-you-begin">
  ## 始める前に
</div>

監査ログを取得する前に、デプロイメントタイプに応じて次の前提条件を満たしていることを確認してください。

* 組織レベルの管理者は監査ログを取得できます。`403` エラーが返される場合は、ご自身またはサービスアカウントに十分な権限があることを確認してください。
* **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 組織にしか所属できないサービスアカウントには適用されません。

<div id="fetch-audit-logs">
  ## 監査ログを取得する
</div>

W\&B Audit Logging API から監査ログを取得するには、次の手順に従います。この手順を完了すると、任意のツールで分析できる改行区切りの JSON オブジェクト一式が得られます。

1. ご利用のインスタンスに対応する正しい API endpoint を確認します。

   * [セルフマネージド](/ja/platform/hosting/hosting-options/self-managed): `[WANDB-PLATFORM-URL]/admin/audit_logs`
   * [専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud): `[INSTANCE-NAME].wandb.io/admin/audit_logs`
   * [Multi-tenant Cloud (Enterprise が必要)](/ja/platform/hosting/hosting-options/multi_tenant_cloud): `https://api.wandb.ai/audit_logs`

   以下の手順では、`[API-ENDPOINT]` を実際の API endpoint に置き換えてください。
2. 任意: エンドポイントに追加するクエリパラメーターを作成します。以下の手順では、`[PARAMETERS]` をその結果の文字列に置き換えてください。
   * `anonymize`: URL に `anonymize=true` パラメーターが含まれている場合は、PII を削除します。含まれていない場合は、PII も含まれます。[監査ログ取得時に PII を除外する](#exclude-pii-when-fetching-audit-logs) を参照してください。Multi-tenant Cloud では、PII を含むすべてのフィールドが含まれるため、サポートされていません。
   * `numDays` と `startDate` を組み合わせて、取得するログの日付範囲を設定します。各パラメーターは任意で、相互に影響します。
     * どちらのパラメーターも含まれない場合は、当日のログのみが取得されます。
     * `numDays`: `startDate` からさかのぼって何日分のログを取得するかを示す整数です。省略した場合、または `0` に設定した場合は、`startDate` のログのみが取得されます。**Multi-tenant Cloud** では、`numDays` にそれより大きい値を設定しても、取得できる監査ログは最大 7 日分です。
     * `startDate`: 任意です。`startDate=YYYY-MM-DD` を使用して、範囲内の最新の暦日を設定します。省略した場合、または当日の日付に設定した場合、範囲は当日で終わり、`numDays` はその日からさかのぼって数えられます。
       * **Multi-tenant Cloud** では、Enterprise ライセンスがある場合にのみサポートされます。
       * **専用クラウド** および **セルフマネージド** v0.80.0 以降でサポートされます。
3. `[API-ENDPOINT]?[PARAMETERS]` の形式で完全修飾エンドポイント URL を作成します。
4. Web ブラウザーまたは [Postman](https://www.postman.com/downloads/)、[HTTPie](https://httpie.io/)、cURL などのツールを使用して、完全修飾 API endpoint に HTTP `GET` リクエストを送信します。

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

<div id="use-basic-authentication">
  ### 基本認証を使用する
</div>

監査ログ API への各リクエストは認証する必要があります。APIキーを使用して基本認証で 監査ログ API にアクセスするには、HTTP リクエストの `Authorization` ヘッダーに、文字列 `Basic`、半角スペース 1 つ、続けて `[USERNAME]:[API-KEY]` 形式の文字列をbase64エンコードした値を設定します。つまり、`username` と `API-KEY` を `:` で区切った実際の値に置き換え、その結果をbase64エンコードします。たとえば、`demo:p@55w0rd` として認証する場合、ヘッダーを `Authorization: Basic ZGVtbzpwQDU1dzByZA==` に設定します。

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

[セルフマネージド](/ja/platform/hosting/hosting-options/self-managed) と [専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud) では、W\&B の組織またはインスタンス管理者は、監査ログの取得時に PII を除外できます。[Multi-tenant Cloud](/ja/platform/hosting/hosting-options/multi_tenant_cloud) では、API endpoint は常に PII を含む監査ログの関連フィールドを返します。これは設定できません。

PII を除外するには、URL パラメーター `anonymize=true` を指定します。たとえば、過去 1 週間のユーザーアクティビティに関する監査ログを取得し、PII を除外するには、W\&B インスタンスの URL が `https://mycompany.wandb.io` の場合、次のような API endpoint を使用します。

```text theme={null}
https://mycompany.wandb.io/admin/audit_logs?anonymize=true&[ADDITIONAL-PARAMETERS].
```

<div id="actions">
  ## アクション
</div>

各監査ログのエントリには、以下のいずれかのアクションが記録されます。ログエントリの `action` フィールドを解釈する際は、このリファレンスを参照してください。この表では、W\&B が記録できるアクションをアルファベット順に示します。

| Action                        | Definition                                                   |
| ----------------------------- | ------------------------------------------------------------ |
| `artifact:create`             | アーティファクトが作成されます。                                             |
| `artifact:delete`             | アーティファクトが削除されます。                                             |
| `artifact:read`               | アーティファクトが閲覧されます。                                             |
| `project:delete`              | プロジェクトが削除されます。                                               |
| `project:read`                | プロジェクトが閲覧されます。                                               |
| `report:read`                 | レポートが閲覧されます。 <sup><a href="#1">1</a></sup>                   |
| `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キーが作成されます。 <sup><a href="#1">1</a></sup> |
| `user:create`                 | ユーザーが作成されます。 <sup><a href="#1">1</a></sup>                   |
| `user:deactivate`             | ユーザーが無効化されます。 <sup><a href="#1">1</a></sup>                  |
| `user:delete_api_key`         | ユーザーまたはサービスアカウントのAPIキーが削除されます。 <sup><a href="#1">1</a></sup> |
| `user:initiate_login`         | ユーザーがログインを開始します。 <sup><a href="#1">1</a></sup>               |
| `user:login`                  | ユーザーがログインします。 <sup><a href="#1">1</a></sup>                  |
| `user:logout`                 | ユーザーがログアウトします。 <sup><a href="#1">1</a></sup>                 |
| `user:permanently_delete`     | ユーザーが完全に削除されます。 <sup><a href="#1">1</a></sup>                |
| `user:reactivate`             | ユーザーが再度有効化されます。 <sup><a href="#1">1</a></sup>                |
| `user:read`                   | ユーザープロフィールが閲覧されます。 <sup><a href="#1">1</a></sup>             |
| `user:update`                 | ユーザーが更新されます。 <sup><a href="#1">1</a></sup>                   |

<a id="1">1</a>: [Multi-tenant Cloud](/ja/platform/hosting/hosting-options/multi_tenant_cloud) では、次の対象については 監査ログ は収集されません。

* Open または Public のプロジェクト。
* `report:read` アクション。
* 特定の組織に紐付いていない `User` アクション。
