2011-02-11 13 views
11

Estoy pensando en escribir una aplicación respaldada por CouchDB que almacenará datos confidenciales. ¿Es posible configurar cosas para que pueda obtener algo como el control de acceso de MySQL y PostgreSQL, donde los usuarios particulares en el sistema (usuarios en el sentido de usuarios del sistema Unix) pueden ser denegados u otorgados el acceso a una base de datos CouchDB en particular?¿Hay control de acceso para bases de datos CouchDB como PostgreSQL y MySQL?

Respuesta

11

Absolutamente, puede configurar usuarios en la base de datos _users. Puede asignar roles, grupos, así como cualquier otro campo personalizado para cada usuario. En la función validate_doc_update en su (s) documento (s) de diseño, puede verificar las funciones de los usuarios y aprobar o denegar el acceso en función de eso. También puede asignar globalmente usuarios como "lectores" y "escritores". Puede autenticar usuarios a través de autenticación HTTP básica, OAuth y una variedad de otros métodos.

Consulte las páginas Security Features Overview y Document Update Validation en la wiki para comenzar.

+0

Excelente respuesta. No estoy seguro de si Dan quiso decir ** en realidad ** usuarios del sistema Unix, o simplemente el concepto de que varios usuarios compartan un recurso. Para permitir que los usuarios de Unix inicien sesión (por ejemplo, a través de SSH) con sus credenciales de Couch, debe escribir o buscar un módulo PAM para un back-end de Couch. Para permitir que los usuarios de Couch inicien sesión con sus credenciales de Unix, debe escribir o buscar un módulo de autenticación CouchDB para usar las cuentas del sistema en lugar de '_users'. – JasonSmith

Cuestiones relacionadas