감사 로그

감사 로그 (Audit logs)

보안, 규정 준수, 운영 가시성을 위해 LangSmith 조직 전반의 관리 작업을 추적하고 검토할 수 있어요. LangSmith 감사 로그는 조직 내에서 수행된 관리 및 구성 작업의 위조 방지 기록을 제공합니다.

출처: 문서

참고: 감사 로그는 Enterprise 요금제에서 제공됩니다. Enterprise 업그레이드에 관심이 있다면 영업팀에 문의하세요.

본문

LangSmith 감사 로그는 조직 내에서 수행된 관리 및 구성 작업의 위조 방지(tamper-resistant) 기록을 제공합니다. 다음과 같은 질문에 답하는 데 도움이 됩니다:

  • API 키, 데이터셋 또는 배포를 삭제한 사람은 누구?
  • 새 멤버가 초대되고, 역할이 수정되고, 예제가 업데이트된 시기는 언제?
  • 어떤 결제, SSO 또는 데이터 보존 구성이 변경되었는가?
  • 어떤 데이터셋, 트레이싱 프로젝트 또는 프롬프트 웹훅이 수정되었나?

감사 로그는 보안 검토, 규정 준수 요구 사항, 일반적인 운영 가시성에 유용합니다.

사전 준비 사항

무엇이 기록되는가

감사 로그는 조직 설정, 구성원, 자격 증명, 워크스페이스 및 기타 리소스에 대한 변경을 기록합니다. 각 이벤트에는 타임스탬프, 행위자(actor), 작업 이름, 영향받은 리소스, 성공 여부가 포함됩니다. 전체 작업 이름 목록은 추적 작업 레퍼런스를 참고하세요.

UI에서 감사 로그 보기

Organization Admin과 Organization Operator는 Organization Settings > Audit logs에서 감사 로그를 탐색할 수 있습니다.

표는 각 이벤트의 시간, 행위자, 워크스페이스, 작업, 상태, 영향받은 리소스를 보여줍니다. 행의 타임스탬프를 클릭하면 사이드 패널에서 전체 원시 이벤트를 JSON으로 열 수 있습니다.

표 위의 필터를 사용해 결과를 좁힙니다:

  • 시간 범위 (Time range)
  • 워크스페이스 (Workspace)
  • 작업 (Operation)
  • 행위자 (Actor) — 특정 사용자, API 키 또는 서비스 키
  • 리소스 ID (Resource ID)

감사 로그는 API로도 제공됩니다.

보존

감사 로그는 최대 400일 동안 보존됩니다. 400일보다 오래된 이벤트는 자동으로 제거될 수 있습니다.

자체 호스팅 배포에서 감사 로그 활성화

감사 로그는 Helm 차트 0.12.33 이상을 실행하는 자체 호스팅 LangSmith 인스턴스에서 사용할 수 있습니다. 개별 작업의 적용 범위는 시간이 지나면서 확장되었습니다 — 각 작업이 도입된 차트 버전은 자체 호스팅 버전 가용성을 참고하세요.

업그레이드한 후 다음 옵션 중 하나를 사용해 감사 로그를 활성화합니다:

  • 특정 조직에 활성화: LangSmith PostgreSQL 데이터베이스에 대해 다음을 실행하고, <organization_id>를 UI의 조직 설정 페이지에서 복사한 ID로 바꿉니다:

    UPDATE organizations SET config = config || '{"can_use_audit_logs": true}' WHERE id = '<organization_id>' AND NOT is_personal;
    
  • 모든 조직에 활성화: values.yamlcommonEnv에 다음 환경 변수를 추가합니다:

    DEFAULT_ORG_FEATURE_CAN_USE_AUDIT_LOGS: "true"
    

    참고: 이 환경 변수는 개인 조직에는 효과가 없습니다.

자체 호스팅 릴리스에 대한 자세한 내용은 자체 호스팅 변경 로그를 참고하세요.

API로 감사 로그 쿼리

GET /api/v1/audit-logs 엔드포인트(API 레퍼런스)를 사용해 감사 로그 이벤트를 검색합니다. 결과는 OCSF API Activity 스키마를 따릅니다.

예시 요청

curl -G \
  'https://api.smith.langchain.com/api/v1/audit-logs' \
  -H 'accept: application/json' \
  -H 'X-API-Key: *** \
  -H 'X-Organization-Id: abc123...' \
  -d 'limit=2' \
  --data-urlencode 'start_time=2026-01-01T18:35:16.232Z' \
  --data-urlencode 'end_time=2026-01-13T18:35:16.232Z' \
  --data-urlencode 'operations=create_api_key' \
  --data-urlencode 'operations=delete_api_key'

