Overview
In this section, we cover the required permissions to be able to access the data and objects in the MSDB database.
Explanation
Who has access to the MSDB database and are there different levels of permissions?
MSDB becomes available to any user with public-level access to the instance. However, the list of available tables is limited and read-only.

The entire list of tables is made available with membership in db_datareader, db_owner, or the sysadmin fixed role. Write-level permissions to these tables are granted with db_datawriter, db_owner, or the sysadmin fixed role. Note that only sysadmin membership gives a user access to the SQL Server Agent GUI for jobs they do not own, but they will be able to modify the underlying tables directly with these database-level permissions.