There is a sample Zowe Spring Boot micro service that can stand alone with no 
external Zowe dependencies which you can use to decouple access 
control/authentication from your application. 

> On 21 Feb 2022, at 9:08 pm, David Crayford <dcrayf...@gmail.com> wrote:
> 
> You can do all of that in C code using the __passwd() and 
> __check_resource_auth_np library functions. You will need to be program 
> controlled which means Python and it's runtime will also need to be platform 
> controlled. Most modern services do this using an API like the Zowe 
> authenication API. If you're writing a web application in Flask you should 
> consider using JWTs. If it were me, I would prefer to use a Spring Boot Java 
> application instead of Python. There is a much richer set of SAF APIs and the 
> entire Java JRE is program controlled.
> 
>> On 21/2/22 8:38 pm, Erik Janssen wrote:
>> Hello List,
>> 
>> We are creating some APIs with python flask running on z/os (some in 
>> combination with z open automation utilities in order to drive existing rexx 
>> / ispf edit macro logic) and that is looking very promising. In order to 
>> properly protect those APIs I am trying to create a authorization API, that 
>> would call a module that can verify a RACF user/password/appl combination so 
>> that it can return a token with which - for some time - you can then call 
>> the actual API's. I've managed to create an assembler DLL that works with 
>> that principe, calling the neccessary RACROUTE's. But, since this module 
>> needs APF authorisation I can only see a way to call the module as a 
>> subprocess through an - apf authorized - c main wrapper program. In this 
>> case it will return the SAF RC and the actual wto message as stdout. But, 
>> specifying a password this way as a cmdline parm means that it would show up 
>> in ps screen in SDSF for example.
>> Loading the assembler DLL in python through CDLL technically works, but 
>> actually will get a S683 abend, since it lost its APF authorisation.
>> My idea was that the module will check if the caller is authorized to 
>> actually check the specified user/password by some custom racf profile, so 
>> that I can prevent it from generally being allowed to check all 
>> user/password combinations.
>> Apart from the obvious risks involved in APF authorized routines, giving 
>> this principe that I would like to create a routine that - in a controlled 
>> way - could do password checking for unauthorized callers, what options are 
>> there to do so?
>> As far as I can see, the only option would be to provide some PC routine, 
>> with a unauthorized stub that can call the authorized running PC 'backend', 
>> but I'm not even sure if that would be a proper way to use a PC routine (let 
>> alone the fact if I would ever manage to - securely - create one).
>> 
>> Kind regards,
>> Erik.
>> 
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to