응답 형식

감사 로그 이벤트는 OCSF v1.7.0 API Activity (Class UID 6003) 형식으로 반환됩니다. 주요 필드:

필드 설명
actor.user.uid 작업을 수행한 사용자의 UUID.
actor.user.credential_uid 요청을 인증하는 데 사용된 API 키, PAT 또는 서비스 키의 UUID. 사용자가 세션(예: UI)으로 인증한 경우 null.
api.operation LangSmith 작업 이름 (예: create_api_key, delete_workspace). 모든 값은 추적 작업 레퍼런스 참고.
status Success, Failure, 또는 Unknown.
resources 작업의 영향을 받은 리소스의 UUID 목록 (예: 업데이트된 역할, 생성된 워크스페이스).
metadata.uid 이 감사 로그 이벤트의 고유 식별자.
unmapped.original_audit_log organization_idworkspace_id를 포함한 전체 LangSmith 네이티브 감사 로그 기록.
unmapped.original_audit_log.enrichments.resource_owner_ls_user_id 작업이 작용한 리소스를 소유한 멤버의 UUID. 개인 접근 토큰 비활성화/삭제 같은 작업에 기록됩니다. actor.user.uid와 다른 값은 관리자가 다른 멤버의 리소스에 행동했음을 의미합니다.

외부 시스템으로 전달

감사 로그 이벤트를 외부 SIEM 또는 로깅 플랫폼으로 전달하려면, 매 시간 이전 한 시간의 이벤트를 가져오는 예약 함수를 실행할 수 있습니다. 예를 들어 AWS Lambda + EventBridge Scheduler를 사용하면 실패가 dead-letter 큐에 들어가 어느 시간대를 재시도해야 하는지 알 수 있습니다.

추적 작업 레퍼런스

