How to implement security model?
The table you created as sys is created in the "sys" schema.

SELECT by default accesses the schema of the caller, so in your case, as SELECT is run as "account", it tries to access table "pay" in schema "account".

You'll need to either use a schema-prefixed query:

SELECT * FROM sys.pay


Or first create a synonym in "account" schema (as sys):

CREATE SYNONYM account.pay FOR sys.pay;


You could also use public synonyms, but I would rather not recommend them.