저장된 Security posture 이벤트를 현재 결과와 대조하기
하루에 한 번, SIEM에 저장된 진술 활동을 엔드포인트의 현재 결과와 비교하고, 어떤 불일치에 사람의 확인이 필요한지 판단합니다.
Activity Feed는 활동을 늦게 전달할 수 있고 엔드포인트는 기록을 보관하지 않으므로, 각 소스에 다른 쪽에는 나타나지 않는 변경 사항이 나타날 수 있습니다. 일일 비교를 통해 “security information and event management”(보안 정보 및 이벤트 관리), 즉 SIEM 저장소에 누락된 항목을 찾을 수 있습니다. 피드가 모든 변경 사항을 기록하는 것은 아니므로, 진술(attestation)이 해당 보안 통제에 대한 피드의 첫 활동보다 더 이전일 수 있으며, 드물게는 변경 사항에 활동이 전혀 없을 수도 있습니다. 현재 결과만 보고하는 경우에는 이 대조가 필요하지 않습니다.
엔드포인트용 read:compliance_org_data와 Activity Feed용 read:compliance_activities, 또는 둘 다를 위한 read:org_audit가 포함된, 해당 조직을 포괄하는 Compliance Access Key가 필요합니다.
대조 실행하기
늦게 조회 가능해진 활동이 저장되도록 각 실행을 그날의 일일 재조회가 완료된 후에 시작합니다.
- 조직 나열로 연결된 조직을 나열합니다. 각 조직의
uuid를 얻습니다. - 각 조직에 대해 엔드포인트를 한 번 호출합니다. 200을 받거나, 엔드포인트가 지원하지 않는 조직(Security posture 사용 가능 여부 참조)의 경우 매 실행마다 404를 받습니다. 404는 이번 실행에서 해당 조직을 읽지 않았다는 의미입니다. 200을 반환하는 조직의 목록을 각 조직의 첫 번째 200의
evaluated_at, 즉 해당 조직에 대한 첫 실행과 함께 보관합니다. - 분리 규칙에 나열된 항목을 분리합니다.
- 조직의 나머지 저장된 진술 활동을 보안 통제별로 그룹화하고, 각 통제에서
created_at기준으로 가장 나중의 활동을 선택합니다. 통제마다 활동이 하나 있거나 없습니다. - 남은 각 통제에 대해 판정 표에서 해당 행을 찾습니다. 일치, 예상된 차이 또는 조사 필요 중 하나를 얻습니다.
- 조직을 읽는 다음 실행에서 조사 필요 항목이 다시 나타날 때만 조치합니다. 6행은 즉시 조치하고, 10행과 11행에 대해서는 대신 자리 표시 레코드 규칙을 따릅니다. 조직을 읽지 않은 실행은 횟수에 포함되지 않으며 대기를 다시 시작하지도 않습니다.
호출 속도를 조절하고 429는 429 Too Many Requests에 설명된 대로 처리하세요. 재시도 후에도 호출이 성공하지 못한 조직은 이번 실행에서 읽지 않은 것이며, 성공하지 못한 호출은 변경 사항이 아닙니다.
필드 매칭하기
다음 필드를 사용해 응답의 항목을 저장된 활동과 매칭합니다.
| 응답의 필드 | 활동의 필드 | 관계 |
|---|---|---|
organization_id | organization_uuid | 같은 값입니다. 활동 자체의 organization_id에는 org_ 접두사가 붙습니다. |
controls[].id | control | 규칙 S2의 경우를 제외하고 같은 식별자입니다. |
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). |
| 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) 한 번만 검토 대상으로 표시합니다. |
| 16 | 없음 | attestation이 null이고, 11행에 해당하지 않습니다. | 일치 | 없음. |
| 17 | 그 밖의 경우 | 그 밖의 경우 | 조사 필요 | 한 번 검토 대상으로 표시합니다. |
두 소스를 매칭할 수 없는 경우 자리 표시 레코드 유지하기
자리 표시 레코드는 두 소스 중 한쪽에 없는 것을 대신하며, 저장된 활동과는 별도로 보관합니다. 10행과 11행의 경우 피드를 다시 읽고, 일일 재조회가 미치는 범위인 15일 이내에 아무것도 도착하지 않는 경우에만 자리 표시 레코드를 저장하고 검토 대상으로 표시합니다. 첫 실행에서는 검토 없이 즉시 저장합니다.
통제와 attested_at을 고유 식별 기준으로 사용하는 10행 자리 표시 레코드:
- 해당 통제에 대해 저장된 가장 나중의 활동부터, 또는 저장된 활동이 없으면
attested_at부터(해당 시각 포함) 다시 읽습니다. 15일은attested_at부터 계산합니다. 항목으로 자리 표시 레코드를 만들고 활동이 없다는 점을 기록해 둡니다. 판정 표에서는 이를 해당attested_at시각의, 값이status(있는 경우)와 짝을 이루는attested활동으로 간주합니다. - 진술이 나타나는 각 실행에서
status와state를 업데이트합니다. created_at이 그attested_at과 같은 활동이 도착하면 자리 표시 레코드를 그 활동으로 대체합니다.- 두 번 연속된 실행에서 진술이 나타나지 않으면 자리 표시 레코드를 해결합니다. 해당 통제에 대한 더 나중의 저장된 활동이나 해결되지 않은 10행 불일치로 설명되는 경우, 또는 두 실행 모두
descriptive가 나타나는 경우가 아니라면 이를 검토 대상으로 표시합니다. - 조직을 읽지 않았거나
not_evaluated가 나타나는 실행은 이 두 번의 실행에 포함되지 않으며, 이를 다시 시작하지도 않습니다. - 진술이 다시 나타나면 같은 자리 표시 레코드를 다시 엽니다.
통제만을 고유 식별 기준으로 사용하는 9행, 11행, 15행 자리 표시 레코드:
- 11행의 경우 15일은 해당
status가 처음 나타난 실행부터 계산합니다. 자리 표시 레코드가 해결되지 않은 동안에는 해당 통제에 대해 더 이상 검토 대상으로 표시하지 않습니다. 더 나중의 활동이 도착하거나, 진술이 나타나거나, 두 번 연속된 실행이 다른 행에 해당하면 자리 표시 레코드를 해결합니다. - 진술이
failed_check_accepted_risk로 나타나서 9행 자리 표시 레코드가 해결되면, 한 번 검토 대상으로 표시합니다: 위험이 유효한 상태입니다.
예제
다음 두 실행은 결과 참조의 응답 샘플에 있는 조직을 읽으며, 실행 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,attestationnull. 규칙 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 사용 가능 여부 참조). 해당 조직에 대해 Security posture 페이지가 꺼짐으로 설정되지 않았다면 Anthropic 담당자에게 문의하세요. 조직이 삭제되었거나, 해당 조직에 대한 액세스, Security posture 또는 엔드포인트가 종료되었을 수 있습니다. 원인과 관계없이 검토 없이 해당 조직의 자리 표시 레코드와 해결되지 않은 불일치를 해결하고, 계속 호출하며, 다시 200을 반환하면 이를 다시 엽니다.
이 페이지가 도움이 되었나요?