Claude Platform Docs
관리Security posture

Security posture 이벤트를 OCSF에 매핑하기

Compliance API의 각 Security posture 활동을 저장하기 전에 해당 활동의 Open Cybersecurity Schema Framework(OCSF) 클래스와 속성에 매핑합니다.

“Open Cybersecurity Schema Framework”(개방형 사이버 보안 스키마 프레임워크), 즉 OCSF는 보안 이벤트를 위한 개방형 스키마입니다. 이 매핑은 자체 파이프라인에서 Security posture 활동을 읽은 후, 저장하기 전에 적용하세요. 활동을 “security information and event management”(보안 정보 및 이벤트 관리), 즉 SIEM 시스템으로 수집하려면 Security posture 이벤트를 SIEM으로 전송하기에서 시작하세요.

OCSF 버전

이 매핑은 OCSF 1.6.0을 사용합니다. 다른 버전을 기준으로 검증하는 경우 이 페이지의 속성을 해당 버전과 대조하여 확인하세요. 예를 들어 OCSF 1.7.0에서 metadata.uid는 OCSF 이벤트 자체의 식별자이며, metadata.original_event_uid에 소스의 식별자가 담깁니다. OCSF 1.9.0은 actor.app_name을 지원 중단하고 대신 actor.application을 사용합니다.

모든 Security posture 활동의 속성

모든 이벤트에서 다음 필드를 매핑하세요.

활동 필드OCSF 속성참고
idmetadata.uid그대로 복사합니다.
typemetadata.event_code그대로 복사합니다.
created_attimeRFC 3339 문자열을 Unix 에포크 이후의 밀리초로 변환하고 정수로 잘라냅니다.
created_atmetadata.original_time문자열을 그대로 복사합니다.
없음metadata.logged_time활동을 저장한 시각(변경 사항 감지하기의 stored_at)으로, Unix 에포크 이후의 밀리초입니다.
organization_uuidmetadata.tenant_uid그대로 복사합니다.
organization_idunmapped.organization_id그대로 복사합니다.
없음metadata.version상수: 1.6.0.
없음metadata.product.vendor_name상수: Anthropic.
없음metadata.product.name상수: Compliance API.
없음type_uidclass_uid * 100 + activity_id.
없음severity_id모든 이벤트에서 1(Informational)로 설정하고, 경보의 우선순위는 해당 경보를 발생시키는 감지 규칙에서 설정하세요.

OCSF 속성이 없는 모든 필드는 핸들러가 인식하지 못하는 필드를 포함하여 Activity Feed 이름 그대로 unmapped 객체에 넣으세요. 필드가 없거나 null인 경우 해당 OCSF 속성을 생략하세요.

actor 객체를 매핑하세요:

활동 필드OCSF 속성참고
없음metadata.profilesactor를 담는 OCSF 프로필(선택적 속성 집합)인 host를 추가합니다.
actor.typeunmapped.actor.type그대로 복사합니다.
actor.user_idactor.user.uiduser_actor에만 해당합니다.
actor.email_addressactor.user.email_addruser_actor에만 해당합니다.
actor.ip_addresssrc_endpoint.ipuser_actor에만 해당합니다.
actor.user_agenthttp_request.user_agentuser_actor에만 해당합니다.
actor.serviceactor.app_namesystem_actor에만 해당합니다.

진술 활동: Entity Management

org_security_control_attestation_updated 활동을 OCSF Entity Management 클래스(3004)에 매핑하세요. Entity Management 이벤트는 관리 대상 엔티티에 대한 작업을 보고하며, 여기서 해당 엔티티는 보안 통제에 대한 조직의 진술입니다.

활동 필드OCSF 속성참고
없음class_uid상수: 3004(Entity Management).
없음category_uid상수: 3(Identity & Access Management).
actionactivity_id이어지는 action 값 표를 따릅니다.
actionunmapped.action두 action 값이 하나의 activity_id를 공유하므로 그대로 복사합니다.
없음entity.type_id상수: 99(Other).
없음entity.type상수: Security control attestation.
controlentity.uid그대로 복사합니다.
statusentity.data.status그대로 복사합니다: 진술의 값입니다.
review_dateentity.data.review_date그대로 복사합니다: 진술의 만료일입니다.
previous_statusunmapped.previous_status그대로 복사합니다: 변경 전 진술의 값입니다.

status를 status_id나 통과 또는 실패를 나타내는 어떤 값에도 매핑하지 마세요. 진술은 통제에 대한 사람의 진술이며, 검사 결과가 아닙니다.

actionactivity_idtype_uid
attested1(Create)300401
changed3(Update)300403
renewed3(Update)300403
cleared4(Delete)300404
lapsed11(Deactivate)300411
그 밖의 값99(Other)300499

99(Other)인 경우 activity_name을 action 값으로 설정하세요.

attested 활동은 다음과 같은 이벤트에 매핑됩니다(샘플 값 사용):

{
  "class_uid": 3004,
  "category_uid": 3,
  "activity_id": 1,
  "type_uid": 300401,
  "severity_id": 1,
  "time": 1794495872517,
  "metadata": {
    "version": "1.6.0",
    "profiles": ["host"],
    "uid": "activity_01Kp5RvNd8Wc3TgMy6BxQf4Z",
    "event_code": "org_security_control_attestation_updated",
    "original_time": "2026-11-12T15:04:32.517208Z",
    "logged_time": 1794495910000,
    "tenant_uid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
    "product": { "vendor_name": "Anthropic", "name": "Compliance API" }
  },
  "actor": {
    "user": {
      "uid": "user_01TuVwXyZaBcDeFgH2JkLmN4",
      "email_addr": "admin@example.com"
    }
  },
  "src_endpoint": { "ip": "192.0.2.34" },
  "http_request": { "user_agent": "ExampleBrowser/1.0" },
  "entity": {
    "type_id": 99,
    "type": "Security control attestation",
    "uid": "mdm_chat_required_organization",
    "data": { "status": "completed" }
  },
  "unmapped": {
    "action": "attested",
    "actor": { "type": "user_actor" },
    "organization_id": "org_01JuY4bkwkH1x4PodBJaWmh2"
  }
}

이 페이지가 도움이 되었나요?