멀티 테넌트 응용 프로그램을 만들 계획이므로 Azure 문서 DB를 가지고 놀고 있습니다.Azure DocumentDB 멀티 테넌트 응용 프로그램 사용자
멀티 테넌트 애플리케이션의 경우 내 생각에 입주자 당 1 db 사용자를 생성하는 것이 좋습니다. 그러면 세입자 데이터가 완전히 분리된다는 이점이 있습니다. 문서를 만들 때 세입자 사용자에게 사용 권한이 추가됩니다. (읽기/쓰기) 쿼리 할 때 데이터는 항상 현재 세입자의 범위가됩니다.
나는 또한 최종 사용자 당 1 DB 사용자와 함께 놀고있었습니다. 그러나 이것은 문서의 보안을 관리하는 데 많은 오버 헤드를줍니다. 테넌트 z의 사용자 x가 문서를 추가하면 세입자 z의 모든 사용자가 해당 문서에 대한 추가 사용 권한으로 업데이트해야합니다. 이것은 실현 불가능한 것 같습니다.
내 가정이 맞습니까? 아니면 이것에 대한 또 다른 접근 방식을 제안 하시겠습니까? 이 접근 방식에 단점이 있습니까?
DocumentDB의 사용자 및 권한 기능은 세분화 된 리소스 집합에 대한 데이터베이스에 대한 직접 액세스 권한을 부여하기위한 것입니다. 사용 권한을 생성하여 생성 된 리소스 토큰은 일시적으로 OATH 토큰이 작동하는 방식과 유사합니다. 사용자에게 자원 세트에 대한 데이터베이스 엔드 포인트에 대한 직접 액세스 권한을 부여하려는 경우, 이는 사용자에게 가장 적합합니다. 단순히 응용 프로그램에 대한 입주자를 격리하려는 경우 - 중간 계층에서이를 수행하는 것이 훨씬 쉽습니다. –