Difference between revisions of "Amazon Redshift: GRANT"

From wikieduonline
Jump to navigation Jump to search
Line 19: Line 19:
 
     has_schema_privilege(u.usename,s.schemaname,'usage') AS user_has_usage_permission
 
     has_schema_privilege(u.usename,s.schemaname,'usage') AS user_has_usage_permission
 
FROM
 
FROM
     pg_user u
+
     [[pg_user]] u
 
CROSS JOIN
 
CROSS JOIN
 
     (SELECT DISTINCT schemaname FROM pg_tables) s
 
     (SELECT DISTINCT schemaname FROM pg_tables) s

Revision as of 10:51, 12 November 2021

GRANT USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema}
    TO { username | GROUP group_name | PUBLIC } [, ...]


Schema level permissions

  • USAGE: Allows users to access objects in the schema. User still needs specific table-level permissions for each table within the schema
  • CREATE: Allows users to create objects within a schema using CREATE statement

Show permissions

has_table_privilege
SELECT
    u.usename,
    s.schemaname,
    has_schema_privilege(u.usename,s.schemaname,'create') AS user_has_select_permission,
    has_schema_privilege(u.usename,s.schemaname,'usage') AS user_has_usage_permission
FROM
    [[pg_user]] u
CROSS JOIN
    (SELECT DISTINCT schemaname FROM pg_tables) s
WHERE
    u.usename = 'myUserName'
    AND s.schemaname = 'mySchemaName'
;

Ref: https://chartio.com/learn/amazon-redshift/how-to-view-permissions-in-amazon-redshift/

See also

Advertising: