No puedo ver los datos generados por otros usuarios en las tablas del sistema de mi clúster de Amazon Redshift. ¿Cómo puedo ver las tablas?
Descripción corta
De forma predeterminada, los usuarios normales de Amazon Redshift no tienen permiso para ver los datos de otros usuarios. Solo los superusuarios de bases de datos de Amazon Redshift tienen permiso para ver todas las bases de datos.
Resolución
Puede agregar el parámetro SYSLOG ACCESS con acceso UNRESTRICTED para que el usuario normal vea los datos generados por otros usuarios en las tablas del sistema.
Nota: Los usuarios normales con SYSLOG ACCESS no pueden ver las tablas de los superusuarios. Solo los superusuarios pueden ver las tablas de otros superusuarios.
1. Conéctese a la base de datos de Amazon Redshift como superusuario.
2. Ejecute el comando SQL ALTER USER de forma similar a la siguiente:
test=# ALTER USER testuser WITH SYSLOG ACCESS UNRESTRICTED;
ALTER USER
Nota: Los privilegios necesarios para ALTER USER son los de superusuario, usuarios con el privilegio ALTER USER y usuarios que quieren cambiar sus propias contraseñas.
El usuario normal ahora tiene SYSLOG ACCESS con acceso UNRESTRICTED.
3. Desconéctese de la base de datos de Amazon Redshift como superusuario.
4. Conéctese a la base de datos de Amazon Redshift como usuario normal que tiene SYSLOG ACCESS con acceso UNRESTRICTED.
5. Para probar el acceso de los usuarios normales, ejecute un comando SQL de forma similar a la siguiente:
test=> select * from stv_inflight;
-[ RECORD 1 ]--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
userid | 100
slice | 12811
query | 3036
label | default
xid | 35079530
pid | 1073746910
starttime | 2022-09-15 07:09:15.894317
text | select * from my_schema.dw_lu_tiers_test a, my_schema.dw_lu_tiers_test;
suspended | 0
insert_pristine | 0
concurrency_scaling_status | 0
-[ RECORD 2 ]--------------+---------------------------------------------------------------------------------------------------------------------------------------------------
userid | 181
slice | 12811
query | 3038
label | default
xid | 35079531
pid | 1073877909
starttime | 2022-09-15 07:09:17.694285
text | select * from stv_inflight;
suspended | 0
insert_pristine | 0
concurrency_scaling_status | 0
En la salida de ejemplo, observe que el usuario normal ahora tiene acceso para ver la tabla de otros usuarios.