(I thought I'd make a new thread since my last one was getting off topic.)
Aside from setting _File and _Field permissions for users, what mechanisms are built-in to the Progress DB and the OpenEdge language to handle security that are considered best practice in 2013?
I'm a little busy at the moment for a magnum opus, but those links are a good start. Also, at the recent Progress Exchange 2013 there was an OE security workshop as well as a couple of in-depth Identity Management sessions by Peter Judge.
Thanks! These are really good resources. I'll check them out.
Actually, I did read the documentation some time ago (must have slipped my mind!). The most useful document I found was "Deploying a Progress Application in a Secure Environment." My biggest takeaways from that were:
Don't allow any blank users.
Only allow administrators to dump and load databases. (I believe this is the default.)
It's best to have at least two administrators.
Enable runtime security so someone can't run compiled files without logging in.
We don't use any SQL clients and we won't for the time being. Up until now we were able to avoid these in providing services.
Currently we are migrating to OE11.3. A change in the way we authenticate users and thus our code is on the roadmap. New, more restrict policies from our operational risk control - driven by regulatory requirements ( ... and CMA strategy - cover my a** - from senior management ) are powerful drivers to change in our authentication and authorization concept. Location aware access control, client data confidentiality, data room authorization, to big to fail and others are the buzz words of today in my company. I am just at the beginning of designing a "new" authentication and authorization concept for our solution which must be based on ASN.1 security tokens in one way or the other.
So, the goal is to have our solution ( bundle of 50+ applications ) migrated to OE11.3 first and then make fit for the new requirements. Already I've faced a stepping stone due to the changes in the CPO that break a "golden rule": You can't build a CPO in OE11.3 and authenticate against and OE10 database due to the changes in its internal structure. ( You get a silly error message stating that the authentication domain can't be found though. ) This effectively means, that you can't authenticate using the CPO with an OE11 client against an OE10 database which, IMHO of course, breaks the "golden rule" that you can always run a client of release X against a database of release X-1. This means that we need to migrate hundreds of Windoze clients and some Solaris 64Bit SPARC servers spread all over the world in one big bang. I would have preferred to migrate all clients first and then the servers step by step ...
We're in the early stages of an internal move from 10.2B07 to 11.3.1. Both _User and CP are used in various applications. I wasn't aware of the restriction on client version versus server when using CP. I appreciate the update!
It is a handle-based object that you can use to use to authenticate against a database instead of username/password. In order for this to work the security authentication system and domain must have been set up in the database ( you can do this via the data adminnistration tool under security ) and the client principal object must have been sealed with the secret pass phrase strored in the authentication domain.
Have a look at the CREATE CLIENT-PRINCIPAL statement.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.