카테고리 작업 (api.operation)
API 키 및 자격 증명 create_api_key, delete_api_key, create_personal_access_token, delete_personal_access_token, create_service_key, delete_service_key, update_service_key, create_service_account, delete_service_account, revoke_personal_access_token, list_org_personal_access_tokens, list_all_org_personal_access_tokens, list_org_service_keys
역할 create_role, update_role, delete_role
조직 create_organization, create_provisioned_saas_org, create_tenant, invite_provisioned_org_member, claim_pending_organization_invite, delete_pending_organization_invite
조직 멤버 invite_user_to_org, invite_users_to_org_batch, update_org_member, delete_org_member, delete_org_pending_member, add_basic_auth_users_to_org, update_basic_auth_user
SSO 및 인증 create_sso_settings, update_sso_settings, delete_sso_settings, update_login_methods, update_default_sso_provision_organization, get_sso_settings, get_sso_settings_current, get_login_methods, send_sso_email_confirmation, confirm_sso_user_email, login
SCIM 프로비저닝 create_scim_token, update_scim_token, delete_scim_token, create_scim_user, update_scim_user, delete_scim_user, create_scim_group, update_scim_group, delete_scim_group
결제 및 사업자 정보 update_organization_info, update_business_info, update_payment_plan, update_payment_method, create_payment_setup_intent, create_payment_checkout_session, create_payment_account_link
워크스페이스 create_workspace, update_workspace, delete_workspace, add_member_to_workspace, add_members_to_workspace_batch, delete_workspace_member, update_workspace_member, delete_workspace_pending_member, claim_pending_workspace_invite, delete_pending_workspace_invite, update_workspace_secrets, unshare_entities, set_tenant_handle
데이터 보존 및 사용량 한도 update_ttl_settings, update_usage_limit, delete_usage_limit
트레이싱 프로젝트 update_tracer_session, delete_tracer_session, delete_tracer_sessions
런 및 트레이스 query_run, query_runs, query_trace, query_trace_messages, batch_query_trace_messages, query_threads, query_thread_traces, read_run, read_runs, delete_runs, get_run_cluster, generate_runs_query
데이터셋 create_dataset, create_csv_dataset, update_dataset, delete_dataset, delete_datasets, update_dataset_version, update_dataset_splits, share_dataset, unshare_dataset, clone_dataset, download_dataset, generate_dataset, generate_shared_dataset_query, get_dataset_comparison_view, stream_dataset_comparison_view, read_dataset_delta, read_shared_delta, read_shared_delta_stream, create_experiment_via_upload, create_playground_experiment, create_comparative_experiment, delete_comparative_experiment
예제 create_example, create_examples, update_example, update_examples, delete_example, delete_examples, read_example, read_examples, get_example, list_examples, sync_examples, validate_example, validate_examples
실험 create_experiment_view_override, update_experiment_view_override, delete_experiment_view_override, get_experiment_view_override, get_experiment_view_overrides, evaluate_experiment
평가기 create_evaluator, update_evaluator, delete_evaluator, bulk_delete_evaluators, execute_custom_code
피드백 create_feedback_config, update_feedback_config, delete_feedback_config, create_feedback_formula, update_feedback_formula, delete_feedback_formula, read_feedback, read_feedbacks, stream_feedback_delta
어노테이션 큐 create_annotation_queue, update_annotation_queue, delete_annotation_queue, delete_annotation_queues, populate_annotation_queue, export_annotation_queue, add_annotation_queue_reviewer, remove_annotation_queue_reviewer, add_runs_to_annotation_queue, create_annotation_queue_run_status, update_annotation_queue_run, get_annotation_queue_run, get_annotation_queue_runs, delete_annotation_queue_run, delete_annotation_queue_runs, resolve_annotation_queue_run, get_pairwise_queue, list_pairwise_queues, list_pairwise_entries
경고 create_alert_rule, update_alert_rule, delete_alert_rule, test_alert_rule
필터 뷰 create_filter_view, update_filter_view, delete_filter_view, rename_filter_view
프롬프트 커밋 및 허브 create_commit, create_directory_commit, delete_directory, create_hub_environment, update_hub_environment, delete_hub_environment
프롬프트 캔버스 빠른 동작 create_prompt_canvas_quick_action, update_prompt_canvas_quick_action, delete_prompt_canvas_quick_action
프롬프트 웹훅 create_prompt_webhook, update_prompt_webhook, delete_prompt_webhook, test_prompt_webhook
배포 create_deployment, update_deployment, delete_deployment
벌크 내보내기 create_bulk_export, cancel_bulk_export, get_bulk_export, get_bulk_export_run, get_bulk_export_runs, get_bulk_export_runs_filtered, list_bulk_exports, create_bulk_export_destination, update_bulk_export_destination, read_bulk_export_destination, list_bulk_export_destinations
리소스 태그 create_tag_key, update_tag_key, delete_tag_key, create_tag_value, update_tag_value, delete_tag_value, create_tagging, delete_tagging
접근 정책 create_access_policy, delete_access_policy, list_access_policies, read_access_policy, attach_access_policies, read_role_access_policies
커스텀 차트 create_chart, update_chart, delete_chart, read_chart, read_charts, read_chart_preview, create_chart_section, update_chart_section, delete_chart_section, clone_chart_section, read_chart_section, create_org_chart, update_org_chart, delete_org_chart, create_org_chart_section, update_org_chart_section, delete_org_chart_section, read_tracing_dashboard
모델 가격 create_model_price_map, update_model_price_map, delete_model_price_map
MCP 서버 및 도구 create_mcp_server, update_mcp_server, delete_mcp_server, register_mcp_server_oauth, mcp_proxy, create_mcp_vendor_settings, update_mcp_vendor_settings, delete_mcp_vendor_settings, invalidate_mcp_tools_cache, create_tool, update_tool, delete_tool
게이트웨이 정책 create_gateway_policy, update_gateway_policy, delete_gateway_policy
Forge 구성 create_forge_configuration, update_forge_configuration, delete_forge_configuration, trigger_forge_configuration
Insights 작업 create_insights_job, update_insights_job, delete_insights_job, create_insights_job_config, update_insights_job_config, delete_insights_job_config, generate_insights_job_config, get_insights_job_runs
Fleet 사용량 한도 및 웹훅 create_fleet_usage_limit, update_fleet_usage_limit, delete_fleet_usage_limit, create_fleet_webhook, update_fleet_webhook, delete_fleet_webhook, test_fleet_webhook
샌드박스 프록시 프로필 create_sandbox_proxy_profile, update_sandbox_proxy_profile, delete_sandbox_proxy_profile
Playground 설정 create_playground_settings, update_playground_settings, delete_playground_settings
자체 호스팅 라이선스 create_self_hosted_customer, update_self_hosted_customer, mint_self_hosted_license, update_self_hosted_license
기능 모델 기본값 upsert_feature_default_model, delete_feature_default_model, upsert_feature_disabled_model, delete_feature_disabled_model
온보딩 create_onboarding_state, update_onboarding_state
NPS submit_nps_response

자체 호스팅 버전 가용성

