Hi Matthu,
Maybe you can use ‘Web Roles’ and ‘web page access control rules’ to achieve it.
1.create a custom web role and assign contacts you need.
A contact can be assigned a web role. A web role is very similar to a CDS security role that we would assign to a user.
For the most part, you would assign a contact to the web role much like a CDS user is assigned a security role for specific privileges.

Once the Web Role is created, it can be assigned to the Contact record.

2.Web Page Access Control Rule.
https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/webpage-access-control#webpage-access-control-rules
The web page access control rule can be set to levels or privileges, “restrict read” which basically means any portal contact with a web role linked to the web page access control rule can “read” the web page on a portal. The other is “Grant Change” which means that users have the ability to modify any of the editable static content (content snippets, page title, page copy, etc) from the legacy front side editing tools, if they have the content editor permissions.
When you create a ‘restrict read’ rule for a page, the page is blocked for all. And then you have to assign web roles to this rule to explicitly make this page available to users in that web role.

Once the Web Page Access Control Rule is created, then assign specific Web Role(s).

For more information, you can refer following link:
PowerApps Portals: How to Hide or Show Content based on Logged in User – ReadyXRM
Regards,
Leah Ju
Please mark as verified if the answer is helpful. Welcome to join hot discussions in Dynamics 365 Forums.