> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 개인별 규정 준수 현황

> /v1 할당, 등록, 과정 데이터를 사용하여 이전 공급업체의 개인별 교육 규정 준수 내보내기를 재현합니다.

이 보고서는 이전 공급업체의 개인별 규정 준수 내보내기 중 교육 부분에 해당하며,
디렉터리 ID 정보와 교육 등록 건별로 사람당 한 행(모듈 상태 및 날짜)을 포함합니다.

데이터 단위는 사람 × 할당의 롱폼(long-form) 구조입니다. 이는
`GET /v1/assignments/{id}/enrollments`가 이미 반환하는 형태이기 때문입니다. 이 쿼리는
모듈을 열로 피벗하지 않습니다.

<Note>
  정책 확인 내역은 이 보고서에 포함되지 않습니다. Living Security에는
  정책 수락 API가 없으므로, 해당 레거시 열은 매핑 대기 중인 항목이 아니라 범위에서 제외된 항목입니다.
  [레거시 내보내기와의 차이점](#%EB%A0%88%EA%B1%B0%EC%8B%9C-%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0%EC%99%80%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90)을 참조하십시오.
</Note>

설정, 자격 증명, 페이지 매김, 속도 제한 재시도는
[Power BI / Excel 연결 가이드](/ko/developers/v1/powerbi)와 동일합니다. 먼저 공유
`Fn_FetchAll` 쿼리를 추가하십시오. 이 보고서는 해당 쿼리를 이름으로 호출합니다.

## 필요한 키 범위

| 범위 | 용도 |
| - | - |
| `training:read` | `GET /v1/assignments` 및 `GET /v1/assignments/{id}/enrollments` |
| `course:read` | `GET /v1/courses` (카탈로그 제목) |

## 소스 엔드포인트

| 엔드포인트 | 역할 |
| - | - |
| `GET /v1/assignments` | 할당 목록: `assignment_id`, 제목, `course_id`, 수명 주기 상태, `created_at`. 이 쿼리는 상태별로 필터링하지 않으므로 활성, 일시 중지, 완료된 할당이 모두 표시됩니다(과거 규정 준수 현황). |
| `GET /v1/assignments/{id}/enrollments` | 학습자별 진행 상황. 할당당 한 번씩 페이지를 순회합니다. 이것이 팩트 단위이며, 이 보고서에서 이메일을 보고용 조인 키로 가지고 있는 유일한 `/v1` 리소스입니다. |
| `GET /v1/courses` | `course_id` → 과정 제목(교육 모듈 이름)을 확인합니다. `Assignment.title`는 캠페인 레이블이며 모듈 이름이 아닙니다. |

이 쿼리는 `GET /v1/entities`를 호출하지 **않습니다**. 등록 행에
이미 `email`와 `display_name`가 포함되어 있고, 엔터티 목록에는
부서나 직책이 없습니다. 따라서 엔터티 목록을 순회하더라도 등록 행에 없는
디렉터리 열을 채울 수 없습니다.

### 데이터 단위

등록 건(사람 × 할당)당 한 행입니다. 한 사람이 동일한
과정을 두 개의 할당을 통해 배정받은 경우 두 행이 생성됩니다. 등록 내역이 없는 사람은
표시되지 않습니다. `/v1`는 이메일 없이는 사용 가능한 디렉터리 행을
생성할 수 없으며, 사람 단독 행을 임의로 만들면 데이터 단위가 혼합되기 때문입니다.

요청 예산: 할당당 한 번의 페이지 순회를 공유 키별 속도 제한 범위 내에서
순차적으로 수행합니다. 항상 `limit = "500"`을 설정하십시오.

## 열 매핑

레거시 열 이름은 이전 공급업체의 내보내기에서 가져온 것입니다. `/v1` 필드는
공개 API 이름이며, 쿼리에서 일부는 보고서용으로 별칭을 사용합니다.

| 레거시 열 | `/v1` 필드 또는 파생 방식 | 보고서 열 |
| - | - | - |
| 이메일 | `Enrollment.email` | `email` |
| 전체 이름 | `Enrollment.display_name` | `full_name` |
| 부서 | `/v1`에 없음 | null 처리하지 않고 생략 |
| 기타 디렉터리 정보(직책, 관리자, 위치 등) | `/v1`에 없음 — 엔터티에는 이메일과 표시 이름만 있습니다. | 생략 |
| 교육 모듈 / 과정 이름 | `Course.title`, 없을 경우 `Assignment.title` 사용 | `course_name` |
| 할당 / 모듈 상태 | `Enrollment.status` — `not_started` \| `in_progress` \| `completed` \| `overdue` \| `withdrawn` | `enrollment_status` |
| 할당 날짜 | `Enrollment.assigned_at` | `assigned_at` |
| 완료 날짜 | `Enrollment.completed_at` | `completed_at` |
| 마감일 | `Enrollment.due_at` (레거시 내보내기에는 없었을 수 있으나 API에 있으므로 포함) | `due_at` |
| 정책 수락 / 확인 | 정책 도메인 없음 | 생략 |
| 정책 이름, 수락 날짜 | 정책 도메인 없음 | 생략 |

스타 스키마 모델을 위해 유지되는 조인 키: `entity_id`, `assignment_id`,
`course_id`, `user_assignment_id`.

쿼리는 또한 `course_slug`, `assignment_title`, `passed`,
`attempts`, `assignment_lifecycle_status` 및 `assignment_created_at`를 유지합니다.
`enrollment_status`는 할당 수명 주기(`active` / `paused` / `completed`)가 아니라
학습자의 진행 상황입니다.

## 레거시 내보내기와의 차이점

* **정책 수락 내역은 사용할 수 없습니다.** 이 플랫폼에는 정책
  도메인이 없습니다. `/policies`, `/policy_acceptances` 또는 이에 상응하는
  `/v1` 리소스가 없습니다. 해당 열을 매핑 대기 중인 항목으로 간주하지 마십시오.
  범위에서 제외된 항목입니다.
* **디렉터리 추가 정보는 null 처리하지 않고 생략됩니다.** 부서, 직책,
  관리자, 위치는 `/v1`에 없습니다. 쿼리는 이러한 항목에 대해 빈 열을
  임의로 만들지 않습니다.
* **마감일은 포함됩니다.** 레거시 내보내기에 없었더라도
  `Enrollment.due_at`가 API에 있기 때문입니다.
* **과정 이름은 카탈로그 제목을 우선합니다.** `Course.title`이 모듈
  이름입니다. `Assignment.title`는 카탈로그 행이 없는 경우(삭제되었거나
  게시되지 않은 경우)에만 사용됩니다.
* **피벗하지 않은 롱폼 구조입니다.** 모듈별 열을 가진 사람당 한 행이 아니라
  등록 건당 한 행입니다.

## 다음 단계

<CardGroup cols={2}>
  <Card title="Power BI 및 Excel 설정" href="/ko/developers/v1/powerbi">
    자격 증명, 페이지 매김, Power BI 또는 Excel에서 이러한 쿼리를 로드하는 방법을 안내합니다.
  </Card>

  <Card title="이메일 피싱 로그" href="/ko/developers/v1/reports/email-phishing-log">
    최근 12개월간의 이벤트 단위 피싱 상호작용 내역입니다.
  </Card>

  <Card title="가장 취약한 사용자" href="/ko/developers/v1/reports/most-susceptible-users">
    개인별 12개월 클릭, 자격 증명, 신고 집계입니다.
  </Card>

  <Card title="API 키" href="/ko/developers/developer-hub/api-keys">
    이 보고서를 새로 고치는 키에 `training:read` 및 `course:read` 권한을 부여하십시오.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.