On 04-Jun-2011 06:13 , Joe Pluta wrote:
<<SNIP>> I ran a few tests, and the data read rights allow access via
logical view, while the lack of operational rights DISALLOWS the
creation of additional views or logicals (unless you are QSYS or have
*ALLOBJ).
Which makes it all the more annoying that it's IBM requesting access
to this file.  They ought to know better.
  Of course "IBM" is rather nebulous with regard to the definitional 
and functional aspects of one specific component of the IBM i OS. ;-)
<ed: add>
On 03-Jun-2011 12:57 , Joe Pluta wrote:
It's IBM that requires direct access to the underlying file. First
they wanted *ALLOBJ, and when we balked at that, they refined their
request. I should be more specific: it's the WebSphere folks that
want this information; they evidently haven't gotten the memo on
the "new" access restrictions.
  If they believe they need direct access to the physical, then they 
would need to ship a program that adopts the authority of a user such as 
QSYS or QSECOFR, just like any other OS component or utility\feature 
would need to do.  Since as I had alluded there is no data that is 
available in a QADB* PF which is not also available in a QADB* LF, then 
almost surely anyone [IBM or otherwise] could effect pretty much 
whatever is required without any special authorities required.  While 
shipping a logical file in the product is also an option, the database 
discourages that since any logical may be deleted without any warning, 
and only diagnosed by CPF32D1 to QSYSOPR [thus available in QHST], which 
means the feature would need to be restored again for recovery, or have 
a program that adopts to be able to recover... and if they can ship such 
a program, then they have no limitation to overcome, for which they have 
any legitimate case for /needing/ authority to any QSYS/QADB* physical file.
  I would guess the more likely their "reason" has origins in 
misunderstanding rather than there being any actual requirement.  For 
example I have seen similar implications made when defects were wrongly 
inferred to be functionally correct scenarios, for the query of a VIEW 
over the system database cross-reference physical file which resulted in 
the message SQL0551 [sqlcode -551].  The misunderstanding was for 
assuming the error was correctly being issued, when in fact the query 
should have been able to complete without error.  Noting however that 
such queries should have been coded with the clauses FOR READ ONLY and 
WITH NC which preclude references to the member.data which might 
otherwise correctly effect that authority failure; i.e. update is 
disallowed [not only for authority, but for the ALWUPD attribute of the 
file.mbr], and isolation may require access to the physical member in 
order to allow access to the journal.
  Regardless, the database component "owns" and maintains those files, 
and established the authority requirements to those objects, so no other 
component of the system should ask of the customer to override those 
rules... esp. since as I had noted, the authority to those objects could 
be reset by the QDBSRVXR [or other] system jobs at any moment if they 
were ever modified.
Any references to the physical files must either be run with or
adopt the authority from a user with the SPCAUT(*ALLOBJ).
Because you can't submit a job as QSYS, and I would guess that you
can't get a profile handle to QSYS either.
  I do not believe so, but the *USRPRF QSECOFR always includes the 
*ALLOBJ special authority.  A handle can be obtained for that user 
[instead].  As well, though often not done, any other user could be 
setup to have that special authority as well.  Plus the requirement for 
*ALLOBJ is limited only to the CRTLF or CREATE VIEW, or to the program 
that performs the OPEN of the physical file instead of a logical view of 
the data.  For the create requests, they need only be sure to specify 
*OBJOPR object authority and *READ data right to whomever must later 
access that new logical view without the [adopted] special authority of 
the user that performed the create.
  So why anybody who [WebSphere] thinks they require access would not 
simply create a program adopting QSYS or QSECOFR, is unfathomable. 
Somewhat less so, why anyone might think they need the access in the 
first place given the abundance of logical files that provide most if 
not all of the physical data, made available generally to the *PUBLIC.
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.