Quando o Hologres consulta dados do MaxCompute por meio de uma tabela externa, ele utiliza as credenciais do MaxCompute do usuário RAM. Se esse usuário RAM não tiver as permissões necessárias no projeto do MaxCompute, o Hologres retorna um erro de permissão. A maioria dos erros nesta página compartilha a mesma causa raiz: o usuário RAM não recebeu o privilégio necessário no projeto ou na tabela do MaxCompute.
Erros ao consultar dados do MaxCompute
odps:Select negado ao consultar uma tabela do MaxCompute
You have NO privilege 'odps:Select' on <project_name>.<table_name>
O usuário RAM não possui o privilégio SELECT na tabela do MaxCompute. Solicite ao administrador do projeto do MaxCompute que conceda acesso SELECT ao usuário RAM. Para mais detalhes, consulte Permissões do MaxCompute.
odps:Select negado ao consultar entre projetos do MaxCompute
You have NO privilege 'odps:Select' on <project_name>.<table_name>
Esse erro ocorre quando seu usuário RAM acessa uma tabela no Projeto 2 a partir de uma consulta executada no Projeto 1, e o acesso ao Projeto 2 foi concedido via autorização baseada em pacotes, e não por associação direta ao projeto.
Adicione a seguinte instrução SET antes da sua consulta SQL no Hologres. Escolha a instrução correspondente à versão da sua instância do Hologres.
Para Hologres V0.7:
SET seahawks.seahawks_internal_current_odps_project = 'holoprojectname';
Para Hologres V0.8:
SET hg_experimental_odps_current_project_name = 'holoprojectname';
Substitua holoprojectname pelo nome do projeto do MaxCompute que contém a tabela que você deseja consultar.
Incompatibilidade de rótulo de segurança no nível da coluna
The sensitive label of column '<column_name>' is 2, but your effective label is 0
O usuário RAM tem acesso à tabela, mas não a todas as colunas. A segurança no nível da coluna do MaxCompute restringe o acesso a colunas cujo rótulo de sensibilidade excede o rótulo efetivo do usuário RAM.
Utilize uma das seguintes abordagens:
Solicite ao administrador do MaxCompute que conceda ao usuário RAM acesso a todas as colunas necessárias. Para mais detalhes, consulte Permissões do MaxCompute.
-
Adicione os seguintes parâmetros antes da sua instrução de consulta:
Nota: Esta opção requer Hologres V0.8 ou posterior. Para atualizar sua instância, entre em contato com o suporte técnico do Hologres .
SET hg_experimental_enable_odps_executor = on; SET hg_experimental_enable_query_master = on;
Erros ao criar uma tabela externa
odps:List negado ao criar uma tabela externa
You have NO privilege 'odps:List' on <project_name>
O usuário RAM não possui o privilégio LIST no projeto do MaxCompute. O HoloWeb e o HoloStudio exigem esse privilégio para navegar e selecionar tabelas ao criar uma tabela externa pelo console.
Adote uma das seguintes soluções:
Peça ao administrador do MaxCompute para conceder o privilégio LIST ao usuário RAM no projeto. Para mais informações, consulte Permissões do MaxCompute.
Crie a tabela externa usando uma instrução SQL em vez do console. Isso contorna a necessidade do privilégio LIST. Para mais detalhes, consulte Criar uma tabela externa para acelerar consultas de dados do MaxCompute.
Endereço IP não está na lista de permissões do projeto do MaxCompute
Access denied by project ip white list: sourceIP:'<source_ip>' is not in white list. project: <project_name>
O projeto do MaxCompute possui uma lista de permissões de IP configurada, e o endereço IP do HoloWeb não está incluído. Mesmo com credenciais válidas, todas as solicitações provenientes de endereços IP não listados são negadas.
Adicione o endereço IP exibido na mensagem de erro à lista de permissões de IP do projeto do MaxCompute. Para mais detalhes, consulte Definir listas de permissões de endereços IP.
Usuário RAM não é membro do projeto do MaxCompute
You don't exist in project <project_name>
Primeiro, verifique se o nome do projeto do MaxCompute na definição da sua tabela externa está grafado corretamente. Caso o nome esteja incorreto, atualize-o para o valor certo.
Se o nome do projeto estiver correto, mas o erro persistir, significa que o usuário RAM não foi adicionado a esse projeto do MaxCompute. Solicite ao administrador do MaxCompute que adicione o usuário RAM. Para mais detalhes, consulte Permissões.