Add a new layout not based on that table to which all users have access. Use a button on this layout to take them to the data layout and which also performs a find for their record.
Set up a script that runs when the file is opened. (See File Options.) Set up this script to find records. It can be as simple as:
Enter find Mode 
Set Field [YourTable::PrimaryKey ; "*"]
This searches a field that should never be empty to find all records that are not empty--finding all records--but then record access restrictions kick in and filter out all records except the record or records that they are permitted to see.
The latter option you offered works like a charm. Thank you very much!