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?
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.
Conteúdo relevante
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos