보안 분류 기반 접근 제어
보안 분류 기반 접근 제어(Classification-based Access Controls, CBAC)는 민감한 정부 정보를 보호하는 강제적 접근 통제입니다. 사용자가 데이터에 접근하려면 해당 보안 분류 요건을 충족해야 합니다. 플랫폼 밖에서 진행하는 보안 인가 절차와 자격을 연결할 수 있으며, 조직, 일반 보안 표지와 프로젝트 역할도 함께 적용합니다.
CBAC는 기본적으로 활성화되어 있지 않습니다. 기관마다 분류 체계와 허용 조합이 다르므로 설정에는 Palantir의 참여가 필요합니다.
일반 보안 표지와 다른 점
| 특성 | CBAC의 동작 |
|---|---|
| 분류 계층 | Secret 이하에 접근 가능한 사용자와 Top Secret 이하에 접근 가능한 사용자를 구분하는 계층을 구성할 수 있습니다. |
범주 안의 OR 조건 | 공유 대상 국가나 조직처럼 범주의 여러 표지 중 하나만 충족하면 되는 조건을 구성할 수 있습니다. 일반 보안 표지는 모두 충족하는 AND 방식입니다. |
| 필수 분류 | CBAC를 사용하는 환경의 모든 프로젝트에는 프로젝트 분류가 있어야 합니다. 모든 데이터셋에는 데이터 분류가 필요하므로 입력이 없는 원시 데이터셋은 파일 분류를 직접 지정해야 합니다. |
분류 표지는 범주로 구성합니다. 한 범주는 데이터 종류, 다른 범주는 배포나 공유 대상을 나타낼 수 있습니다. 하나의 분류에는 여러 범주의 표지가 들어갈 수 있고, Palantir가 구성한 유효 조합 규칙을 플랫폼이 적용합니다.
AND와 OR의 결합
범주가 AND이면 그 범주에서 적용한 모든 표지에 접근할 수 있어야 합니다. 범주가 OR이면 그 범주에서 적용한 표지 중 하나를 충족하면 됩니다. 서로 다른 범주의 조건들은 항상 AND로 결합하므로, 한 범주를 충족했다고 다른 범주의 요구를 생략할 수는 없습니다.
예를 들어 RELEASE TO 범주가 OR이고 데이터에 GBR, CAN을 함께 적용했다고 가정합니다. 가상의 mwashington 사용자는 두 표지에 모두 접근할 수 있고, jadams는 GBR에만 접근할 수 있습니다. 두 사람 모두 이 범주의 조건을 충족합니다. 다른 분류 범주가 함께 적용되어 있다면 그 조건도 별도로 충족해야 합니다.
파일 분류와 데이터 분류
파일 분류(File classification)는 파일의 존재를 발견하기 위한 요건입니다. 프로젝트 분류와 일반 보안 표지 같은 다른 요건도 함께 적용합니다. 리소스 사이드바에서 파일 분류를 편집할 수 있습니다.
데이터 분류(Data classification)는 데이터셋처럼 내부 데이터를 가진 리소스의 내용을 읽기 위한 요건입니다. 데이터 분류만 충족하지 못하는 경우에는 다른 발견 요건을 충족하는 범위에서 데이터셋의 이름, 설명과 스키마를 볼 수 있어도 데이터 내용은 읽지 못합니다.
데이터 분류는 직접 편집하지 않습니다. 다음 두 입력을 결합해 정합니다.
- 해당 리소스에 설정된 파일 분류
- 모든 상류 데이터 의존 관계의 데이터 분류
따라서 데이터 분류는 자신의 파일 분류와 모든 상류 데이터 분류보다 약해질 수 없습니다. 입력이 없는 새 데이터셋은 생성자가 파일 분류를 지정해야 합니다.
프로젝트, 파일과 데이터 분류는 다른 접근 요건과 함께 리소스 사이드바에 표시됩니다. 파일 분류는 직접 설정할 수 있지만 데이터 분류는 상속 결과라는 차이를 확인해야 합니다.
프로젝트 분류
프로젝트 분류(Project classification)는 프로젝트를 발견하고 내부 리소스에 접근하는 요건입니다. CBAC 환경에서 프로젝트를 만들 때 반드시 선택해야 하며, 이후 변경할 수는 있지만 제거할 수는 없습니다. 사용자는 프로젝트 분류뿐 아니라 대상 리소스의 파일과 데이터 분류도 충족해야 합니다.
프로젝트 분류는 프로젝트 안 데이터셋의 데이터 분류를 바꾸지 않습니다. 따라서 다른 프로젝트에 있는 하류 데이터셋으로 데이터 의존 관계를 따라 전파되지 않습니다. 하류에 상속되는 것은 데이터 분류입니다. 이 동작은 프로젝트에 적용한 일반 보안 표지가 하류 데이터에도 전파되는 동작과 다릅니다.
프로젝트 최대 분류
프로젝트 최대 분류(Project maximum classification)는 프로젝트가 받아들일 수 있는 리소스의 분류 상한입니다. UI에서는 Allowed marking limit이라고도 부릅니다. 이 상한보다 높은 파일 분류나 데이터 분류를 가진 리소스는 프로젝트에 만들거나 옮길 수 없습니다.
상한 이하의 리소스는 프로젝트에 있을 수 있지만, 이용자는 프로젝트 자체의 분류도 충족해야 그 리소스를 발견할 수 있습니다. 최대 분류는 접근 자격을 부여하는 설정이 아니라 프로젝트에 허용하는 데이터 수준의 제한입니다.
프로젝트 생성 시 최대 분류는 기본적으로 프로젝트 분류와 같습니다. 이후 프로젝트 분류와 독립적으로 변경하거나 제거할 수 있습니다. 프로젝트 분류는 제거할 수 없다는 점과 구분합니다.
객체 유형이나 링크 유형을 프로젝트에 추가하려면 최대 분류를 제거해야 하는 경우가 있습니다. 프로젝트에 들어 있는 객체 유형이나 링크 유형에 파일 분류가 없으면 구체화가 실패하므로, 상한 제거와 파일 분류 설정은 별도로 확인합니다.
상류 분류 변경으로 상한을 위반한 경우
다른 프로젝트의 상류 데이터셋에 더 높은 파일 분류가 추가되면 그 분류가 현재 프로젝트 데이터셋의 데이터 분류로 상속되어 상한을 위반할 수 있습니다. 이때 데이터는 계속 높은 분류로 보호되지만 경고가 표시되고, 위반이 해소될 때까지 해당 데이터셋과 프로젝트 내 하류 리소스를 빌드할 수 없습니다.
해결할 때에는 상류 데이터셋의 분류를 바로잡고 해당 상류 입력을 제거한 뒤 재빌드하는 변경 경로, 또는 프로젝트 최대 분류를 조정하는 경로를 검토합니다. 상한을 올리는 변경은 프로젝트에 허용하는 데이터 범위를 넓히므로 데이터 소유자와 보안 정책에 맞게 결정해야 합니다.