Todos os produtos
Search
Central de documentação

MaxCompute:Perguntas frequentes sobre gerenciamento de permissões

Última atualização: Jul 20, 2026

Perguntas frequentes sobre o gerenciamento de permissões no MaxCompute.

Categoria

Perguntas frequentes

Soluções de autorização

Concessão de permissões a usuários

Erros de permissão

Como ler dados entre projetos?

Utilize pacotes para compartilhar dados e recursos entre projetos. O administrador do projeto empacota os objetos necessários e concede permissões sobre eles. Outros projetos instalam o pacote, e seus administradores podem então gerenciá-lo e conceder permissões aos usuários dentro de seus próprios projetos.

Para mais informações, consulte Access resources across projects based on packages e Permission control for packages.

É possível alterar o proprietário de um projeto MaxCompute para um usuário RAM?

Não. O criador do projeto é permanentemente o proprietário, e a propriedade não pode ser transferida. No entanto, o proprietário do projeto pode conceder a função Admin a um usuário RAM.

Quais são as limitações da função Admin em comparação ao proprietário do projeto?

Em comparação ao proprietário do projeto, um usuário com a função Admin não pode executar as seguintes operações:

  • Atribuir a função Admin a outros usuários.

  • Modifique a configuração de segurança do projeto.

  • Modifique o modelo de autorização do projeto.

  • Modifique as permissões da função Admin.

Ao solicitar permissões em uma tabela de ambiente de produção para um usuário RAM, a autorização falha. Como resolver esse problema?

  • Sintoma

    Ao usar uma conta Alibaba Cloud para conceder permissões em uma tabela do ambiente de produção a um usuário RAM, o seguinte erro é retornado.

    class java.lang.IllegalArgumentException: AccessId should not be empty.
  • Causa

    O AccessKey ID e o AccessKey Secret da conta Alibaba Cloud ou do usuário RAM não estão configurados.

  • Solução

    Faça login no RAM console usando sua conta Alibaba Cloud ou como usuário RAM. Verifique se o AccessKey ID e o AccessKey Secret estão configurados.

Como conceder permissões a um usuário para operar uma tabela?

O proprietário do projeto ou um usuário com a função Super_Administrator ou Admin deve realizar a autorização. Utilize o método de autorização por lista de controle de acesso (ACL) (grant) para conceder ao usuário as permissões necessárias para operar uma tabela. O comando a seguir é um exemplo.

GRANT UPDATE ON TABLE project_name TO ram$bob@aliyun.com:Allen;

Para mais informações sobre autorização, consulte MaxCompute permissions.

Como conceder permissões a um usuário RAM?

A autorização deve ser executada por uma conta Alibaba Cloud ou por um usuário com a função Super_Administrator ou Admin. Para mais informações sobre autorização, consulte MaxCompute permissions.

O que são objetos e ações no gerenciamento de permissões?

A autorização no MaxCompute envolve três elementos:

  • Sujeito: O usuário ou função ao qual as permissões são concedidas.

  • Objeto: O objeto alvo sobre o qual um usuário ou função recebe permissões, como um projeto, tabela, modelo, função, recurso ou instância.

  • Ação: A operação que um usuário ou função tem permissão para executar no objeto alvo, como ler, gravar ou consultar uma tabela.

Para mais informações, consulte ACL-based access control.

Como um usuário RAM pode acessar um projeto criado por outra conta Alibaba Cloud?

Considere que existam duas contas Alibaba Cloud: Conta A e Conta B. A Conta A possui um usuário RAM chamado C (ram_user_1). O Usuário C precisa acessar um projeto MaxCompute criado pela Conta B.

A Conta B deve adicionar a Conta A ao seu projeto e conceder a função Super_Administrator do MaxCompute à Conta A. Em seguida, a Conta A pode fazer login no projeto da Conta B e execute o comando add user ram$A:ram_user_1; para adicionar o Usuário C ao projeto.

Como obter um tenant ID (tenant_id)?

Para definir o escopo dos recursos autorizados no nível de tenant, especifique o tenant na política de acesso. Primeiro, obtenha o tenant ID seguindo estas etapas:

  1. Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, escolha Manage Configurations > Tenants .

  3. Na página Tenants, clique na aba Tenant Property.

  4. Na aba Tenant Property, localize o Tenant ID:.

O erro "FAILED: Invalid account Name xxxxxx" é relatado ao conceder permissões a um usuário. Como resolver esse problema?

  • Sintoma

    Ao conceder permissões a um usuário, o seguinte erro é retornado.

    FAILED: Invalid account Name xxxxxx
  • Causa

    O nome de usuário na instrução de autorização é inválido.

  • Solução

    Verifique se o nome de usuário está correto. Execute o comando list users; para recuperar a lista de usuários do projeto atual e copie o nome de usuário diretamente da lista para evitar erros de ortografia.

