워크스페이스 격리
워크스페이스는 Fóir에 있는 여러분의 계정입니다. 프로젝트, 팀 구성원, 결제하는 요금제가 들어 있습니다. 그 안의 어느 것도 다른 워크스페이스에서 읽을 수 없습니다.
워크스페이스가 분리되는 방식
워크스페이스는 데이터베이스를 공유하며, 분리는 모든 행에 적용된 정책입니다. 관리되는 각 행은 속한 워크스페이스의 id를 가집니다. 해당 테이블의 행 수준 보안 정책은 그 id를 호출자 세션의 워크스페이스와 비교하며, 다른 어떤 규칙보다 먼저 비교합니다. 한 워크스페이스를 위한 쿼리는 다른 워크스페이스의 행을 하나도 반환하지 않습니다.
테스트에는 직접적인 경우도 포함됩니다. 워크스페이스 둘을 만들고, 두 번째 워크스페이스의 세션이 첫 번째의 어느 것도 읽지 못해야 합니다.
워크스페이스에서 세션을 받는 사람
팀 구성원은 워크스페이스에서 유효한 역할을 가진 동안에만 세션을 받습니다. 역할은 워크스페이스 전체에 또는 단일 프로젝트에 부여되며, 워크스페이스에는 항상 관리자가 한 명 이상 남아 있어야 하므로 마지막 관리자의 해지는 거부됩니다.
Fóir 직원은 별도의 경로인 승인에 따른 지원 액세스로 들어옵니다.
워크스페이스에만 속하는 것
일부 권한은 이 수준에만 있습니다. 결제, 프로젝트 생성과 삭제, 사람 초대, 프로젝트에 걸친 감사 추적, Postgres 내보내기에는 모두 워크스페이스 역할이 필요합니다. 한 프로젝트를 관리하는 사람이 결제에 쿼리를 보내도 콘솔, API, CLI 어디에서든 행이 반환되지 않습니다.
요금제 허용량은 워크스페이스 전체에서 합산되므로, 프로젝트들은 하나의 한도 묶음에서 사용합니다.