While working on Hue, I noticed that we don't use the Oozie option to limit the number of people with the admin role. This is what it is listed in puppet:
# This is not currently working. Disabling # this allows any user to manage any Oozie # job. Since access to our cluster is limited, # this isn't a big deal. But, we should still # figure out why this isn't working and # turn it back on. # I was not able to kill any oozie jobs # with this on, even though the # oozie.service.ProxyUserService.proxyuser.* # settings look like they are properly configured.
The comments refers to oozie.service.AuthorizationService.authorization.enabled, that it is listed in https://oozie.apache.org/docs/4.2.0/AG_Install.html#User_Authorization_Configuration
This means that all users in oozie are admins, so they can kill/restart/etc.. any job. I created https://gerrit.wikimedia.org/r/c/operations/puppet/+/626595 and turned the option on for the Test cluster, and I was able to kill/start/stop jobs via Hue's ui (with my username listed as admin). I also tried to temporary remove my user from the admin list, and I wasn't able to kill jobs running as analytics as expected.
If we want to turn this on (and I am really supportive) we should test other use cases, like when people inside groups like analytics-search, analytics-privatedata, etc.. want to kill/start/restart oozie jobs from their username. For example, an analyst/researcher kicks off an oozie coordinator as the system user analytics-privatedata (via kerberos-run-command on a stat100x host) and then wants to kill the same job in Hue (logged in as their user).
https://oozie.apache.org/docs/4.2.0/AG_Install.html#User_Authorization_Configuration lists the option of using ACLs, but it doesn't explain how. More recent docs. like http://oozie.apache.org/docs/5.2.0/AG_Install.html#Defining_Access_Control_Lists, add more info that we could test.
If I got it correctly, one could set the group.name= option in the oozie's coordinator/bundle .properties file, listing what are the groups allowed to act (stop/kill/etc..) on the job. So if this works, we'd only need to follow up with owners of non Analytics team coordiantor/bundles to add the option to their properties file.
This could be a good task for @razzi to understand the beauty of Oozie and Kerberos :)