다음 목록은 각 작업이 도입된 자체 호스팅 Helm 차트 버전을 제공합니다. 작업은 이후 모든 버전에서 사용할 수 있습니다. 이 섹션은 자체 호스팅 배포에만 적용됩니다. LangSmith 클라우드에서는 나열된 모든 작업을 사용할 수 있습니다.

참고: 0.14.x 및 이전 버전은 안정 릴리스입니다. 0.15.0-rc.*에 도입된 작업은 미리보기 채널에서 제공되며 0.15.0 안정 릴리스에서 일반적으로 사용 가능해집니다. 채널에 대한 자세한 내용은 릴리스 정책을 참고하세요.

0.12.33 add_member_to_workspace, add_members_to_workspace_batch, cancel_bulk_export, create_api_key, create_bulk_export, create_bulk_export_destination, create_personal_access_token, create_service_key, create_tag_key, create_tag_value, create_tagging, create_workspace, delete_api_key, delete_personal_access_token, delete_service_key, delete_tag_key, delete_tag_value, delete_tagging, delete_usage_limit, delete_workspace, delete_workspace_member, delete_workspace_pending_member, set_tenant_handle, unshare_entities, update_organization_info, update_tag_key, update_tag_value, update_ttl_settings, update_usage_limit, update_workspace, update_workspace_member, update_workspace_secrets

0.12.34 add_basic_auth_users_to_org, clone_chart_section, confirm_payment_checkout_session, create_chart, create_chart_section, create_deployment, create_model_price_map, create_org_chart, create_org_chart_section, create_payment_account_link, create_payment_checkout_session, create_payment_setup_intent, create_role, create_sso_settings, delete_chart, delete_chart_section, delete_deployment, delete_model_price_map, delete_org_chart, delete_org_chart_section, delete_org_member, delete_org_pending_member, delete_role, delete_sso_settings, invite_user_to_org, invite_users_to_org_batch, update_basic_auth_user, update_business_info, update_chart, update_chart_section, update_default_sso_provision_organization, update_deployment, update_login_methods, update_model_price_map, update_org_chart, update_org_chart_section, update_org_member, update_payment_method, update_payment_plan, update_role, update_sso_settings

0.13.3 update_bulk_export_destination

0.13.32 clone_dataset, create_comparative_experiment, create_csv_dataset, create_dataset, create_example, create_examples, create_experiment_via_upload, create_playground_experiment, create_prompt_webhook, delete_comparative_experiment, delete_dataset, delete_datasets, delete_example, delete_examples, delete_prompt_webhook, delete_tracer_session, delete_tracer_sessions, read_bulk_export_destination, share_dataset, test_prompt_webhook, unshare_dataset, update_dataset, update_dataset_splits, update_dataset_version, update_example, update_examples, update_prompt_webhook, update_tracer_session

0.13.37 attach_access_policies, create_access_policy, create_scim_group, create_scim_token, create_scim_user, delete_access_policy, delete_scim_group, delete_scim_token, delete_scim_user, list_access_policies, read_access_policy, read_role_access_policies, update_scim_group, update_scim_token, update_scim_user

