읽기 전용 대시보드의 조직과 권한 구성
Workshop으로 업무 결과의 일부를 넓은 사용자에게 제공하면서 기존 운영 환경의 접근을 유지할 수 있습니다. 앱 진입 경로를 단순화하면서, 새 조회용 프로젝트의 데이터와 온톨로지를 일반 소비자가 변경하지 못하도록 권한을 구성합니다.
Application access는 프런트엔드에서 사용할 앱의 범위를 줄이는 기능이며 읽기와 쓰기를 구분하는 보안 통제가 아닙니다. Workshop이나 Slate만 보이게 했다는 사실만으로 액션이나 API를 통한 쓰기가 금지되지는 않습니다.
가상 조직 구성
다음은 같은 플랫폼 인스턴스와 인증 제공자를 사용하는 예입니다. 그룹 이름은 설명용이며 실제 환경의 그룹을 선택합니다.
| 항목 | 예제 |
|---|---|
| 기존 업무 조직 | Company |
| 기존 사용자 그룹 | foundry-users-sg |
| 새 조회 사용자 그룹 | read-only-foundry-users-sg |
| 관리 그룹 | foundry-admins-sg |
| 조회용 조직 | Company (read-only) |
| 조회용 사설 공간 | /Company (read-only) |
두 사용자 그룹에는 같은 사람이 포함될 수 있습니다. 기존 Company의 업무 권한은 유지하고 새 조회용 자원에 대한 권한을 따로 구성합니다.
조직과 공간 준비
관리자는 Company (read-only) 조직과 이에 연결된 사설 공간을 만듭니다. 조직 관리자는 기존 업무 조직을 관리하던 foundry-admins-sg로 지정하는 구성을 사용할 수 있습니다.
공유를 승인한 결과 데이터, 대시보드와 그 객체 유형을 이 공간의 프로젝트에 둡니다. 대시보드가 사용하는 객체는 이 공간에 연결된 온톨로지에서 구성하고, 기반 데이터소스와 모듈의 저장 위치도 해당 프로젝트로 맞춥니다.
앱 접근과 진입 화면
조회용 조직의 Application access에서는 일반 소비자에게 Workshop과 Slate 기반 앱만 제공하고, 전체 Foundry Platform 접근은 관리 그룹에만 허용하는 구성을 사용할 수 있습니다. 이 변경은 조회용 조직에 적용하고 기존 Company의 앱 접근 설정은 유지합니다.
Foundry Platform의 접근 설정에서 Only members of groups를 사용하여 관리 그룹을 선택합니다. 앱별 설정은 소비자에게 필요한 범위로 제한하고 조직의 승인 정책에 따라 변경 요청을 적용합니다.
이 설정을 관리하려면 User experience administrator의 Manage application access 권한이 필요합니다. 관리자 계정은 전체 플랫폼 접근을 유지하는 그룹에 남겨 두어야 Control Panel에서 설정을 계속 관리할 수 있습니다.
조회용 사용자 그룹의 기본 홈 페이지를 대시보드로 지정하면 로그인 후 필요한 화면으로 바로 진입하게 할 수 있습니다. 앱을 숨기는 설정과 아래의 자원 권한은 독립적으로 적용합니다.
같은 인증 제공자에 조직 배정 추가
현재 사용하는 인증 제공자의 Authentication 설정에서 Organization assignment를 구성합니다. 기존 규칙을 남기고 새 조회 그룹을 새 조직에 배정하는 규칙을 추가합니다.
고급 사용자 규칙은 순서대로 평가하며 처음 일치한 규칙의 조직을 선택합니다. 예제에서는 다음 순서를 사용하여 겹치는 기존 사용자의 기본 조직을 유지합니다.
- foundry-users-sg에 해당하면 Company에 배정합니다.
- 앞 규칙에 해당하지 않고 read-only-foundry-users-sg에 해당하면 Company (read-only)에 배정합니다.
기존 fallback 정책도 검토합니다. 테스트 패널에서 사용자에게 적용되는 규칙과 조직을 확인할 수 있으며, 그 인증 제공자로 이미 로그인한 사용자만 테스트 대상으로 선택할 수 있습니다.
추가로 조회용 조직의 guest 구성에 foundry-users-sg를 포함하면 기존 사용자도 조회용 조직의 업무를 사용할 수 있습니다. 조직 소속과 프로젝트 또는 데이터의 권한 부여는 별도로 구성합니다.
실제 읽기 전용 권한
아래는 일반 소비자는 조회만 하고 관리 그룹에만 조회용 자원의 변경을 허용하는 정책 예입니다. Company의 기존 운영 자원이 아닌 새 조회용 프로젝트와 온톨로지 범위에 적용합니다.
모듈, 데이터와 정의
일반 소비자에게 필요한 모듈과 데이터소스, 객체 및 링크 정의의 조회 권한을 부여합니다. 프로젝트 또는 자원에 Viewer 역할을 사용하고, 정의 편집과 데이터 쓰기에 필요한 Editor 및 Owner 권한은 관리 대상 그룹으로 제한합니다. 다른 그룹이나 상속 경로에서 쓰기 권한을 함께 받고 있지 않은지 실효 권한을 확인합니다.
조직, 보안 표지와 분류 등 추가 접근 조건도 충족해야 합니다. 조회용 조직에 속했다는 사실만으로 모듈이나 데이터를 읽을 수 있는 것은 아닙니다.
객체 편집과 액션
조회용 객체 유형은 Only allow edits via actions를 켜서 직접 편집을 제한합니다. 이 설정은 읽을 수 있는 객체에 액션을 적용하는 것까지 금지하지 않으므로, 액션 제출 조건도 함께 구성합니다.
해당 객체와 링크를 변경하는 액션이 있다면 그 액션마다 제출 조건에 허용한 실행자 조건을 둡니다. 이 예제에서는 Current User의 그룹 ID에 정적으로 선택한 foundry-admins-sg가 포함되는 조건을 사용하고, 기존 업무 검증 조건과 함께 모두 충족하도록 구성합니다. 함수 기반 액션과 인라인 편집에 사용하는 액션도 같은 검토 범위에 포함합니다.
읽기 전용 그룹에 속하지 않는다는 NOT 조건 대신 허용한 관리 그룹의 포함 여부를 검사합니다. 범위가 축소된 토큰에는 일부 그룹 정보가 없을 수 있으므로 부정 조건이 의도하지 않게 통과하는 구성을 피합니다.
일반 소비자가 모듈 또는 액션 정의를 수정하여 이 조건을 제거할 수 없도록 편집 권한도 제한합니다. Workshop 액션의 버튼 표시나 Hidden/Disabled 설정을 이 권한 대신 사용하지 않습니다.
소비자에게 제공할 동작
대시보드에는 승인한 데이터의 조회, 필터링과 탐색을 제공합니다. 연결한 함수와 액션이 데이터를 변경하거나 다른 시스템에서 쓰기를 수행하는 경로도 있는지 확인하여 조회용 사용자에게 제공할 기능을 정합니다.
댓글 같은 협업 기능은 데이터 편집과 권한 규칙이 다릅니다. Comments는 부모 객체에 접근할 수 있는 사용자에게 댓글 열람과 새 댓글 게시를 허용합니다. 프로젝트의 Viewer 역할이나 액션 제출 조건만으로 댓글 게시까지 막을 수는 없습니다. 따라서 이 구성을 모든 협업 서비스의 쓰기를 금지하는 정책으로 사용해서는 안 됩니다.
실제로 platform access가 제한된 사용자는 Workshop의 State saving 요소를 사용할 수 없습니다. 이 제약을 고려하여 기본 화면과 탐색 경로를 구성합니다.
읽기 전용은 쓰기 제한이며 다운로드 금지와는 별개의 요건입니다. 반출도 제한해야 한다면 다운로드 통제를 따로 구성합니다. 외부 평문 파일에서 Foundry의 접근 정책이 자동 집행되는 것으로 취급하지 않습니다.
장시간 표시와 재사용
무인 또는 장시간 표시에는 Kiosk mode를 검토할 수 있습니다. 일반 대시보드와 다른 세션 범위가 적용되며 제한 뷰를 기반으로 한 유형과 삽입 Slate 앱의 제약을 확인해야 합니다.
앱을 다른 설치에서 재사용하려면 Marketplace 패키징을 사용할 수 있습니다. 설치 매개변수와 별개로 대상 환경의 조직, 그룹 및 쓰기 권한을 검토합니다.