Create and grant access to Protecto user

A user needs to be created (protecto_user) and access to certain tables need to be given for extracting the Redshift data source metadata.

User needs to have read access to the below tables:

1) To take Table details:

  • information_schema.tables

  • svv_tables

  • svv_table_info

2) To take Log details:

  • stl_query

  • svl_user_info

3) To take User details:

  • pg_user

4) To take Group details:

  • pg_group

5) To take User access privilege details:

  • pg_tables

  • pg_internal

  • pg_views

6) To take Schema details:

  • pg_catalog.pg_namespace

  • pg_catalog.pg_user

Reference queries:

CREATE USER protecto_user WITH PASSWORD '<password>';

GRANT USAGE ON SCHEMA information_schema TO protecto_user;

GRANT SELECT ON information_schema.tables TO protecto_user;

GRANT SELECT ON svv_tables TO protecto_user;

GRANT SELECT ON svv_table_info TO protecto_user;

GRANT SELECT ON stl_query TO protecto_user;

GRANT SELECT ON svl_user_info TO protecto_user;

GRANT SELECT ON pg_user TO protecto_user;

GRANT SELECT ON pg_group TO protecto_user;

GRANT SELECT ON pg_tables TO protecto_user;

GRANT USAGE ON SCHEMA pg_internal TO protecto_user;

GRANT SELECT ON pg_views TO protecto_user;

GRANT SELECT ON pg_catalog.pg_namespace TO protecto_user;

GRANT SELECT ON pg_catalog.pg_user TO protecto_user;

ALTER USER protecto_user WITH SYSLOG ACCESS UNRESTRICTED;

List of accesses needed for tables:

  • Grant "SELECT" and "USAGE" privilege for all schemas and tables in the database for protecto_user.

Reference queries:

GRANT USAGE ON SCHEMA <schema_name> TO protecto_user;

GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO protecto_user;

Note:

  • The above commands should be executed on all the future schemas and tables on which Protecto should analyze.

  • Once select access is given, if any new table is added in future, the select access should be given for all newly added tables to perform scanning.

Last updated