If you validate an entire table in your database, having read access is sufficient.
However, if you validate the result set of a query, Great Expectations stores the result in a temporary table and then issues multiple queried against that temp table in order to compute the metrics and to decide if the data meets expectations.
Same logic applies when you create an Expectation Suite using the CLI’s
suite new and
suite scaffold commands - it depends whether you use an entire table or the result set of a query as a data sample that Great Expectations will analyze in order to create the suite. In the second case your permissions to the database must be high enough to allow you to create a temp table.