---
title: 저장된 Security posture 이벤트를 현재 결과와 대조하기
url: https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results
description: 하루에 한 번, SIEM에 저장된 진술 활동을 엔드포인트의 현재 결과와 비교하고, 어떤 불일치에 사람의 확인이 필요한지 판단합니다.
---

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

Activity Feed는 활동을 늦게 전달할 수 있고 엔드포인트는 기록을 보관하지 않으므로, 각 소스에 다른 쪽에는 나타나지 않는 변경 사항이 나타날 수 있습니다. 일일 비교를 통해 “security information and event management”(보안 정보 및 이벤트 관리), 즉 SIEM 저장소에 누락된 항목을 찾을 수 있습니다. 피드가 [모든 변경 사항](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/events-reference#what-the-feed-does-not-record)을 기록하는 것은 아니므로, 진술(attestation)이 해당 보안 통제에 대한 피드의 첫 활동보다 더 이전일 수 있으며, 드물게는 변경 사항에 활동이 전혀 없을 수도 있습니다. 현재 결과만 보고하는 경우에는 이 대조가 필요하지 않습니다.

엔드포인트용 `read:compliance_org_data`와 Activity Feed용 `read:compliance_activities`, 또는 둘 다를 위한 `read:org_audit`가 포함된, 해당 조직을 포괄하는 Compliance Access Key가 필요합니다.

## 대조 실행하기

늦게 조회 가능해진 활동이 저장되도록 각 실행을 그날의 [일일 재조회](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day)가 완료된 후에 시작합니다.

1. [조직 나열](https://platform.claude.com/docs/ko/manage-claude/compliance-org-data#list-organizations)로 연결된 조직을 나열합니다. 각 조직의 `uuid`를 얻습니다.
2. 각 조직에 대해 [엔드포인트를 한 번 호출합니다](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/results-reference#request). 200을 받거나, 엔드포인트가 지원하지 않는 조직([Security posture 사용 가능 여부](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/overview#availability) 참조)의 경우 매 실행마다 404를 받습니다. 404는 이번 실행에서 해당 조직을 읽지 않았다는 의미입니다. 200을 반환하는 조직의 목록을 각 조직의 첫 번째 200의 `evaluated_at`, 즉 해당 조직에 대한 첫 실행과 함께 보관합니다.
3. [분리 규칙](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results#set-aside-what-cannot-be-compared)에 나열된 항목을 분리합니다.
4. 조직의 나머지 저장된 진술 활동을 보안 통제별로 그룹화하고, 각 통제에서 `created_at` 기준으로 가장 나중의 활동을 선택합니다. 통제마다 활동이 하나 있거나 없습니다.
5. 남은 각 통제에 대해 [판정 표](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results#decide-what-each-mismatch-means)에서 해당 행을 찾습니다. 일치, 예상된 차이 또는 조사 필요 중 하나를 얻습니다.
6. 조직을 읽는 다음 실행에서 조사 필요 항목이 다시 나타날 때만 조치합니다. 6행은 즉시 조치하고, 10행과 11행에 대해서는 대신 [자리 표시 레코드 규칙](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results#keep-a-placeholder-where-the-two-sources-cannot-be-matched)을 따릅니다. 조직을 읽지 않은 실행은 횟수에 포함되지 않으며 대기를 다시 시작하지도 않습니다.

호출 속도를 조절하고 429는 [429 Too Many Requests](https://platform.claude.com/docs/ko/manage-claude/compliance-errors#429-too-many-requests)에 설명된 대로 처리하세요. 재시도 후에도 호출이 성공하지 못한 조직은 이번 실행에서 읽지 않은 것이며, 성공하지 못한 호출은 변경 사항이 아닙니다.

## 필드 매칭하기

다음 필드를 사용해 응답의 항목을 저장된 활동과 매칭합니다.

| 응답의 필드                    | 활동의 필드                                                       | 관계                                                                                                                                                                         |
| ------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organization_id`         | `organization_uuid`                                          | 같은 값입니다. 활동 자체의 `organization_id`에는 `org_` 접두사가 붙습니다.                                                                                                                      |
| `controls[].id`           | `control`                                                    | [규칙 S2](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results#set-aside-what-cannot-be-compared)의 경우를 제외하고 같은 식별자입니다. |
| `attestation.attested_at` | `attested`, `changed` 또는 `renewed` 중 가장 나중의 활동의 `created_at` | 응답에 진술이 나타나는 경우 같은 시각입니다. 문자열이 아닌 시각으로 비교하세요.                                                                                                                              |
| `status`                  | `status`                                                     | 진술이 유효한 동안에는 `attested_completed`가 `completed`와, `attested_accepted_risk` 및 `failed_check_accepted_risk`가 `accepted_risk`와 짝을 이룹니다. `control_failed`와 짝을 이루는 값은 없습니다.      |

## 비교할 수 없는 항목 분리하기

비교하기 전에 다음 항목을 분리합니다.

| #  | 항목                                                                              | 규칙                                                              |
| -- | ------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| S1 | `action`이 `attested`, `changed`, `renewed`, `cleared` 또는 `lapsed`가 아닌 저장된 진술 활동 | 대조 전체에서 제외합니다. 새로운 `action` 값마다 한 번씩 검토 대상으로 표시합니다.             |
| S2 | `mdm_cowork_required_organization`을 지정한 저장된 진술 활동                               | `mdm_chat_required_organization`에 대한 활동으로 간주합니다.                |
| S3 | 응답에 해당 통제의 항목이 없는 저장된 진술 활동                                                     | 비교할 대상이 없습니다. 통제를 응답에 없는 것으로 보고하며, 통과(`passed`)로는 절대 보고하지 않습니다. |
| S4 | `status`가 `descriptive`, `not_applicable` 또는 `not_evaluated`인 항목                | 건너뜁니다. 해당 항목이 `not_evaluated`인 실행은 그 통제에 대해 횟수에 포함되지 않습니다.      |

## 각 불일치의 의미 판단하기

남은 각 통제는 정확히 하나의 행에 해당합니다.

| #  | 가장 나중의 저장된 활동                                                                             | 응답의 항목                                                                                                                           | 판정     | 조치                                                                                                                                                                                                                                               |
| -- | ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1  | `attested`, `changed` 또는 `renewed`                                                        | `attested_at`이 해당 활동의 `created_at`과 같고, `state`가 `in_force`이며, `status`가 해당 활동의 값과 짝을 이룹니다.                                      | 일치     | 없음.                                                                                                                                                                                                                                              |
| 2  | `cleared`                                                                                 | 11행의 경우를 제외하고 `attestation`이 `null`입니다.                                                                                          | 일치     | 없음.                                                                                                                                                                                                                                              |
| 3  | 위험 수용(`accepted_risk`)인 `lapsed`                                                          | `attestation`이 `null`이거나, 이전 활동의 시각을 가지며 `state`가 `check_passing` 또는 `setting_changed`입니다.                                       | 일치     | 없음.                                                                                                                                                                                                                                              |
| 4  | `completed` 또는 `control_failed`인 `lapsed`                                                 | `attestation`이 `null`입니다.                                                                                                        | 일치     | 없음.                                                                                                                                                                                                                                              |
| 5  | `attested`, `changed` 또는 `renewed`                                                        | `attested_at`이 해당 활동의 `created_at`과 같고, `state`가 `review_due`, `check_passing` 또는 `setting_changed`입니다.                          | 예상된 차이 | 유효하지 않음: 활동을 기다리지 말고 새로운 상태마다 한 번씩 조치합니다. `in_force`로 돌아오면 이 처리가 초기화됩니다.                                                                                                                                                                         |
| 6  | 완료(`completed`)이고 `created_at`이 첫 실행보다 나중인 `attested`, `changed` 또는 `renewed`             | 해당 활동을 비교하는 첫 실행에서 `attestation`이 `null`이고, `status`가 `current_value`가 있는 `failed`입니다.                                           | 조사 필요  | Security posture 페이지에서 자동 검사 기준을 충족하지 못하는 검사가 통과로 나타날 수 있습니다: 대기 없이 검토 대상으로 표시합니다.                                                                                                                                                               |
| 7  | `completed`인 `attested`, `changed` 또는 `renewed`                                           | `attestation`이 `null`이고, `status`가 `not_attested`도 아니고 `current_value`가 `null`인 `failed`도 아니며, 6행에 해당하지 않습니다.                    | 예상된 차이 | 비교할 대상이 없습니다. 응답에는 해당 진술이 절대 나타나지 않습니다.                                                                                                                                                                                                          |
| 8  | 실패(`control_failed`)로 진술된 `attested`, `changed` 또는 `renewed`                              | `attestation`이 `null`이며, `status`는 다음 세 가지 중 하나입니다: `failed`; 자동 검사가 부여하는 모든 상태; 또는 만료일(UTC 기준 `review_date`)부터는 `not_attested`. | 예상된 차이 | 비교할 대상이 없습니다. 만료일부터 `status`가 `failed`에서 벗어나면 한 번 조치합니다.                                                                                                                                                                                         |
| 9  | `accepted_risk`인 `attested`, `changed` 또는 `renewed`                                       | `attestation`이 `null`이고, `status`가 `passed`, `matches_profile` 또는 `exceeds_baseline`입니다.                                         | 예상된 차이 | 자리 표시 레코드를 저장합니다([자리 표시 레코드 규칙 7](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results#keep-a-placeholder-where-the-two-sources-cannot-be-matched)).                                       |
| 10 | 없음, 또는 모든 저장된 활동이 `attested_at`보다 더 이전                                                    | `attestation`이 있습니다.                                                                                                             | 조사 필요  | 자리 표시 레코드 규칙을 따릅니다.                                                                                                                                                                                                                              |
| 11 | 없음, 또는 값이 `control_failed`가 아닌 활동                                                         | `current_value`가 `null`이고, `status`가 `failed`입니다.                                                                                | 조사 필요  | 저장소에 실패(`control_failed`)로 된 진술이 없습니다: 자리 표시 레코드 규칙을 따르고, `status`가 `failed`에서 벗어나면 한 번 조치합니다.                                                                                                                                                   |
| 12 | `attested_at`보다 더 나중의 `attested`, `changed`, `renewed` 또는 `cleared`로, 거의 같은 시각의 다른 활동이 있음 | `attestation`이 있습니다.                                                                                                             | 예상된 차이 | 거의 같은 시각에 이루어진 변경 사항은 어느 순서로든 저장될 수 있습니다.                                                                                                                                                                                                        |
| 13 | 위와 같으나, 그러한 두 번째 활동이 없음                                                                   | `attestation`이 있습니다.                                                                                                             | 조사 필요  | Anthropic 지원팀에 한 번 문의하세요.                                                                                                                                                                                                                        |
| 14 | `attested`, `changed` 또는 `renewed`                                                        | `attested_at`이 해당 활동의 `created_at`과 같고, `state`가 `in_force`이며, `status`가 해당 활동의 값과 짝을 이루지 않습니다.                                  | 조사 필요  | Anthropic 지원팀에 한 번 문의하세요.                                                                                                                                                                                                                        |
| 15 | `attested`, `changed` 또는 `renewed`이며, 앞선 어느 행에도 해당하지 않음                                   | `attestation`이 `null`입니다.                                                                                                        | 조사 필요  | 해제되었을 가능성이 가장 높습니다: 자리 표시 레코드를 저장하고([자리 표시 레코드 규칙 7](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/check-events-against-results#keep-a-placeholder-where-the-two-sources-cannot-be-matched)) 한 번만 검토 대상으로 표시합니다. |
| 16 | 없음                                                                                        | `attestation`이 `null`이고, 11행에 해당하지 않습니다.                                                                                         | 일치     | 없음.                                                                                                                                                                                                                                              |
| 17 | 그 밖의 경우                                                                                   | 그 밖의 경우                                                                                                                          | 조사 필요  | 한 번 검토 대상으로 표시합니다.                                                                                                                                                                                                                               |

## 두 소스를 매칭할 수 없는 경우 자리 표시 레코드 유지하기

자리 표시 레코드는 두 소스 중 한쪽에 없는 것을 대신하며, 저장된 활동과는 별도로 보관합니다. 10행과 11행의 경우 피드를 다시 읽고, [일일 재조회](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day)가 미치는 범위인 15일 이내에 아무것도 도착하지 않는 경우에만 자리 표시 레코드를 저장하고 검토 대상으로 표시합니다. 첫 실행에서는 검토 없이 즉시 저장합니다.

통제와 `attested_at`을 고유 식별 기준으로 사용하는 10행 자리 표시 레코드:

1. 해당 통제에 대해 저장된 가장 나중의 활동부터, 또는 저장된 활동이 없으면 `attested_at`부터(해당 시각 포함) 다시 읽습니다. 15일은 `attested_at`부터 계산합니다. 항목으로 자리 표시 레코드를 만들고 활동이 없다는 점을 기록해 둡니다. 판정 표에서는 이를 해당 `attested_at` 시각의, 값이 `status`(있는 경우)와 짝을 이루는 `attested` 활동으로 간주합니다.
2. 진술이 나타나는 각 실행에서 `status`와 `state`를 업데이트합니다.
3. `created_at`이 그 `attested_at`과 같은 활동이 도착하면 자리 표시 레코드를 그 활동으로 대체합니다.
4. 두 번 연속된 실행에서 진술이 나타나지 않으면 자리 표시 레코드를 해결합니다. 해당 통제에 대한 더 나중의 저장된 활동이나 해결되지 않은 10행 불일치로 설명되는 경우, 또는 두 실행 모두 `descriptive`가 나타나는 경우가 아니라면 이를 검토 대상으로 표시합니다.
5. 조직을 읽지 않았거나 `not_evaluated`가 나타나는 실행은 이 두 번의 실행에 포함되지 않으며, 이를 다시 시작하지도 않습니다.
6. 진술이 다시 나타나면 같은 자리 표시 레코드를 다시 엽니다.

통제만을 고유 식별 기준으로 사용하는 9행, 11행, 15행 자리 표시 레코드:

7. 11행의 경우 15일은 해당 `status`가 처음 나타난 실행부터 계산합니다. 자리 표시 레코드가 해결되지 않은 동안에는 해당 통제에 대해 더 이상 검토 대상으로 표시하지 않습니다. 더 나중의 활동이 도착하거나, 진술이 나타나거나, 두 번 연속된 실행이 다른 행에 해당하면 자리 표시 레코드를 해결합니다.
8. 진술이 `failed_check_accepted_risk`로 나타나서 9행 자리 표시 레코드가 해결되면, 한 번 검토 대상으로 표시합니다: 위험이 유효한 상태입니다.

## 예제

다음 두 실행은 결과 참조의 [응답 샘플](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/results-reference#response)에 있는 조직을 읽으며, 실행 1이 첫 실행입니다.

* 실행 1, `directory_sync_enabled`. 저장됨: `2026-10-20T15:04:00.220114Z`에 생성된 `attested`, `accepted_risk`. 응답: `failed_check_accepted_risk`, `in_force`, 같은 `attested_at`. 1행: 일치.
* 실행 1, `allowed_invite_domains`. 저장됨: 없음. 응답: `descriptive`, `attestation` `null`. 규칙 S4: 분리.
* 실행 1, `oauth_conditional_access`. 저장됨: 없음. 응답: `state`가 `review_due`인 `attestation`. 10행: 조사 필요. 첫 실행에서는 검토 없이 즉시 자리 표시 레코드를 저장합니다.
* 실행 2, `oauth_conditional_access`. 자리 표시 레코드: 실행 1의 것. 응답: 동일. 5행: 예상된 차이. `review_due`에 대해 한 번 조치합니다.

## 대조로 찾을 수 없는 항목

일일 대조로는 자동 통제에서 응답이 누락하는 진술에 대한 활동 누락을 찾을 수 없습니다. 응답은 그러한 진술에 대한 어떤 신호도 주지 않거나, 자동 검사가 부여하는 상태처럼 보이는 `status` `failed`만 제공합니다.

## 조직이 응답하지 않게 된 경우

200을 반환한 적이 있다가 여러 번 연속된 실행에서 404를 반환하는 조직은 한 번 사람의 확인이 필요합니다. Security posture 페이지에 액세스할 수 있는 사람에게 해당 조직에 대해 Security posture 페이지가 꺼짐으로 설정되었는지 문의하세요([Security posture 사용 가능 여부](https://platform.claude.com/docs/ko/manage-claude/compliance-security-posture/overview#availability) 참조). 해당 조직에 대해 Security posture 페이지가 꺼짐으로 설정되지 않았다면 Anthropic 담당자에게 문의하세요. 조직이 삭제되었거나, 해당 조직에 대한 액세스, Security posture 또는 엔드포인트가 종료되었을 수 있습니다. 원인과 관계없이 검토 없이 해당 조직의 자리 표시 레코드와 해결되지 않은 불일치를 해결하고, 계속 호출하며, 다시 200을 반환하면 이를 다시 엽니다.
