본문으로 건너뛰기

감사 로그

W&B 서버 감사 로그를 사용하여 팀 내 사용자 활동을 추적하고 엔터프라이즈 거버넌스 요구 사항을 충족하세요. 감사 로그는 JSON 형식이며, 엑세스 방식은 W&B 서버 배포 유형에 따라 다릅니다:

W&B 서버 배포 유형감사 로그 엑세스 방식
자체 관리인스턴스 수준 버킷에 10분마다 동기화됩니다. API를 사용하여 엑세스할 수도 있습니다.
전용 클라우드 secure storage connector (BYOB)인스턴스 수준 버킷(BYOB)에 10분마다 동기화됩니다. API를 사용하여 엑세스할 수도 있습니다.
전용 클라우드 W&B 관리 스토리지(BYOB 없음)API를 사용하여만 엑세스할 수 있습니다.

감사 로그에 엑세스하면, Pandas, Amazon Redshift, Google BigQuery, Microsoft Fabric 등과 같은 선호하는 툴을 사용하여 분석할 수 있습니다. 분석을 위해 JSON 형식의 감사 로그를 툴에 적합한 형식으로 변환해야 할 수 있습니다. 특정 툴을 위한 감사 로그 변환 방법에 대한 정보는 W&B 문서의 범위를 벗어납니다.

감사 로그 보존: 귀하의 조직 내 컴플라이언스, 보안 또는 리스크 팀이 감사 로그를 특정 기간 동안 보존하도록 요구하는 경우, W&B는 인스턴스 수준 버킷에서 로그를 주기적으로 장기 보존 스토리지로 전송할 것을 권장합니다. API를 사용하여 감사 로그에 엑세스하는 경우, 마지막 스크립트 실행 시점 이후 생성된 로그를 주기적으로(예: 일일 또는 며칠마다) 가져오는 간단한 스크립트를 구현하고, 이러한 로그를 분석을 위한 단기 저장소에 저장하거나 직접 장기 보존 스토리지로 전송할 수 있습니다.

노트

감사 로그는 아직 W&B 다중 테넌트 SaaS 클라우드에서 사용할 수 없습니다.

감사 로그 스키마

다음 표는 감사 로그에 존재할 수 있는 모든 키를 나열합니다. 각 로그는 해당 동작과 관련된 자산만 포함하고, 다른 것들은 로그에서 생략됩니다.

정의
timestampRFC3339 형식의 타임스탬프. 예: 2023-01-23T12:34:56Z, 2023년 1월 23일 UTC 시간 12:34:56을 나타냅니다.
action사용자가 수행한 동작.
actor_user_id있을 경우, 동작을 수행한 로그인한 사용자의 ID.
response_code동작에 대한 Http 응답 코드.
artifact_asset있을 경우, 이 아티팩트 id에 대한 동작이 수행됨.
artifact_sequence_asset있을 경우, 이 아티팩트 시퀀스 id에 대한 동작이 수행됨.
entity_asset있을 경우, 이 엔티티 또는 팀 id에 대한 동작이 수행됨.
project_asset있을 경우, 이 프로젝트 id에 대한 동작이 수행됨.
report_asset있을 경우, 이 리포트 id에 대한 동작이 수행됨.
user_asset있을 경우, 이 사용자 자산에 대한 동작이 수행됨.
cli_version동작이 파이썬 SDK를 통해 이루어진 경우, 버전을 포함함.
actor_ip로그인한 사용자의 IP 주소.
actor_email있을 경우, 이 액터 이메일에 대한 동작이 수행됨.
artifact_digest있을 경우, 이 아티팩트 다이제스트에 대한 동작이 수행됨.
artifact_qualified_name있을 경우, 이 아티팩트에 대한 동작이 수행됨.
entity_name있을 경우, 이 엔티티 또는 팀 이름에 대한 동작이 수행됨.
project_name있을 경우, 이 프로젝트 이름에 대한 동작이 수행됨.
report_name있을 경우, 이 리포트 이름에 대한 동작이 수행됨.
user_email있을 경우, 이 사용자 이메일에 대한 동작이 수행됨.

