[SERVER-6246] Manipulate user objects exclusively via commands Created: 28/Jun/12 Updated: 02/Aug/18 Resolved: 11/Oct/13 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Security |
| Affects Version/s: | None |
| Fix Version/s: | 2.5.3 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Spencer Brody (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Major Change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Rather than using CRUD operations on db.system.users collections, user objects will be manipulated via commands:
|
| Comments |
| Comment by auto [ 25/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: SERVER-11352 | |
| Comment by auto [ 15/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 11/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 11/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 10/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 10/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 10/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 09/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 06/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 06/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 04/Oct/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 26/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 25/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 24/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: Make sure that every command gets checked that there are no extra arguments, and be consistent | |
| Comment by auto [ 24/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 19/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@mongodb.com'}Message: | |
| Comment by auto [ 19/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 19/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 17/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 17/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: Revert " This reverts commit 88b88bd49c2ecdc4a3f0be050360099401310566. | |
| Comment by auto [ 16/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by Andy Schwerin [ 16/Sep/13 ] | |
|
| |
| Comment by auto [ 16/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by Derick Rethans [ 16/Sep/13 ] | |
|
Poor practise or not, it's how it worked and you're breaking BC with this change—not only for us, but also for everybody else who uses db.addUser in a script! | |
| Comment by Spencer Brody (Inactive) [ 16/Sep/13 ] | |
|
That's because the db.addUser(<username>, <password>) shell helper takes just a username and a password has been removed. This is because the default behavior of that helper is to create a super user, which is poor security practice. The new way to create users is db.addUser(<username>, <password>, <roles array>) - this way we guarantee that clients are explicitly thinking about what roles newly-created users should start with. | |
| Comment by Derick Rethans [ 16/Sep/13 ] | |
|
So what's the deal with the Mongo shell not working anymore? Right now with the current nightly our Jenkins tests won't start because of ``addUser`` not working correctly (see bottom of https://jenkins.10gen.com/job/mongo-php-driver/239/mongodb_configuration=single_server,mongodb_server=unstable-release,os_arch=linux64,php_language_version=5.3/console): ``` This is because of: ``` | |
| Comment by auto [ 13/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 06/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 06/Sep/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by Bernie Hackett [ 20/Aug/13 ] | |
|
Request from the drivers team... Our current "addUser" helpers also fill the "updateUser" role. We can continue to do that in a non-backward breaking way by calling the new usersInfo command in the existing addUser helper. If usersInfo returns information for the given user we call updateUser, otherwise we call createUser. It would be nice if usersInfo returned an empty list if the given user doesn't exist, instead of raising an error. | |
| Comment by auto [ 06/Aug/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 06/Aug/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 01/Aug/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 01/Aug/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by Spencer Brody (Inactive) [ 31/Jul/13 ] | |
|
All user management commands will also need to be able to take write concern. Will probably look something like:
| |
| Comment by Spencer Brody (Inactive) [ 17/Jul/13 ] | |
|
After there is a command to remove users, make sure to forbid direct remove operations on system.users collections. | |
| Comment by auto [ 17/Jul/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 09/Jul/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: This is to enable the temporary approach of fully rebuilding user data in memory on each update to | |
| Comment by auto [ 08/Jul/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 25/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 20/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 14/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 14/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 14/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | |
| Comment by auto [ 12/Jun/13 ] | |
|
Author: {u'username': u'tadmarshall', u'name': u'Tad Marshall', u'email': u'tad@10gen.com'}Message: | |
| Comment by auto [ 11/Jun/13 ] | |
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: |