I think I'm going to have separate datasources for various functions. Almost all my cfqueries are select statements, so my default datasource will have everything turned off in the administrator (except for select).
But for the "Insert/Update/Delete" datasource, I'd like to see if I can minimize it's rights as well.
Whenever I'm setting up a user in Microsoft SQL Server for my ColdFusion datasource, I always go under Security, Users, New User. Under "Owned Schemas", I've gotten into the habit of checking db_owner and under "Role Members", I check db_owner.
I got it to work that way and haven't looked back. So now I'm looking back and wonder, does this give my ColdFusion datasource more rights than it needs to have? Is there another option under "Owned Schemas" and/or "Role Members" that could minimize my exposure?
Heck, I'd be ok with reducing the number of features as long as I knew what features I would be turning off. For instance, I never alter a table from ColdFusion.
Some people advise to only allow stored procedures and never allow updating tables directly from the application, but I'm not following that advice.