0.15.0-rc.1 add_annotation_queue_reviewer, add_runs_to_annotation_queue, batch_query_trace_messages, bulk_delete_evaluators, claim_pending_organization_invite, claim_pending_workspace_invite, confirm_sso_user_email, count_examples, create_alert_rule, create_annotation_queue, create_annotation_queue_run_status, create_commit, create_directory_commit, create_evaluator, create_experiment_view_override, create_feedback_config, create_feedback_formula, create_filter_view, create_fleet_usage_limit, create_fleet_webhook, create_forge_configuration, create_gateway_policy, create_hub_environment, create_insights_job, create_insights_job_config, create_mcp_server, create_mcp_vendor_settings, create_onboarding_state, create_organization, create_playground_settings, create_prompt_canvas_quick_action, create_sandbox_proxy_profile, create_service_account, create_tenant, create_tool, delete_alert_rule, delete_annotation_queue, delete_annotation_queue_run, delete_annotation_queue_runs, delete_annotation_queues, delete_directory, delete_evaluator, delete_experiment_view_override, delete_feature_default_model, delete_feature_disabled_model, delete_feedback_config, delete_feedback_formula, delete_filter_view, delete_fleet_usage_limit, delete_fleet_webhook, delete_forge_configuration, delete_gateway_policy, delete_hub_environment, delete_insights_job, delete_insights_job_config, delete_mcp_server, delete_mcp_vendor_settings, delete_pending_organization_invite, delete_pending_workspace_invite, delete_playground_settings, delete_prompt_canvas_quick_action, delete_runs, delete_sandbox_proxy_profile, delete_service_account, delete_tool, diff_dataset_versions, download_dataset, evaluate_experiment, execute_custom_code, export_annotation_queue, export_granular_usage_csv, export_usage_backfill_csv, generate_dataset, generate_insights_job_config, generate_runs_query, get_annotation_queue_run, get_annotation_queue_runs, get_bulk_export, get_bulk_export_run, get_bulk_export_runs, get_bulk_export_runs_filtered, get_experiment_view_override, get_experiment_view_overrides, get_pairwise_queue, get_run_cluster, get_sso_settings, get_sso_settings_current, get_usage, list_annotation_queue, list_bulk_exports, list_org_service_keys, list_pairwise_entries, list_pairwise_queues, login, mcp_proxy, mint_self_hosted_license, populate_annotation_queue, query_run, query_runs, query_threads, query_thread_traces, query_trace, query_trace_messages, read_chart, read_chart_preview, read_charts, read_chart_section, read_example, read_examples, read_feedback, read_feedbacks, read_role_access_policies, read_run, read_runs, read_tracing_dashboard, register_mcp_server_oauth, remove_annotation_queue_reviewer, rename_filter_view, resolve_annotation_queue_run, stream_feedback_delta, submit_nps_response, sync_examples, test_alert_rule, test_fleet_webhook, test_prompt_webhook, trigger_forge_configuration, update_annotation_queue_run, update_alert_rule, update_chart_section, update_dataset_version, update_experiment_view_override, update_insights_job, update_insights_job_config, update_org_chart_section, update_playground_settings, update_prompt_canvas_quick_action, update_sandbox_proxy_profile, delete_annotation_queue_run, delete_annotation_queue_runs, delete_sandbox_proxy_profile, update_annotation_queue, delete_annotation_queue, delete_annotation_queues, delete_onboarding_state, update_onboarding_state, update_org_chart, create_org_chart, create_org_chart_section, delete_org_chart_note, create_org_chart_note, create_self_hosted_customer, update_self_hosted_customer, update_self_hosted_license, create_hub_environment, update_hub_environment, delete_hub_environment, create_custom_chart_section, update_tracing_dashboard_filters, create_tracing_dashboard_filter, evaluate_grid_panel, create_feedback_formula, update_feedback_formula, delete_feedback_formula, invalidate_mcp_tools_cache, create_mcp_vendor_settings, update_mcp_vendor_settings, delete_mcp_vendor_settings, create_gateway_policy, update_gateway_policy, delete_gateway_policy (등등)

참고: 위에 나열된 작업은 0.15.0-rc.1에서 도입된 작업의 일부입니다. 전체 목록과 이후 릴리스의 작업은 원문 문서를 참고하세요.

FAQ

누가 감사 로그를 볼 수 있나요?

Organization Admin 또는 Organization Operator 역할(organization:manage 권한을 부여하는)이 있는 사용자가 감사 로그에 접근할 수 있습니다. 워크스페이스 수준 역할은 감사 로그 접근을 제공하지 않습니다.

감사 로그는 Plus 또는 Developer 요금제에서 제공되나요?

아니요. 감사 로그는 Enterprise 기능입니다. 요금제 세부 정보는 pricing을 참고하세요.

감사 로그를 보는 UI가 있나요?

네. UI에서 감사 로그 보기를 참고하세요. 감사 로그는 API로도 제공됩니다.

읽기 작업도 기록되나요?

감사 로그는 현재 주로 쓰기 작업에 초점을 둡니다. 읽기 작업 지원이 향후 추가될 수 있습니다.

앞으로 더 많은 작업이 추적되나요?

네. 시간이 지나면서 추적되는 작업 세트를 확장하려 합니다. 추적 작업 레퍼런스는 항상 현재 지원되는 작업 세트를 반영합니다.

OCSF 형식이 아닌 감사 로그를 받을 수 있나요?

API는 이벤트를 OCSF 형식으로만 반환합니다. 다른 형태의 데이터가 필요하면 각 이벤트 내 unmapped.original_audit_log 필드에 원시 LangSmith 감사 로그 기록이 포함됩니다.

OCSF가 무엇인가요?

Open Cybersecurity Schema Framework (OCSF)는 보안 이벤트 데이터를 위한 개방형 표준입니다. LangSmith는 감사 로그 이벤트를 OCSF v1.7.0 API Activity(Class 6003) 객체로 반환합니다.

더 알아보기

  • 역할과 권한에 대한 자세한 내용은 RBAC 문서를 참고하세요.
  • 감사 로그 API 레퍼런스는 Get audit logs 문서를 확인해 보세요.