보안 표지(Marking) API (V2)
보안 표지는 리소스에 강제적 접근 조건을 부과합니다. 사용자는 리소스에 적용된 보안 표지가 요구하는 접근 조건을 모두 충족해야 합니다. 보안 표지 조건과 리소스의 작업 권한을 함께 확인합니다.
표지의 정보와 범주
각 표지에는 필수 id, categoryId, name, deleted, createdTime이 있습니다. description과 생성 사용자 createdBy는 선택 필드입니다.
- 조직에 연결된 표지라면
organization에 조직 RID가 들어갑니다. 조직 표지는 ID가Organization인 범주에 속합니다. priority는 CBAC 표지에서만 쓰는 long 우선순위이며 큰 값이 더 높습니다.prominence는 CBAC 표지의 강조 여부에 관한 힌트이며COMMON또는UNCOMMON입니다.
표지를 묶는 보안 표지 범주의 권한과 표지가 보호하는 데이터에 대한 접근은 별개입니다. MarkingId를 무조건 UUID로 취급하지 않습니다. 보안 분류 문자열 파싱 결과에는 MTS, MNF 같은 식별자가 포함될 수 있습니다.
초기 구성원과 역할
표지를 만들 때 initialMembers로 초기 사용자 및 그룹을 지정하고 initialRoleAssignments로 역할을 부여합니다.
| 역할 | 허용하는 작업 |
|---|---|
ADMINISTER | 구성원 추가 및 제거, 역할 할당 변경, 표지 메타데이터 변경 |
DECLASSIFY | 리소스에서 표지 제거, 변환 중 표지 전파 중지 |
USE | 리소스에 표지 적용 |
초기 역할에는 관리자가 최소 하나 필요합니다. 자신이나 자신이 속한 그룹을 관리자로 지정하지 않으면 새 표지를 직접 관리할 수 없습니다. 구성원 지정과 역할 부여를 같은 설정으로 취급하지 않습니다.
API 선택
| 작업 | 조건 |
|---|---|
| Create Marking | 이름과 범주 ID로 생성, 초기 관리자 필수 |
| List Markings | 최대 페이지 크기 100, 삭제된 표지 포함이 기본값 |
| Get Marking | ID로 표지 조회 |
| Get Markings Batch | 최대 500개 조회를 한 요청으로 실행 |
| Replace Marking | 이름과 설명 교체 |
| Parse Classifications | 보안 분류 문자열을 구성 표지 ID로 변환 |
목록 조회의 markingType은 MANDATORY 또는 CBAC이며 생략하면 전체 유형을 조회합니다. 첫 페이지에서는 pageToken을 생략하고 이후 직전 응답의 nextPageToken을 사용합니다.
보안 분류 파싱은 1~1,000개 입력을 받습니다. 중복도 개수 한도에 포함하지만 같은 문자열은 한 번만 파싱합니다. 결과의 parsed와 errors를 함께 확인합니다.
조회, 일괄 조회와 분류 파싱은 api:admin-read, 생성과 교체는 api:admin-write OAuth 권한 범위를 요청합니다.
CBAC에서는 결합형 표지와 범주별 선택형 표지의 조건이 다릅니다. CBAC 표지 제약에서 사용자의 표지 자격과 표지 조합 자체의 유효성을 구분합니다.