스토어와 제품의 권한
로컬 Marketplace 스토어는 프로젝트나 폴더에 저장하고 그 권한을 상속합니다. 다른 플랫폼 인스턴스의 원격 스토어 접근은 Control Panel에서 설정합니다.
아래 역할은 기본 또는 일반적인 매핑입니다. 역할 집합을 사용자 정의한 환경에서는 작업 권한을 직접 확인해야 합니다.
보기, 설치와 제작
| 작업 | 필요한 작업 권한 | 일반 역할 |
|---|---|---|
| 로컬 스토어 보기 | marketplace:read-local-marketplace | Viewer |
| 로컬 또는 원격 스토어 제품 설치 | 스토어 보기와 marketplace:install-from-local-marketplace | Viewer |
| 설치 입력 리소스 사용 | 각 입력의 marketplace:use-resource-as-input | Viewer |
| 설치 위치 사용 | 공간, 온톨로지, 프로젝트 또는 폴더의 marketplace:install-in | Editor |
| 로컬 스토어 생성 | 저장 위치의 marketplace:create-local-marketplace | Editor |
| 로컬 제품 생성과 편집 | marketplace:create-block, marketplace:edit-block-set, marketplace:upload-attachment | Editor |
설치는 선택한 공간에 프로젝트를 새로 만들거나 기존 프로젝트에 리소스를 넣는 과정입니다. 실제 대상 위치의 설치 권한도 필요합니다.
스토어의 조직 표지 중 적어도 하나에 접근할 수 있어야 합니다. 보통 스토어를 포함한 프로젝트 접근 자체가 이 요건을 요구합니다. 원격 스토어의 Viewer는 Control Panel에서 설정합니다.
원격 스토어는 현재 Palantir만 만들 수 있으며 DevOps에서 편집할 수 없습니다.
데이터셋 파일의 패키징
Include with static data는 원본 파일을 읽어 설치 시 내용을 재현하므로 리소스의 Download 작업인 foundry-data-proxy:get-files가 필요합니다. 제품 편집 권한과 별도입니다. 이 권한이 없으면 나머지 초안이 처리되어도 해당 데이터셋의 패키징이 권한 오류로 실패할 수 있습니다.
| 포함 방식 | 원본 파일 Download 필요 |
|---|---|
| Include with static data | 필요 |
| Include dataset definition only | 이 파일 읽기 권한은 필요하지 않음 |
| Include with transform or pipeline | 이 파일 읽기 권한은 필요하지 않음 |
생성 방식에 따라 마지막 항목은 Include with sync 또는 Include with restricted view 등으로 표시될 수 있습니다. 파일을 읽지 않는 방식도 관련 정의와 입력을 사용할 다른 권한은 필요합니다.
Download는 기본 Viewer, Editor와 Owner에 포함되며, 이 작업의 다운로드 통제 검사는 해당 통제를 사용하는 플랫폼 인스턴스에서 집행합니다. 통제 환경에서는 기본 역할에서 작업을 빼고 Exporter 같은 별도 역할로 부여할 수 있습니다. 이 경우 Owner만 가진 사용자는 파일을 포함한 데이터셋을 패키징할 수 없습니다.
원본 소유권과 원시 데이터 반출 권한을 분리하는 설정이므로 필요한 권한을 확인하여 부여받아야 합니다.
내보내기, 가져오기와 태그
| 작업 | 권한 | 일반 역할 |
|---|---|---|
| 로컬 제품 내보내기 | marketplace:export-block-set | Owner |
| 로컬 제품 가져오기 | marketplace:import-blockset-with-provenance | Owner |
| 로컬 스토어 태그 편집 | marketplace:edit-local-marketplace | Editor |
원격 스토어에는 이 내보내기, 가져오기와 태그 편집을 지원하지 않습니다.
제작할 때의 조직 표지
제품의 원천 리소스와 스토어는 보통 각각의 프로젝트에서 하나 이상의 조직 표지를 상속합니다. 사용자는 어떤 리소스가 속한 모든 조직을 볼 권한이 없을 수도 있습니다.
원천과 스토어의 표지가 다르면 접근 확대와 표지 제거 권한을 확인합니다.
| 예 | 필요한 권한 |
|---|---|
| 원천이 조직 A, 스토어가 A와 B | A의 Expand access. A의 내용을 B에 제공하는 변경입니다. |
| 원천이 A와 B, 스토어가 A만 포함 | B의 Remove. B 표지를 제거하는 변경입니다. |
민감 데이터 표지나 PII 표지를 제거하는 경우에는 해당 표지의 Remove Marking 권한이 필요합니다. 패키징 전에 원본, 스토어와 설치 위치의 표지를 대조하여 발생할 접근 변경을 검토합니다.
설치할 때의 조직 표지
스토어가 A만 포함하고 설치 공간이 A와 B라면 A의 Expand access가 필요합니다. 설치 시 A 표지만 적용하는 선택으로 접근 확대를 피할 수도 있습니다.
다른 구성으로는 스토어에도 B 표지를 추가하는 방식이 있습니다. 스토어가 A와 B를 포함하고 설치 공간은 A만 포함한다면 추가 조직 권한이 필요하지 않습니다. 다만 B에만 접근할 수 있는 사용자도 그 스토어에서 설치할 수 있게 된다는 범위 변화를 함께 검토해야 합니다.
새 버전의 승인
스토어에 새 버전 승인 요구를 켜면 게시를 마치기 전에 승인자가 초안을 검토해야 합니다. 승인자는 초안 작성자와 달라야 하며 스토어의 marketplace:finalize-block-set가 필요합니다. 기본으로 Owner와 Editor에 부여하며, 승인 가능자를 바꾸려면 사용자 정의 역할 집합을 사용합니다.
여러 조직에서의 배치
리소스를 한 프로젝트에서 다른 프로젝트로 옮길 때는 리소스 소유권과 함께 조직 접근이 넓어지는지 확인합니다. 예를 들어 A 프로젝트의 리소스를 A와 B의 프로젝트로 옮기려면 A의 Expand access가 필요합니다.
원천 프로젝트, 스토어 프로젝트와 설치 프로젝트가 다르면 각 단계의 접근 확대와 추가 표지 제거에 필요한 권한이 적용될 수 있습니다.
제품 제작용 리소스는 추가 표지가 없는 패키징 전용 단일 조직의 프로젝트에 배치하는 방식을 권장합니다. 제작자에게는 앞에서 설명한 해당 조직의 패키징 권한을 부여합니다. 기존 리소스를 이 구조로 옮길 때에도 접근 확대와 표지 제거에 필요한 권한을 충족해야 합니다.
스토어 프로젝트용 전용 공간을 만들고 제품을 설치할 조직들을 포함할 수 있습니다. 설치할 조직들이 이 공간에 접근하도록 구성하면 설치 때 추가 조직 표지 권한을 요구하지 않고, 필요한 표지 조정을 제작 단계에서 처리할 수 있습니다.