Todos os produtos
Search
Central de documentação

MaxCompute:Conceder permissões a outros usuários em um projeto externo

Última atualização: Jun 26, 2026

As tabelas de um projeto externo pertencem à conta Alibaba Cloud que criou o projeto. Para permitir que outros usuários consultem ou modifiquem essas tabelas, adicione-os ao projeto externo e conceda as permissões explicitamente.

Observações de uso

Quando a solução de data lakehouse está ativada no MaxCompute, o serviço não persiste metadados na source de dados. O gerenciamento das políticas ocorre com base nos nomes dos objetos dessa source. Se o nome de um objeto for alterado, suas permissões tornar-se-ão inválidas. Nesse caso, execute Revoke ou exclua a política para removê-las. Caso você não limpe as permissões antigas antes da criação de um novo objeto com o mesmo nome, esse novo objeto herdará tais permissões, o que pode resultar em acessos indesejados.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Criado um projeto externo

  • O nome da conta Alibaba Cloud do usuário de destino (formato: ALIYUN$<account_name>)

  • (Opcional) Se estiver concedendo acesso a um usuário RAM, o projeto externo deve ter o suporte a RAM ativado

Para consultar os usuários existentes no projeto, execute list users; no cliente MaxCompute (odpscmd).

Para conceder acesso a outras contas Alibaba Cloud ou usuários RAM, siga os padrões de segurança do MaxCompute. Para mais detalhes, consulte Visão geral de permissões .

Conceder acesso a um usuário em um projeto externo

O fluxo de autorização abrange dois projetos: o projeto externo (onde você adiciona o usuário e concede permissões de tabela) e o projeto principal (onde você concede permissões para execução de jobs). A tabela abaixo resume todas as etapas necessárias antes de iniciar.

Etapa

Projeto

Finalidade

Comando SQL

1

Projeto externo

Alternar contexto

use <external_project_name>;

2 (Opcional)

Projeto externo

Ativar suporte a usuário RAM

add accountprovider ram;

3 (Opcional)

Projeto externo

Habilitar tipos de dados compatíveis com Hive

set odps.sql.hive.compatible=true;

4

Projeto externo

Adicionar usuário ao projeto

add user <Alibaba Cloud account>;

5

Projeto externo

Conceder permissão para listar tabelas

grant List on project external_project to USER <Alibaba Cloud account>;

6

Projeto externo

Conceder permissões em uma tabela

grant All on table <table_name> to user <Alibaba Cloud account>;

7

Projeto principal

Alternar contexto

use <main_project_name>;

8

Projeto principal

Conceder permissão para executar jobs

grant CreateInstance on project <main_project_name> to user <Alibaba Cloud account>;

Etapa 1: Alternar para o projeto externo

use <external_project_name>;

Etapa 2: (Opcional) Ativar suporte a RAM

Execute esta etapa apenas se o usuário adicionado for um usuário RAM.

add accountprovider ram;

Etapa 3: (Opcional) Habilitar tipos de dados compatíveis com Hive

Execute esta etapa somente quando o projeto externo utilizar uma source de dados externa Hadoop.

set odps.sql.hive.compatible=true;

Etapa 4: Adicionar o usuário ao projeto

add user <Alibaba Cloud account>;

Substitua <Alibaba Cloud account> pelo nome da conta no formato ALIYUN$<account_name>.

Etapa 5: Conceder permissão para listar tabelas

grant List on project external_project to USER <Alibaba Cloud account>;

Essa ação permite que o usuário visualize as tabelas existentes no projeto externo.

Etapa 6: Conceder permissões em uma tabela

grant All on table <table_name> to user <Alibaba Cloud account>;

Substitua <table_name> pelo nome da tabela a ser compartilhada.

Etapa 7: Alternar para o projeto principal

use <main_project_name>;

Etapa 8: Conceder permissão para executar jobs

grant CreateInstance on project <main_project_name> to user <Alibaba Cloud account>;

Próximos passos

Após a concessão de acesso, o usuário poderá consultar e atualizar dados das tabelas no projeto externo por meio de SQL. Para obter a lista completa de operações suportadas, consulte Usar instruções SQL para gerenciar um projeto externo.