| W&Bプラットフォームのデプロイメントタイプ | 監査ログのアクセス方法 |
|---|---|
| Dedicated Cloud |
|
| Multi-tenant Cloud | Enterpriseプランのみ利用可能です。APIを使用した場合のみ利用可能です。 |
| Self-Managed | 10分ごとにインスタンスレベルのバケットに同期されます。また、APIを使用して取得することも可能です。 |
監査ログの保持
- 特定の期間、監査ログを保持する必要がある場合、W&BはストレージバケットまたはAudit Logging APIを使用して、ログを定期的に長期ストレージに転送することを推奨します。
- 1996年の医療保険の相互運用性と責任に関する法律(HIPAA)の対象となる場合、監査ログは、義務付けられた保持期間が終了するまで内部または外部のいかなる主体によっても削除または変更できない環境で、最低6年間保持する必要があります。BYOBを使用したHIPAA準拠の Dedicated Cloud インスタンスの場合、長期保持ストレージを含む管理ストレージに対してガードレールを設定する必要があります。
監査ログのスキーマ
この表は、監査ログのエントリに表示される可能性のあるすべてのキーをアルファベット順に示しています。アクションや状況によっては、特定の見出しにフィールドの一部(サブセット)のみが含まれる場合があります。| キー | 定義 |
|---|---|
action | イベントの アクション 。 |
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形式 )。例えば、 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 および Dedicated Cloud の場合、組織管理者は監査ログの取得時に PIIを除外 することができます。
- Multi-tenant Cloud の場合、APIエンドポイントはPIIを含む監査ログの関連フィールドを常に返します。これは設定変更できません。
事前準備
-
組織レベルの管理者が監査ログを取得できます。
403エラーが発生した場合は、自身またはサービスアカウントに適切な権限があることを確認してください。 -
Multi-tenant Cloud: 複数の Multi-tenant Cloud 組織のメンバーである場合、監査ログAPIコールのルーティング先を決定する Default API organization を設定する 必要があります 。設定しない場合、以下のエラーが発生します。
デフォルトのAPI組織を指定するには:
- プロフィール画像をクリックし、 User Settings をクリックします。
- Default API organization で、組織を選択します。
監査ログの取得
監査ログを取得するには:- インスタンスに応じた正しいAPIエンドポイントを確認します。
-
Self-Managed:
<wandb-platform-url>/admin/audit_logs -
Dedicated Cloud:
<instance-name>.wandb.io/admin/audit_logs -
Multi-tenant Cloud (Enterprise必須):
https://api.wandb.ai/audit_logs以下の手順では、<API-endpoint>を実際のAPIエンドポイントに置き換えてください。
- (オプション)エンドポイントに追加するクエリパラメータを作成します。以下の手順では、
<parameters>を作成した文字列に置き換えてください。anonymize: URLにanonymize=trueパラメータが含まれている場合、PIIが削除されます。それ以外の場合、PIIが含まれます。監査ログ取得時のPIIの除外を参照してください。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日前)までのログが取得されます。
- 完全修飾エンドポイントURLを
<API-endpoint>?<parameters>の形式で作成します。 - Webブラウザ、または Postman、 HTTPie 、cURLなどのツールを使用して、完全修飾APIエンドポイントに対してHTTP
GETリクエストを実行します。
/wandb-audit-logs ディレクトリーに配置されます。
基本認証(Basic Authentication)の使用
APIキーを使用して監査ログAPIにアクセスするために基本認証を使用するには、HTTPリクエストのAuthorization ヘッダーに、文字列 Basic とそれに続くスペース、そして username:API-KEY 形式のBase64エンコードされた文字列を設定します。つまり、ユーザー名とAPIキーを : 文字で区切って自身の値に置き換え、その結果をBase64でエンコードします。例えば、 demo:p@55w0rd として認証する場合、ヘッダーは Authorization: Basic ZGVtbzpwQDU1dzByZA== になります。
監査ログ取得時のPIIの除外
Self-Managed および Dedicated Cloud では、W&B組織管理者またはインスタンス管理者が監査ログの取得時にPIIを除外できます。Multi-tenant Cloud の場合、APIエンドポイントはPIIを含む監査ログの関連フィールドを常に返します。これは設定変更できません。 PIIを除外するには、URLパラメータanonymize=true を渡します。例えば、W&BインスタンスのURLが https://mycompany.wandb.io で、先週のユーザーアクティビティの監査ログをPIIを除外して取得したい場合は、以下のようなAPIエンドポイントを使用します。
アクション
この表は、W&Bによって記録される可能性のあるアクションをアルファベット順に説明しています。| アクション | 定義 |
|---|---|
artifact:create | Artifact が作成されました。 |
artifact:delete | Artifact が削除されました。 |
artifact:read | Artifact が読み取られました。 |
project:delete | Project が削除されました。 |
project:read | Project が読み取られました。 |
report:read | Report が読み取られました。 1 |
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キー が作成されました。 1 |
user:create | User が作成されました。 1 |
user:deactivate | User が無効化されました。 1 |
user:delete_api_key | ユーザーの APIキー が削除されました。 1 |
user:initiate_login | User がログインを開始しました。 1 |
user:login | User がログインしました。 1 |
user:logout | User がログアウトしました。 1 |
user:permanently_delete | User が完全に削除されました。 1 |
user:reactivate | User が再有効化されました。 1 |
user:read | ユーザープロファイルが読み取られました。 1 |
user:update | User が更新されました。 1 |
- オープンまたはパブリックな Projects 。
report:readアクション。- 特定の組織に紐付かない
Userアクション。