SOX-Restricting CNC Admin Access in Prod

ARJOHNSON

Active Member
We are being asked to restrict CNC Administrators in Production to inquiry only.
Auditing of administrator activities within JDE is NOT possible with our current version/setup/configuration; therefore, we have to find a way to secure production data without restricting our administrators ability to troubleshoot and perform their job responsibilities and duties (security, task views, change management (OMW) etc.)?

Any input appreciated. Thanks!

System info:
- EnterpriseOne Xe, SP23_M1, Update 7
- iSeries model 550 V5R3, 3 main LPARS – AS01 (Prod), AS01CRP (Prototype), and AS01DEV (Development).
 
[ QUOTE ]
We are being asked to restrict CNC Administrators in Production to inquiry only.
Auditing of administrator activities within JDE is NOT possible with our current version/setup/configuration; therefore, we have to find a way to secure production data without restricting our administrators ability to troubleshoot and perform their job responsibilities and duties (security, task views, change management (OMW) etc.)?

Any input appreciated. Thanks!

System info:
- EnterpriseOne Xe, SP23_M1, Update 7
- iSeries model 550 V5R3, 3 main LPARS – AS01 (Prod), AS01CRP (Prototype), and AS01DEV (Development).

[/ QUOTE ]

You could always make a full copy of everything, and allow CNC administrators access to the copy - but who is going to update the "realtime" version ?

They're asking for the impossible. You cannot administer a system if you don't have access to it. Who has access to it if not the CNC Administrator ?
 
Oh.. I totally agree.. how do they expect us to do our job. However we have been given the task of trying to find a way to restrict ourselves.

The following situations have been identified so far where CNC admins need to be able to update in PRODDTA:
1) When a developer creates a new table and it needs generated in production. This is done in OMW.
2) When a new user account needs to be created and there is no Address Book record yet for that employee, CNC will go ahead and create it.
3)another item in the PRODDTA library that we have to have access to: Batch Approval and Post Security. That info resides in the F0024 table, which is in each Business Data library
4)two more tables in PRODDTA that we need access to: F01131 and F01131M. Those are files that hold Work Center message data. We need to periodically run the R01131P UBE, which cleans out these tables

This could go on and on.. Is there a way to go about identifying all the tables that we need access too? If so.. how??? You can't imagine how frustrated we are..
 
Hi Angie,

That's quite a complex subject...
On one hand, CNCs, DBA and system administrators need
full system access to accomplish their mission :
ERP administration. That's why we're hired, aren't we?
On the other hand, your auditors requirement sounds quite
reasonable to me : you (as an user) should not be able
to browse or modify sensitive data.
A middle point between those two conflictive requirements
would be to audit your OS/400 CNC user whenever it hits
any sensitive table (such as HR, Payroll, Address Book,
etc). Of course, someone should be parsing that log from
time to time to be sure you're not conducting
any suspicious activity on those tables.
As I said, it's not easy at all!
 
Angie,

"Scouts honor" is not enough? That is an unreasonable request made by someone who does not have a sufficient understanding of how JDE works. CNC admins have to have full access to do their jobs.

One compromise, you could set up a less powerful ID for when you need to do system inquiry and troubleshooting. But the actual changes need to be done under the CNC ID.

We have had this same conversation with our auditors, and the solution was to document that CNCs have to have full access. We did put in a SOX control that admission to the CNC security group is signed off on by a very senior level director. That was deemed sufficient. By the way, I work for a Fortune 500 company, one of the largest JDE customers. We have been through at least five full SOX audits.

Gregg Larkin
North American JDE System Administrator
Praxair, Inc.
 
I am at a company which is currently "rinsing its SOX" out as we speak. The bottom line is that CNC admins do have to have access to areas that used to cause us as auditors to flinch. That being said, it is a new day technology-wise, and the CNC admin does have to extend into these areas to be effective. Additionally, I think it has been said on this thread that you have to trust at some level. Wearing my audit hat, it is "trust yet verify".

I would talk overall controls with your auditor. To this end, I would highlight:
1) Hiring practices (background checks, if applicable) for staff who take this role
2) Policies and procedures for granting access to "powerful" JDE roles
3) Any monitoring of system activity independent of the CNC function (if any)
4) Methods for reviewing work performed by these admins
I would also talk with the auditors about the risks that they seek to mitigate with this control. This would give you a clear idea of what they are getting at.
 
Hi Gregg--
in regard to your comment:
"We have had this same conversation with our auditors, and the solution was to document that CNCs have to have full access. We did put in a SOX control that admission to the CNC security group is signed off on by a very senior level director. That was deemed sufficient".

Is there any way you can send me a copy? Of course if there's any sensitive information , would it be possible to get a copy/version with the sensitive stuff taken out?

Feel free to e-mail me at [email protected].
Thanks!!
 
Angie,

