프로젝트 격리
프로젝트는 워크스페이스 안의 하나의 제품입니다. 사이트, 스토어, 앱 같은 것입니다. 콘텐츠, 사용자, 파일, API 키, 시크릿, 로그인 도메인은 그 프로젝트의 것이며 두 프로젝트 사이에는 아무것도 공유되지 않습니다.
키 하나, 프로젝트 하나
API 키는 프로젝트 안에서 생성되며 그 프로젝트만 대상으로 합니다. 데이터베이스는 프로젝트가 없는 공개 키나 시크릿 키를 저장하지 않습니다. 요청이 도착하면 프로젝트는 헤더가 아니라 키 자체의 레코드에서 읽으며, 키와 다른 프로젝트를 지정한 요청은 거부됩니다.
커스텀 API 도메인도 이를 바꾸지 않습니다. 프로젝트는 여전히 키가 결정하며, 다른 프로젝트에 속한 도메인에서 제시된 키는 거부됩니다.
프로젝트로 한정된 팀원
한 프로젝트에 부여된 역할은 그 프로젝트의 행에서만 효력이 있습니다. 사이트가 둘인 고객사는 각각에 부여를 받으며, 한쪽에 가진 어떤 것도 다른 쪽에 닿지 않습니다. 같은 사람이 한 프로젝트의 관리자이면서 다음 프로젝트에는 아무 액세스도 없을 수 있습니다.
행 규칙
프로젝트 범위의 모든 테이블은 워크스페이스의 id 옆에 프로젝트의 id를 가지며, 정책은 두 값이 호출자 세션과 일치할 것을 요구합니다. 콘텐츠, 사용자, 파일의 경우 정책이 한 걸음 더 나아가 호출자가 볼 수 있는 행을 결정합니다. 훅, 스케줄, 도메인 같은 설정의 경우 데이터베이스가 격리를 보장하고, 변경 권한은 요청이 도착할 때 확인합니다.
스테이징과 프로덕션
Fóir에는 테스트 모드도 두 번째 종류의 키도 없습니다. 스테이징 환경은 자체 데이터와 자체 키를 가진 두 번째 프로젝트이며, 하나의 설정 파일로 둘 다 선언하고 서로 같은 상태로 유지할 수 있습니다.
자세히 보기
인증 가이드는 각 키 종류, 키가 담을 수 있는 것, 요청이 프로젝트에 연결되는 방식을 설명합니다.