이메일 ID, 프로젝트, 팀 및 리포트 이름과 같은 개인 식별 정보(PII)는 API 엔드포인트 옵션을 사용하여만 사용할 수 있으며, 아래 설명된대로 끌 수 있습니다.

API를 사용하여 감사 로그 가져오기

인스턴스 관리자는 다음 API를 사용하여 W&B 서버 인스턴스의 감사 로그를 가져올 수 있습니다:

  1. 기본 엔드포인트 <wandb-server-url>/admin/audit_logs와 다음 URL 파라미터의 조합을 사용하여 전체 API 엔드포인트를 구성합니다:
    • numDays : 오늘 - numdays부터 가장 최근까지의 로그를 가져옵니다; 기본값은 0이며, 즉 오늘에 대한 로그만 반환됩니다.
    • anonymize : true로 설정하면 모든 PII를 제거합니다; 기본값은 false입니다.
  2. 구성된 전체 API 엔드포인트에서 HTTP GET 요청을 실행합니다. 현대적인 브라우저 내에서 직접 실행하거나, Postman, HTTPie, cURL 코맨드 등의 툴을 사용할 수 있습니다.

W&B 서버 인스턴스 URL이 https://mycompany.wandb.io이고 지난 주 동안 PII 없이 감사 로그를 가져오고 싶다면, API 엔드포인트는 https://mycompany.wandb.io?numDays=7&anonymize=true가 됩니다.

노트

API를 사용하여 감사 로그를 가져올 수 있는 것은 W&B 서버 인스턴스 관리자만 해당됩니다. 인스턴스 관리자가 아니거나 조직에 로그인하지 않은 경우, HTTP 403 Forbidden 오류가 발생합니다.

API 응답에는 새 줄로 구분된 JSON 오브젝트가 포함됩니다. 오브젝트에는 스키마에 설명된 필드가 포함됩니다. 이는 인스턴스 수준 버킷으로 감사 로그 파일을 동기화할 때 사용되는 형식과 동일하며(앞서 언급한 대로 적용 가능한 경우), 이러한 경우 감사 로그는 버킷의 /wandb-audit-logs 디렉토리에 위치합니다.

동작

다음 표는 W&B에 의해 기록될 수 있는 가능한 동작을 설명합니다:

동작정의
artifact:create아티팩트가 생성됨.
artifact:delete아티팩트가 삭제됨.
artifact:read아티팩트가 읽힘.
project:delete프로젝트가 삭제됨.
project:read프로젝트가 읽힘.
report:read리포트가 읽힘.
run:deleterun이 삭제됨.
run:delete_many여러 run이 일괄 삭제됨.
run:update_many여러 run이 일괄 업데이트됨.
run:stoprun이 중지됨.
run:undelete_many여러 run이 일괄적으로 휴지통에서 복원됨.
run:updaterun이 업데이트됨.
sweep:create_agent스윕 에이전트가 생성됨.
team:invite_user사용자가 팀에 초대됨.
team:create_service_account팀을 위한 서비스 계정이 생성됨.
team:create팀이 생성됨.
team:uninvite사용자 또는 서비스 계정이 팀에서 초대 취소됨.
team:delete팀이 삭제됨.
user:create사용자가 생성됨.
user:delete_api_key사용자의 API 키가 삭제됨.
user:deactivate사용자가 비활성화됨.
user:create_api_key사용자를 위한 API 키가 생성됨.
user:permanently_delete사용자가 영구적으로 삭제됨.
user:reactivate사용자가 재활성화됨.
user:update사용자가 업데이트됨.
user:read사용자 프로필이 읽힘.
user:login사용자가 로그인함.
user:initiate_login사용자가 로그인을 시작함.
user:logout사용자가 로그아웃함.
Was this page helpful?👍👎