Out of the box, Jira comes with several levels of permissions, starting at the system level and going down to the issue level, allowing you to control who should have access to issues. While this is usually sufficient, you will find yourself needing to apply permissions to individual fields. For example, you may want a field such as Description to be read-only for everyone, but only editable by a select group of users.
One option is to create your own custom field types, as described in the later recipe, and code the permission requirement as part of the field, but this approach requires programming and cannot be applied to fields that are not created by you.
In this recipe, we will look at an option to apply field-level permissions to both system fields and custom fields.