O erro "FAILED: lack of account provider, principalName xxxxxx" é relatado ao conceder permissões a um usuário. Como resolver esse problema?

  • Sintoma

    Ao conceder permissões a um usuário, o seguinte erro é retornado.

    FAILED: lack of account provider, principalName xxxxxx
  • Causa

    O nome de usuário na instrução de autorização é inválido ou o sistema de contas do projeto atual não suporta RAM.

  • Solução

    Faça login no MaxCompute client e execute o comando list accountproviders; para verificar se o sistema de contas do projeto suporta RAM. Se a saída não incluir RAM, execute o comando add accountprovider ram; para adicionar suporte ao sistema de contas RAM. Em seguida, execute o comando list accountproviders; novamente para confirme que o RAM é suportado. Se o erro persistir após confirmar que o projeto suporta RAM, verifique se o nome de usuário está correto. Execute o comando list users; para recuperar a lista de usuários do projeto atual. Ao conceder permissões, copie o nome de usuário diretamente da lista para evitar erros causados por ortografia incorreta.

Tenho permissão para consultar uma view no MaxCompute. Por que um erro indicando que outro usuário não tem permissões é relatado quando consulto a view?

  • Sintoma

    A ViewA referencia a Tabela B. O Usuário A tem permissão para consultar a ViewA, mas quando o Usuário A executa a consulta, um erro indica que o proprietário da view (Usuário B) não tem permissão para consultar a Tabela B.

  • Causa

    Se o proprietário da view não tiver a permissão SELECT na tabela referenciada, a view torna-se indisponível. Isso geralmente acontece quando o proprietário da view muda e o novo proprietário não recebe a permissão SELECT na tabela referenciada, ou quando o proprietário da tabela referenciada revoga a permissão SELECT do proprietário da view.

  • Solução

    Verifique se o proprietário da view perdeu a permissão SELECT na tabela referenciada. O comando é o seguinte.

    show grants for <user_name>;  -- user_name is the username of the view owner

    Se a permissão foi perdida, conceda novamente a permissão SELECT na tabela referenciada ao proprietário da view. A view poderá então ser utilizada.

O erro "You have NO privilege to do the restricted operation on xxx Access Mode is AllDenied" é relatado ao executar um job. Como resolver esse problema?

  • Causa

    O projeto está desabilitado.

  • Solução

    • Verifique se sua conta possui pagamentos pendentes ou se o pedido de assinatura da cota de assinatura associada ao projeto expirou. Se houver pagamentos pendentes ou se o pedido tiver expirado, o projeto será restaurado automaticamente para o estado Normal após você adicionar fundos à sua conta ou renovar a assinatura. A restauração pode levar de 2 a 30 minutos, dependendo da quantidade de pedidos e projetos.

    • Caso o projeto não tenha sido desabilitado devido a pagamentos pendentes ou pedido expirado, ele pode ter sido desabilitado manualmente. Retome o projeto na página Projects no MaxCompute console. Para acessar a página, escolha Manage Configurations no painel de navegação à esquerda. .

O erro "failed to check policy format: invalid Action value - odps:<Action>" é relatado ao criar uma função personalizada para o tipo Resource. Como resolver esse problema?

  • Sintoma

    Ao usar o recurso policy authorization para criar uma função chamada test_role para o tipo Resource e conceder a permissão CreatePackage à função, você escreve a seguinte política:

    {
        "Statement":[
            {
                "Action":[
                    "odps:CreatePackage"
                    ],
                    "Effect":"Allow",
                    "Resource":[
                        "acs:odps:*:projects/test_project/authorization",
                        "acs:odps:*:projects/test_project/authorization/packages/*",
                        "acs:odps:*:projects/test_project/authorization/packages/*/*/*" 
                        ]
            }
        ],
        "Version":"1"
    }

    O seguinte erro é retornado.

    Create role test_role error: [400] com.aliyun.odps.OdpsException: failed to check policy format: invalid Action value - odps:CreatePackage
  • Causa

    O MaxCompute não suporta a concessão de permissões de gerenciamento de projeto a uma função do tipo Resource. CreatePackage é uma permissão de gerenciamento de projeto. Para mais informações, consulte List of project management permissions.

  • Solução

    Ao criar uma função personalizada que inclui permissões de gerenciamento de projeto, defina o tipo de função como Admin (tipo de gerenciamento). Para mais informações, consulte Role planning.