외부 고객과 협업할 조직 및 공간 설계
기업 고객에게 제품이나 서비스를 제공하는 B2B와 개인 또는 소규모 사업자를 대상으로 하는 B2C에서는 고객 사이에 어떤 경계를 유지할지 먼저 정해야 합니다. Foundry의 조직, 공간(Space), 온톨로지와 프로젝트를 조합해 공통 애플리케이션과 고객별 데이터를 배치합니다.
설계 전에 정할 질문
| 항목 | 결정할 내용 |
|---|---|
| 신원 관리 | 고객의 신원 제공자를 사용할지 운영자가 계정을 관리할지 |
| 고객 규모 | 고객 수와 각 고객의 사용자 수 |
| 협업 | 고객끼리 또는 운영 조직과 함께 일해야 하는지 |
| 데이터 공유 | 고객 사이에 어떤 데이터를 공유할지 |
| 사용량 구분 | 정산 등을 위해 고객별 사용량을 분리해야 하는지 |
| 플랫폼 사용 | 고객이 Workshop 모듈 같은 리소스를 직접 만들 수 있어야 하는지 |
| 맞춤화 | 고객별로 다른 워크플로나 애플리케이션이 필요한지 |
| 애플리케이션 접점 | Workshop 등 플랫폼 앱을 쓸지 OSDK 기반 외부 앱을 쓸지 |
고객은 개인일 수도 있고 회사, 공급자 또는 구매자 같은 단체일 수도 있습니다. 기본 구성을 정한 뒤 데이터 경계와 인증 및 제품 배포를 연결합니다.
조직
조직은 사용자와 리소스를 분리하는 보안 단위입니다. 고객의 개인 사용자는 하나의 기본 조직에 속하며 다른 조직의 게스트가 될 수 있습니다. 조직은 필요할 때 만들 수 있고 전용 공간이나 온톨로지 없이도 존재할 수 있습니다. 조직 생성 화면에서 공간과 온톨로지를 함께 만드는 선택지가 제공되어도 별개의 개념입니다.
여러 조직을 사용하면 파트너, 공급자와 고객의 경계를 나누면서 필요한 범위에서 협업할 수 있습니다.
공간
공간은 프로젝트를 담는 상위 컨테이너이며 과거에는 namespace라고 불렸습니다. 공간을 만들면 같은 이름의 온톨로지가 함께 생성됩니다. 조직 하나에만 허용한 공간을 비공개 공간, 여러 조직에 허용한 공간을 공유 공간이라고 부르며, 두 이름은 별도의 기술적 리소스 유형이 아니라 공유한 조직 수를 구분합니다.
공간은 적어도 하나의 조직에 허용해야 합니다. 조직을 추가할 수 있으며, 그 공간의 어떤 프로젝트에도 해당 조직이 적용되어 있지 않다면 공간에서 조직을 제거할 수 있습니다. 프로젝트에 허용한 조직 집합은 항상 그 프로젝트의 공간에 허용한 조직 집합의 부분집합이어야 합니다.
공간에 조직을 허용하면 프로젝트 소유자가 그 조직의 사용자에게 프로젝트를 공유할 수 있습니다. 해당 조직의 모든 사용자에게 모든 프로젝트 권한을 자동으로 주지는 않습니다.
공간 A를 조직 A, B, C에만 허용한 예에서는 조직 D가 그 공간의 프로젝트를 사용할 수 없습니다. 같은 공간 안에서도 Project 2는 B와 C에, Project 3은 C에만 허용할 수 있습니다.
온톨로지
온톨로지는 객체 유형, 링크 유형, 액션 유형, 인터페이스, 공유 속성과 객체 유형 그룹 같은 온톨로지 리소스를 보관합니다. 객체 유형 그룹은 사용자 권한 그룹과 다른 개념입니다. 함수는 온톨로지를 사용할 수 있지만 이 리소스 소속 분류에서 온톨로지 리소스로 취급되지는 않습니다.
온톨로지는 공간과 일대일로 연결되고 공간과 독립적으로 만들지 않습니다. 공간의 권한 및 조직 범위가 해당 온톨로지에 적용되며, 공간에 조직을 추가하거나 제거하면 온톨로지의 조직 범위도 바뀝니다. 필요할 때 온톨로지 리소스를 다른 온톨로지로 마이그레이션할 수 있습니다.
프로젝트와 참조
프로젝트는 일반 폴더보다 엄격한 보안 경계를 적용하면서 특정 목적의 리소스를 모읍니다. 변환 로직과 출력은 같은 프로젝트에 두고, 다른 프로젝트의 자료는 필요한 권한을 갖춰 입력으로 참조합니다. 역할은 개별 사용자와 파일에 반복해서 주기보다 프로젝트 수준에서 그룹에 부여하는 편이 관리하기 쉽습니다.
공간이 다른 프로젝트 사이에서도 권한이 있으면 리소스를 참조할 수 있습니다. 예를 들어 공간 A의 데이터셋을 공간 B의 프로젝트에서 참조하고 B의 온톨로지 뒷받침 데이터 소스로 사용할 수 있습니다.
참조는 원본 복사가 아니며 원본 접근 권한을 대신 부여하지 않습니다. 대상 프로젝트의 Viewer 역할만으로 원본 데이터의 조직, 마킹과 원본 프로젝트 권한을 우회할 수 없습니다. 파생 출력의 접근 조건과 원본을 직접 읽는 권한은 프로젝트와 역할에서 구분합니다.
리소스를 공간 사이로 이동하려면 출발 및 도착 공간과 양쪽 프로젝트에 적용된 조직에 필요한 권한이 있어야 합니다. 다른 조직으로 접근 범위가 넓어지면 원본 조직의 높은 권한이 필요합니다. 일부 Legacy 환경은 공간마다 다른 파일 시스템을 사용해 이동이 불가능할 수 있습니다.
기본 구성의 선택
한 조직과 한 공간에 모든 프로젝트를 두는 구성은 단순합니다. 역할과 마킹으로 프로젝트 내부의 접근 범위를 정할 수 있습니다. 외부 고객과의 분리나 공동 작업이 필요하면 비공개 공간, 공유 공간 또는 두 공간의 조합을 검토합니다.
B2B에서는 내부 운영 조직과 고객별 조직을 두고, 고객마다 수백 또는 수천 사용자를 배치하는 구성을 설계할 수 있습니다. 조직 및 사용자 수의 상한은 적용 환경에서 확인해야 합니다. B2C에서는 많은 개별 고객을 하나의 외부 사용자 조직에 모으고 사용자 탐색 및 행 수준 접근을 분리하는 구성을 사용할 수 있습니다.
설정 절차를 따라가며 배우려면 Walkthroughs를 이용합니다. 기본 사용법은 시작하기에서 확인할 수 있습니다.