I have a non-sysadmin user whose ID (Windows login) is set as owner on a set of SQL Agent jobs. The user also has the SQLAgentReader role in MSDB. The user can see the Agent node in SSMS, can view their jobs, see the job history for their job, manually start their jobs. However, they cannot EDIT their job steps to make updates when needed. They receive the error message 'EXECUTE permission denied on object sp_update_jobstep'. I even granted their ID explicit EXECUTE permission on the three job update stored procedures in MSDB: sp_update_job, sp_update_jobstep, sp_update_jobschedule, yet they still cannot make updates to the job step. They still receive the EXECUTE permission denied error even after the permission updates and restarting SSMS.
I do not want to make them a member of the SQLAgentOperator role, as it has too much access to other jobs, and will not consider granting them sysadmin role. Is there any other way to allow them to update steps in the jobs in which they are the job owner?