I would love to send it, if they trusted a line grunt like me with SOX docs. They don't.
frown.gif
The conversations that I have had have been with the auditors, and it is clear that they are not putting the gloves on the CNCs. It's a different story with my developers. They all have two ids. A developer ID with access from DV to PY. And a read-only ID for PD. The read-only role is the same as the applead role. We created a specific SQL account group that has read-only access to the database for that role.

Further more, key areas of the system, like cutting a check, have full-time system wide auditing enabled. I have the ability to generate a PO, and cut myself a check, but it's all logged and audited. Oh course I have one other terrific control to prevent that, I have no clue how to do any of the stuff, so I'm pretty safe.

One other control, everyone in the company, upon their date of hire, and on an annual basis, has to sign a confidentiality and ethics agreement. The IT people sign an extended version of that. The company accepts that we come in contact with sensitive information, and that we have access to all kinds of sensitive information. It is grounds for dismissal if I poke around looking for sensitive data "just for fun." Seeing sensitive data for troubleshooting, no problem. Out of curiousity, that kills the CNC cat.

Gregg Larkin
North American JDE System Administrator
Praxair, Inc.
 
Ok-- thanks anyhow!..
Our developers have two accounts as well, one for DV and PY and an iquiry only account for production. Their DV accounts do not have access to the Prod environment.

Basically its myself and the other CNC admin the auditors are concerned with; having update ability in production (since we have "God" like access). We have one role (IT) in JDE with *All access which is assigned to myself and the other admin.. We are trying to win the argument that in order to support this software (security and change management) we need that access. Ughh!
 
Two questions then:
1) Do these auditors audit any other JDE users involved with Sarbanes-Oxley
2) What do THEY suggest as a mitigating control?
a lot of times, auditors take a look at a control environment, take a dislike, but have no workable solutions. They seem to forget that the cost of a control should not exceed the benefit to be received...
 
Hi Robert!

1) Do these auditors audit any other JDE users involved with Sarbanes-Oxley-- In answer to this, yes they have audited the heck out of JDE. We have had been audited on production user accounts & Dev accounts specifically-
A)audited on obtaining proper approvals for the accounts;
B)audited on the roles assigned to the users-- role matches up to the user's job functions-- (Security Admin signs off on this)
C) audited on the security assigned to the roles (we use QSoftware)). -- Row Secuirty, Column security, Location security... .. etc...

We have been audited on our developer accounts (specifically not having update ability in production-- which is why our developers now have two accounts; 1 for DV/PY and a prod inquiry account).

2)What do THEY suggest as a mitigating control-- Basically all I am aware of, or what I have been told is we need to come up with a way to restrict ourselves from updating the financial data ...We have not found a way to get a list of all PRODDTA objects and descriptions that can be saved in a file for review. Attempts to do so in JDE yield only a list of all objects - not differentiated by data source. We have manually scrolled through the list by using the WRKLIB command on AS01 for PRODDTA, but this does not have the associated table names. We did notice the F9XXX series of tables though. The 9XXX tables are typically system-type tables, and we would need to find out if CNC needs update access to any of these.
We also tried querying the OL7333/F9860 file. However the problem is - it's too complete. It looks like it's all the tables in the system. Containes files in there that are in SYS7333 and PRODCTL. We only want to look at the files that are in PRODDTA. That's what we couldn't find - someplace that would give us a listing of just what was in that library.
 
Actually, question 1 should read "do they audit any other JDE companies involved with SarbOx"? That sets them up for the next question: what do other companies do?

Gregg gave his example; with us, our managerial approval is sufficient for ALL roles. Our auditors did not press the issue any further.

In order to adequately audit the system, the auditors must have more than a passing acquaintance with JDE; sadly, very few do...
 
My apologies for mis interpreting your questions..

As for if they are auditing any other JDE companies.. that is a good question, my gut tells me no.. since JDE seems so foreign to them. I personally haven't asked the question.. but I would like to find out.

Thanks Robert for your input!

Angie
 
Angie,

Where does your management stand on the issue? They are the ones that should be fighting this battle. If your manager does not have enough clout, keep escalating it to the one that does. If they don't understand JDE, or side with the auditors, they let them restrict you (but leave a backdoor to revert the change.) When you can't do the job, refer it back to management and the auditors. If logic and a passionate arguement fail, the old "passive/agressive I told ya so" play is very effective.
 
[ QUOTE ]

As for if they are auditing any other JDE companies.. that is a good question, my gut tells me no.. since JDE seems so foreign to them. I personally haven't asked the question.. but I would like to find out.


[/ QUOTE ]
You should ask if they have audited ANY ERP system at other companies - and, if so, what preventative methods those other companies have put in place to prevent updates to the database by the system administrator/DBA while also allowing the same DBA/Sysadmin access to be able to troubleshoot and, if necessary, make changes to data based on requests from the functional team.
 
Angie,

