What if the user leverages the Java or C api? What are you really trying to keep people from doing? Accessing the data or just viewing it in the user tool?
Axton Grams On Thu, Mar 10, 2011 at 1:19 PM, Mueller, Doug <[email protected]> wrote: > Joseph, > > Actually.... > > If you put a field on your form that is a display-only, character field > (length > doesn't really matter, but set to 0 just to be complete) and give it field > ID > 1005, it will hold the contents of the Advanced Search bar. This is > regardless > of how that bar is turned on. Make this field available to all users. DO > NOT > put it in the view (to prevent any possibility of the customer accessing it > directly to try and override things -- which they cannot do anyway since it > is > a linked field to the Advanced Search bar). > > You could then have On Query (or is it called On Search) active links see > if > that field has a value in it or not. If it has a value, you could issue an > error message and stop the search telling the user they should not be using > the > Advanced Search bar. Make the permissions of this active link public as > well > so it applies to everyone (or if there is a specific group you DO allow to > use Advanced search, set up permissions or qualifications appropriately so > that > the workflow fires for everyone who is not supposed to use the Advanced > bar). > > There is no way that the customer can work around this test regardless of > what > they do. > > > NOTE: I am just describing a technical capability not commenting on the > overall > solution. I just wanted to call out that there IS a way to get access to > the > Advanced Search bar contents and you are allowed to test it before a search > is > issued. > > > By the way, check out the topic "Form action reserved fields" in the > documentation for a discussion of this field ID and the other dozen or so > special field IDs that if you use them and put fields on your form, you can > control various aspects/buttons/operations of the system by both having > them > anywhere on your form and by having workflow operations on them control the > system function availability. > > > Just goes to show that there are often ways to protect/block even those who > are "experts" in working around things! > > I hope this helps, > > Doug Mueller > > -----Original Message----- > From: Action Request System discussion list(ARSList) [mailto: > [email protected]] On Behalf Of josepht > Sent: Thursday, March 10, 2011 11:07 AM > To: [email protected] > Subject: Re: Muliple layers of Row Level access using Dynamic groups > > That is what we are currently doing, but the AR System User Preferences > Form > is slightly different from the Tools -> Options Form. We can set the > default > values and then make the fields read-only on the AR System User Preferences > Form and the value will be set on both but the read-only option does not. > The same applies to things like disabled and hidden. So if the user was to > try to change their preferences on the AR System User Preferences Form to > something we don't want, then they can't. Unfortunately there is nothing > stopping them from changing this option in the Options Form. > > If a user was to enable the Advanced Search Bar using the Options Form, > then > click OK the change would take effect on the next form they open. There is > no trigger that I have found that will fire based on what happens in the > Options Form. Of course we do have an active link that fires on open of the > new window that just sets the values of these fields back to what we want > them to be, but it does not take effect until the next time they open a > window. This does not remove the Advanced Search Bar that would be at the > bottom of their current screen. There is no way that I know of that would > stop this Advanced Search Bar search without also stopping every search, > since there is no way to determine it the search was made with or without > it. > > Macros are even worse. Wish remedy would make it easy and just give us the > option to enable and disable these menu items like we can with the delete > and search menus. That way they would be just grayed out menu items that > don't work for certain users. > > > Grooms, Frederick W wrote: > > > > Offhand thought... Are you using server stored preferences (so that the > > Tools->Options and View selections are stored in the AR System User > > Preferences form)? If so would a filter that forces those values to be > > the ones you want help? > > > > Fred > > > > -----Original Message----- > > From: Action Request System discussion list(ARSList) > > [mailto:[email protected]] On Behalf Of josepht > > Sent: Thursday, March 10, 2011 7:32 AM > > To: [email protected] > > Subject: Re: Muliple layers of Row Level access using Dynamic groups > > > > Currently we have similar workflow in place that does limit the tickets a > > customer sees. Customers have a default view that forces them to use a > > table > > with the status limitation hardcoded into it. And an Error message that > > displays if they reach a ticket that is not closed and they managed to > see > > it somehow. > > > > But some of the more resourceful users have been able to get around these > > workflow limitations. These are normally the users who have been with us > > for > > a while and are dead set on recreating what they used to be able to do > > before we implemented row level access and started cracking down on > > security. Granted it is a small portion of our users that are being a > pain > > at the moment, but they have demonstrated this security vulnerability > that > > needs to be resolved completely before someone with malicious intentions > > discover it. > > > > We are currently trying to track down how they got past our restriction > so > > we can fix the vulnerability. We hope as soon as we do that the problem > > will > > be eliminated but knowing some of the more stubborn users they will > likely > > find another way. Currently it seems like we are in a sinking ship > trying > > to patch leaks as they spring up.The best way I know of to lock them out > > would be with the row level access permissions as they would not be able > > to > > find a work around. > > > > The other thing that has been a thorn in our sides is the macro and > > advanced > > search bar tools which there seems to be no way of permanently disabling > > or > > resticting via permissions. Thankfully these are not an issue on the > > Mid-tier, but our management won't allow us to take away the User > > application from those who have been abusing these tools. Right now, we > > have > > hidden or disabled these tools by default, but there seems to be no way > > from > > stopping a user from going to their view options and displaying the macro > > bar or going to their user options and enabling the advanced search bar. > > We > > can disable them again after they search with those tools, but not before > > the search actually takes place as we cannot seem to trigger workflow > > based > > on the users actions within that System menu and that System form. > > > > Thanks for the quick reply and we will look at implementing some of the > > options you suggested. Especially the computed group idea as that will > > help > > make our workflow a bit more dynamic. > > > > > > -----Original Message----- > > Jason Miller-3 wrote: > >> > >> Is it a custom app? > >> > >> Maybe you can create a console for the customer group users and a table > >> field that only shows resolved tickets by hard coding the status > >> comparison > >> in the table query? They will already have permissions to the records > by > >> being a member of system1 and then you just limit their results to query > >> freely. This means either you A] do not allow table drill down and set > >> Display Only fields in the console so they can see all the data they > need > >> (or open a detail report?) or B] allow them to open the Regular form but > >> do > >> not let them query directly from the form. > >> > >> Another idea is to have a hidden flag field that is set by workflow when > >> a > >> ticket is Closed. Then have an AL that fires on Search with the > >> qualification being true if they are a member of a customer group (can > be > >> a > >> computed group of all customer groups so you don't need to change "code" > >> when groups are added/removed). This AL automatically sets the flag > >> field > >> and is used in QBE to only return record where the field is set and > >> matches > >> their criteria. This is not foolproof and not really a security control > >> however. They can still access all records they have permissions to via > >> ODBC (Crystal, Excel, Access). > >> > >> For a little better enforced workflow you could create a filter that > >> throws > >> an error and fires on Get if the Status < Closed and they are a member > of > >> a > >> customer group. This is not a terribly elegant solution but would work > >> via > >> ODBC also. > >> > >> Jason > >> > >> On Wed, Mar 9, 2011 at 6:58 AM, josepht > >> <[email protected]>wrote: > >> > >>> Oh forgot to specify we are using BMC Remedy AR System version 7.0.01. > >>> > >>> > >>> josepht wrote: > >>> > > >>> > We are trying to use Row Level access to limit users access to > records > >>> > based on two different qualifications. > >>> > > >>> > For example: > >>> > User1 is a member of both the manager group and the system1 group. We > >>> want > >>> > him to be able to see all tickets for system 1 but not for any other > >>> > systems. (That part is easy enough and is being used currently.) > >>> > > >>> > User2 is a member of both the customer group and the system1 group. > We > >>> > want him to be able to see only closed tickets for system 1 but not > >>> for > >>> > any other systems. > >>> > > >>> > For the part that is working currently we just have the system name > >>> > populate in a dynamic group and then give that dynamic group access > to > >>> the > >>> > tickets. When trying to implement the part to allow User2 access to a > >>> > limited selection based on the status of the ticket within a limited > >>> > selection based on the system is where I am stuck. > >>> > > >>> > The only way I can figure to do this is by creating another set of > >>> groups. > >>> > Instead of a system1 group, we would set up a manager-system1 group > >>> and > >>> a > >>> > customer-system1 group. And then just use active links to fill in the > >>> > dynamic group with the manager-system1 group unless the ticket is > >>> closed > >>> > then we would put both groups in that field. > >>> > > >>> > This becomes a problem for us as we already have 9 user types like > >>> manager > >>> > that need to be limited similarly and over 100 systems. Making a > group > >>> for > >>> > each type of user with each system would get complex very quickly. > >>> Also > >>> > every time we added a new system we would need to create 9 new groups > >>> for > >>> > it. The same goes for every time a system changes its name, that > would > >>> be > >>> > 9 groups we would need to update. If we were to ever add a new type > of > >>> > user that is over a hundred new groups that need to be made for it. > >>> > > >>> > While this is possible and manageable. I am looking for a more > >>> flexible > >>> > solution. Is there another way to do this by just using a combination > >>> of > >>> > the groups we already have? > >>> > > >>> > I thought I had it with a computed group with a Group Definition > like: > >>> > "Manager" AND "Dynamic Group" > >>> > But sadly the system does not allow this. Of course I understand why, > >>> but > >>> > I can't think of a way to do something like that on the tickets > >>> themselves > >>> > and not as a group. > > > > > > > > > > -- > View this message in context: > http://old.nabble.com/Muliple-layers-of-Row-Level-access-using-Dynamic-groups-tp31106995p31118741.html > Sent from the ARS (Action Request System) mailing list archive at > Nabble.com. > > > _______________________________________________________________________________ > UNSUBSCRIBE or access ARSlist Archives at www.arslist.org > attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are" > > > _______________________________________________________________________________ > UNSUBSCRIBE or access ARSlist Archives at www.arslist.org > attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are" > _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are"

