It's easy to make an item read-only based on a predefined Authorization Scheme.
1 - Edit the item and click on the "Read Only" tab
2 - Select "PL/SQL Function Body Returning a Boolean"
3 - Insert the following PL/SQL code into the condition box :
if APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION('MY_AUTH_SCHEME') then
return false;
else
return true;
end if;