2011-02-11 13 views
11

Sto pensando di scrivere un'applicazione supportata da CouchDB che memorizzerà dati sensibili. È possibile impostare le cose in modo tale da ottenere qualcosa come il controllo degli accessi di MySQL e PostgreSQL, in cui determinati utenti del sistema (utenti nel senso degli utenti del sistema Unix) possono essere negati o concesso l'accesso a un particolare database CouchDB?Esiste il controllo dell'accesso per i database CouchDB come PostgreSQL e la gestione dei privilegi MySQL?

risposta

11

Assolutamente, è possibile impostare gli utenti nel database _users. È possibile assegnare ruoli, gruppi e qualsiasi altro campo personalizzato per ciascun utente. Nella funzione validate_doc_update nei documenti di progettazione, è possibile controllare i ruoli utente e approvare o negare l'accesso in base a ciò. Puoi anche assegnare globalmente gli utenti come "lettori" e "scrittori". Puoi autenticare gli utenti tramite l'autenticazione HTTP di base, OAuth e una varietà di altri metodi.

Per iniziare, consultare le pagine Security Features Overview e Document Update Validation sul wiki.

+0

Ottima risposta. Non sono sicuro che Dan volesse dire ** effettivi ** utenti del sistema Unix, o solo il concetto di più utenti che condividono una risorsa. Per consentire agli utenti Unix di accedere (ad esempio tramite SSH) con le loro credenziali Couch, è necessario scrivere o trovare un modulo PAM per un back-end Couch. Per consentire agli utenti di Couch di accedere con le proprie credenziali Unix, è necessario scrivere o trovare un modulo di autenticazione CouchDB per utilizzare gli account di sistema anziché '_users'. – JasonSmith

Problemi correlati