I have a (Oracle DB) SQL (attached) that I think will give you what you need - a list of tables (starting with "F") and related datasources. You can probably change it to meet your requirements.

I have a comment to make on this, even though, in Australia, we don't really have an equivalent of SOX, but we do have audits for separation of duties. The roles I have would not be in one person under SOX (CNC/Developer/JDE general dogs body). So take my comments with the proverbial "grain of salt." I never update the production database directly. I create SQLs and have a colleague check and endorse it, it is then approve by a manager, then our DBAs exeute it.

Adding new address book records for staff is done via an interface from our HR system or by our AR staff. Adding new address book records for AE and AP is also done by AR staff.

That's my aud 0.02 I hope it is of some sort of benefit.
 

Attachments

  • 129018-F-Tables 811.txt
    2.3 KB · Views: 244
We are working on very similar task.
In our case, SOX restricted CNC group still can access PD but almost no access to business data, not even read-only.
System account JDE can still be used under "watch": get approvel, log the usage into Excel for compliance people. We show them how to use "user log-on history" (no delete button), how to look A0092, A0093 and A98OWSEC.
P00950 entries was just doe and I about to start testing. Issues are expected.
 
Loue,

that sounds rather cumbersome and awkward. I suppose it would work if a company was rather small, and there were very few CNC related changes. If I had to go in to JDE once or twice a week, that might work. More than that would be quite clumsy.

Good luck with your testing.

Gregg
 
Hi,
I did a presentation at Collaborate 2005 entitled 'Putting on your SOx one code change at a time' (how embarrassing - what was I thinking with that title :) ).

Anyhow - here's an excerpt from my notes from that presentation - with a few changes to hopefully answer some specific points that have come up in previous posts.

We have done this (CNC Inquiry only in PD) and it wasn’t as painful as you might think. Though we do have the luxury of having lots of people – enough to check on each other.

From a SOx viewpoint, you should try to segregate CNC, Developers and Security Admin.
I think most shops have CNC and Security Admin as the same people? What we do is we have a Business department that does security – and we call them System Admin. This group does E1 security, except for themselves.

All 3 groups have ‘Inquiry Only’ access in Production, except for specific applications, such as OMW and Package Builds (CNC only). So this is a lock down, grant back exercise.
For those of you with two accounts for your Developers (or anyone else), the access can be different in PD than elsewhere for the same group if you split the F00950 between PD and other environments. There is a white paper somewhere that tells you how to do this but it is quite straightforward – create another F00950 and use OCMs to point your non-PD environments to that table.
Developers should not be able to use any security or configuration tools in any environment, except with View access.
Lock down OMC and all Security Apps and other ‘scary’ apps – OCMs, DSs, Package Mgmt,etc.

Specifically for the Security Apps, we have put row level security on the Sys Admin people so that they cannot do their own or their own group’s security.
They must come to CNC for their own security, which isn’t a frequent occurrence.
Audit reports show what activity CNC has done on the security files so Sys Admin audits CNC by reviewing these reports weekly.
Recommend Audit Reports of Security Files:
F98OWSEC – User Password and System ID
F0092 – User Group
F0093 – Environment Access
F00950 – Security Workbench
We do this with DB journaling but you could use CFR21 Part 11 functionality.
In effect CNC and Sys Admin are each other’s controls.

So CNC does not have update access to any ‘end user’ apps. They do have access to grant themselves access but it will be caught and questioned by Sys Admin. In our case, that would include Address Book maintenance. I would suggest that your CNC folks try to pass that responsibility back to the Business – adding AB records is a big exposure that CNC shouldn’t be doing. I am not comfortable in documenting in an open forum the possibilities that exist here but I'm sure you can use your imagination.

If you don’t have the luxury of being able split CNC and Sys Admin perhaps an audit report of security changes that someone else reviews would be sufficient. This would only work after you can prove that whoever can do the security changes (say CNC) only has inquiry in production to everything other than chng mgmt tools - no business apps. Then the person reviewing the report will know to focus on the CNC group or ids showing up as making changes for themselves.

As for database access – this is controlled with the ‘system id’, not the logon id. If you are still using ‘JDE’ as the system id for all of your users, not much can be done there. We have individual system ids per user so have a lot more control.

The same 3 groups are the only ones with access to the database directly. Otherwise, access is controlled with application security. SQL access, particularly update access directly to files is very limited. CNC is the exception – and similar to Gregg’s story – their Manager must sign off on their access quarterly. SQL updates are also audited with DB2 journals so there is a record of all updates.

Hope this helps.

Sue Shaw
Shell Canada Ltd
Xe SP23J1 coexistent, System i V5R2
 
Thanks everyone for all your responses. They have been quite helpful. We will be bringing in outside consultants to meet along side management and internal audit (of course CNC will be represented as well) to hash this out. I will keep you posted on what we decide and how we go about implementing the same. Thanks again! Angie
 
Back
Top