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 속성 | 참고 |
|---|---|---|
id | metadata.uid | 그대로 복사합니다. |
type | metadata.event_code | 그대로 복사합니다. |
created_at | time | RFC 3339 문자열을 Unix 에포크 이후의 밀리초로 변환하고 정수로 잘라냅니다. |
created_at | metadata.original_time | 문자열을 그대로 복사합니다. |
| 없음 | metadata.logged_time | 활동을 저장한 시각(변경 사항 감지하기의 stored_at)으로, Unix 에포크 이후의 밀리초입니다. |
organization_uuid | metadata.tenant_uid | 그대로 복사합니다. |
organization_id | unmapped.organization_id | 그대로 복사합니다. |
| 없음 | metadata.version | 상수: 1.6.0. |
| 없음 | metadata.product.vendor_name | 상수: Anthropic. |
| 없음 | metadata.product.name | 상수: Compliance API. |
| 없음 | type_uid | class_uid * 100 + activity_id. |
| 없음 | severity_id | 모든 이벤트에서 1(Informational)로 설정하고, 경보의 우선순위는 해당 경보를 발생시키는 감지 규칙에서 설정하세요. |
OCSF 속성이 없는 모든 필드는 핸들러가 인식하지 못하는 필드를 포함하여 Activity Feed 이름 그대로 unmapped 객체에 넣으세요. 필드가 없거나 null인 경우 해당 OCSF 속성을 생략하세요.
actor 객체를 매핑하세요:
| 활동 필드 | OCSF 속성 | 참고 |
|---|---|---|
| 없음 | metadata.profiles | actor를 담는 OCSF 프로필(선택적 속성 집합)인 host를 추가합니다. |
actor.type | unmapped.actor.type | 그대로 복사합니다. |
actor.user_id | actor.user.uid | user_actor에만 해당합니다. |
actor.email_address | actor.user.email_addr | user_actor에만 해당합니다. |
actor.ip_address | src_endpoint.ip | user_actor에만 해당합니다. |
actor.user_agent | http_request.user_agent | user_actor에만 해당합니다. |
actor.service | actor.app_name | system_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). |
action | activity_id | 이어지는 action 값 표를 따릅니다. |
action | unmapped.action | 두 action 값이 하나의 activity_id를 공유하므로 그대로 복사합니다. |
| 없음 | entity.type_id | 상수: 99(Other). |
| 없음 | entity.type | 상수: Security control attestation. |
control | entity.uid | 그대로 복사합니다. |
status | entity.data.status | 그대로 복사합니다: 진술의 값입니다. |
review_date | entity.data.review_date | 그대로 복사합니다: 진술의 만료일입니다. |
previous_status | unmapped.previous_status | 그대로 복사합니다: 변경 전 진술의 값입니다. |
status를 status_id나 통과 또는 실패를 나타내는 어떤 값에도 매핑하지 마세요. 진술은 통제에 대한 사람의 진술이며, 검사 결과가 아닙니다.
action | activity_id | type_uid |
|---|---|---|
attested | 1(Create) | 300401 |
changed | 3(Update) | 300403 |
renewed | 3(Update) | 300403 |
cleared | 4(Delete) | 300404 |
lapsed | 11(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"
}
}이 페이지가 도움이 되었나요?