---
title: Security posture 변경 사항 감지하기
url: https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/detect-changes
description: SIEM에서 Security posture 활동에 대한 샘플 감지 규칙으로 시작하세요. 위험 수용, 실패로 진술된 통제, 예상치 못한 편집자, 단시간에 집중된 변경, 자동으로 종료되는 진술을 다룹니다.
---

<Note>
  Compliance API를 활성화하려면 [Compliance API 설정](https://platform.claude.com/docs/ko/manage-claude/compliance-api-access)을 참조하세요.
</Note>

이 샘플 규칙은 Compliance API Activity Feed가 기록하는 활동을 사용하여 조직의 [Security posture](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/overview)에서 발생한 변경 사항에 대해 경보를 보냅니다. 이 규칙들은 [SIEM으로 이벤트 전송하기](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/send-events)에서 설명하는 대로 “security information and event management”(보안 정보 및 이벤트 관리), 즉 SIEM 시스템에 이러한 활동이 저장되어 있다고 가정합니다.

## 규칙을 작성하기 전에

각 규칙은 평이한 설명과, 특정 쿼리 언어에 국한되지 않은 쿼리로 구성됩니다.

* 쿼리는 Activity Feed의 필드 이름과 함께, 활동을 저장한 시점을 가리키기 위해 이 페이지에서 사용하는 이름인 `stored_at`을 사용합니다. 그 밖의 이름은 어떤 이름이든 직접 관리하는 목록이나 별칭입니다.
* 규칙이 활동 수를 세기 전에 `id` 기준으로 활동의 중복을 제거하세요.
* 활동은 늦게 도착할 수 있으므로, 규칙에 달리 명시되어 있지 않은 한 각 규칙은 마지막으로 완료된 실행 이후의 기간에 걸쳐 `created_at`이 아닌 `stored_at` 기준으로 실행하세요. 쿼리에서는 이 기간이 생략되어 있습니다.
* 규칙은 저장한 활동을 근거로 발동하도록 작성하고, 저장하지 않은 활동을 근거로 발동하도록 절대 작성하지 마세요. 그러한 활동은 늦게 도착하는 중일 수도 있고, [피드가 기록하지 않는](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/events-reference#what-the-feed-does-not-record) 변경일 수도 있습니다. 저장된 활동을 현재 결과와 비교하려면 [이벤트를 결과와 대조하기](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results)를 참조하세요.

## 진술 규칙

이 다섯 가지 규칙은 [`org_security_control_attestation_updated`](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/events-reference#attestation-activity) 활동을 읽습니다.

### 위험이 수용됨

누군가 보안 통제를 충족하지 못하는 위험을 수용(`accepted_risk`)하면, 두 번째 사람이 그 결정을 검토할 수 있도록 경보를 보냅니다.

```sql
type == "org_security_control_attestation_updated"
AND status == "accepted_risk"
AND actor.type != "system_actor"
```

이 규칙은 `system_actor`를 제외합니다. 종료된 진술(`lapsed`)과 같은 자동 변경은 `status`를 유지하지만 수용은 아니기 때문입니다.

### 통제가 실패로 진술됨

누군가 통제를 실패(`control_failed`)로 진술하면, 누군가 해당 통제에 대해 후속 조치를 할 수 있도록 경보를 보냅니다.

```sql
type == "org_security_control_attestation_updated"
AND status == "control_failed"
AND actor.type != "system_actor"
```

이 규칙은 [위험이 수용됨](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/detect-changes#a-risk-was-accepted)과 같은 이유로 `system_actor`를 제외합니다.

### 허용 목록에 없는 사람이 진술을 변경함

진술을 관리하는 사람의 목록에 없는 사람이 진술을 기록, 변경, 다시 저장 또는 해제하면 경보를 보냅니다. 이 사람들의 `user_id` 값(`allowed_user_ids`)은 SIEM에 보관하세요.

```sql
type == "org_security_control_attestation_updated"
AND actor.type != "system_actor"
AND NOT (actor.type == "user_actor" AND actor.user_id IN allowed_user_ids)
```

* 목록에 있는 `user_actor` 또는 `system_actor`가 아닌 행위자라면 누구든 규칙을 발동시킵니다.
* 목록의 고유 식별 기준으로 `actor.user_id`를 사용하세요. `actor.email_address`는 활동이 기록될 당시 해당 사람이 사용하던 주소입니다([SIEM과 상관 분석하기](https://platform.claude.com/docs/ko/manage-claude/compliance-integration-patterns#correlate-with-your-siem)).

### 한 사람이 진술을 여러 번 변경함

한 사람이 짧은 시간 안에 조직에서 일반적인 수준보다 많은 진술 변경을 하면 경보를 보냅니다. 임계값 10과 1시간 기간은 예시입니다. 두 값 모두 조직의 실제 활동을 바탕으로 정하세요.

```sql
type == "org_security_control_attestation_updated"
AND actor.type == "user_actor"
| group by organization_uuid, actor.user_id over a sliding 1 hour of created_at
| where count(distinct id) >= 10
```

* 규칙의 마지막 실행 이후 저장된 활동이 있는 그룹에 대해서만 경보를 보내고, 저장한 모든 활동을 대상으로 세세요. 그래야 늦게 도착한 활동이, 나머지 활동이 앞서 저장된 집중 변경 묶음에 합류할 수 있습니다.
* `created_at` 기준으로 세면 수집 속도가 아니라 그 사람의 변경 속도를 측정하게 됩니다.

### 진술이 자동으로 종료됨

`lapsed` 활동은 해당 활동이 가리키는 통제를 검토하라는 신호로 취급하세요.

```sql
type == "org_security_control_attestation_updated"
AND action == "lapsed"
```

[`lapsed` 활동](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/events-reference#what-a-lapsed-activity-means)은 통제의 검사 결과 또는 현재 값이 진술이 저장될 당시의 값과 달라졌다는 의미이며, 만료일(`review_date`)이 지났다는 의미가 아닙니다. 이 활동은 늦게 도착할 수 있습니다.

## 값이 바뀌어도 규칙이 계속 작동하도록 유지하기

이러한 필드 중 어느 필드에든 새로운 값이 나타날 수 있습니다.

* 자동 변경은 `actor.service`의 값이 아니라 `actor.type`으로 식별하세요.
* 규칙에 나열되지 않은 `control`, `action` 또는 `status` 값을 가진 활동을 버리지 마세요. 새로운 `action` 값이 수용을 기록할 수도 있습니다. [이벤트 참조](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/events-reference)를 참조하세요.

## 규칙 테스트하기

[허용 목록 규칙](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/detect-changes#someone-outside-an-allowlist-changed-an-attestation)이 발동하는 것을 확인하려면, 진술할 수 있으면서 목록에 없는 사람을 선택하세요. 그 사람에게 진술이 없고 그 결과에 아무도 의존하지 않는 통제에 진술하게 한 다음, 그 진술을 해제하게 하세요. 해제되기 전까지는 이 진술이 해당 통제의 결과를 바꿀 수 있습니다. 두 활동 모두 Activity Feed에 도달하기까지 시간이 걸릴 수 있습니다.

이러한 활동을 “Open Cybersecurity Schema Framework”(개방형 사이버 보안 스키마 프레임워크), 즉 OCSF 이벤트로 저장한다면, [Security posture 이벤트를 OCSF에 매핑하기](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/ocsf-mapping)에서 해당 필드를 매핑합니다.
