I mean it is often impractical to assign roles of what can you do to people as you have no idea what exactly they do. But very often it so that the CEO comes and says OK these warehouse dudes should not be able to post invoices and G/L and then you should take away just that (say no insertion into the Sales Invoice Header and G/L Register, something like that) and leave all the other permissions.
Now I see two options.
One is a tool that generates permissions for every tabledata for a role, then you just take a few away. But then every time you create a new table you need to add it to every role and so on, it is confusing after a while.
Or could I for example do something along the lines hack something into the OnGlobalInsert etc. triggers in Codeunit 1 and then as a setup I figure I would assign SUPER to all, but also assign roles that have say like 1 table in it insert not allowed and suchlike and check that, something like that would be a goo idea?
What is your general experience with this?
Please don't try that stuff that a company should be well organized and define clear job responsibilities for everyone. Yeah, should, but often it is not the case, period. Often companies are understaffed and people need to represent and help out each other all the time.
0
Comments
The question is, we 143 such tools, why nobody thought if this? This the entirely logical way off approach, you start with superusers and then you gradually narrow it down.
I think it's no good idea to give everyone full access and reduce it time by time. It should just work the other way round. I see your point that it is sometimes much work, but it basically depends on unclear job definitions in your company.
For example, you add some new module (new tables and forms/pages/codeunits/...) to have sensitive employee-data (like salary-info). You test it and all is ok.
You put it in production and the people start working with it. If you forget to remove permissions to those objects, EVERYONE can see it!
For security, it is better to do like NAV does. You DON'T have access unless explicitly given access.
To make things easier to maintain, it is best to have a lot of small roles with limited functionality and give those to the users that need to have the role.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
"Request Permission".
This should start a workflow allowing the sysadmin person to evaluate if the person should have rights, and if so, allow this with a single click without knowing about tables, pages etc.
It's IMHO rediculus, the 1980's way security is setup in the product today.
That sounds way too sensible for Microsoft to ever implement. 8)
http://mibuso.com/blogs/davidmachanick/