Great question. I have this on my list of unanswered as well...
Basically: Can you have multiple Connections per SQL Connector? For general "Roles" in SQL I create a User, a Role, assign Permissions to the Role, then assign the User to the Role. I then use the Users credentials for the PowerApps SQL Connection. This only results in 1 permission level though.
Example:
--Create Contained DB User
CREATE USER powerAppsUser with password = 'superHardPassword'
--Create Role
CREATE ROLE powerApps
--Grant Role the minimal SQL read/write Permissions
EXEC sp_addrolemember N'db_datareader', N'powerAppsUser'
GO
EXEC sp_addrolemember N'db_datawriter', N'powerAppsUser'
GO
--Add User to Role
ALTER ROLE powerApps ADD MEMBER powerAppsUser;
I then Add Data Source and sign into the SQL Connection using these credentials. But this creates only a
single User/Permission level. Maybe in SQL you could give this user access to ONLY certain tables? Then create another User with permissions to other tables and created another SQL Connection (Add Data Source/Login with this other users creds).
How can we choose which connection the user has access to? Views?