How do you identify which user can edit it? Do you have a relationship that contains or uses a "user" field?
If so you can make formula checkbox to control the logic of who can access it. Or do it directly in the form rule.
The formula logic would be;
If([User Assigned]=User(), true, false)
Then you shouldn't have to restrict the access by roles, but it will be users (always)