Como posso permitir que usuários regulares do banco de dados Amazon Redshift visualizem dados em tabelas do sistema de outros usuários do cluster?

2 minuto de leitura
0

Não consigo visualizar dados gerados por outros usuários em tabelas do sistema no cluster do Amazon Redshift. Como posso visualizar as tabelas?

Breve descrição

Por padrão, os usuários regulares do Amazon Redshift não têm permissão para visualizar dados de outros usuários. Apenas os superusuários do banco de dados Amazon Redshift têm permissão para visualizar todos os bancos de dados.

Solução

Você pode adicionar o parâmetro SYSLOG ACCESS com acesso UNRESTRICTED para que o usuário regular visualize dados gerados por outros usuários em tabelas do sistema.

Observação: os usuários regulares com SYSLOG ACCESS não podem visualizar tabelas de superusuários. Apenas os superusuários podem visualizar as tabelas de outros superusuários.

1.    Conecte-se ao banco de dados do Amazon Redshift como superusuário.

2.    Execute o comando SQL ALTER USER, semelhante ao seguinte:

test=# ALTER USER testuser WITH SYSLOG ACCESS UNRESTRICTED;
ALTER USER

Observação: os privilégios necessários para ALTER USER são superusuário, usuários com o privilégio ALTER USER e usuários que desejam alterar suas próprias senhas.

O usuário regular agora tem SYSLOG ACCESS com acesso UNRESTRICTED.

3.    Desconecte-se do banco de dados Amazon Redshift como o superusuário.

4.    Conecte-se ao banco de dados Amazon Redshift como usuário regular que tem SYSLOG ACCESS com acesso IRRESTRITO.

5.    Teste o acesso dos usuários regulares executando um comando SQL, semelhante ao seguinte:

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

Na saída do exemplo, observe que o usuário comum agora tem acesso para visualizar a tabela de outros usuários.


AWS OFICIAL
AWS OFICIALAtualizada há um ano