Para colaborar em um projeto do MaxCompute, adicione ao projeto os usuários que não são proprietários e conceda permissões para trabalhar com tabelas, recursos, funções ou jobs. Este tópico explica o gerenciamento de usuários no MaxCompute.
Contexto
Após criar um projeto do MaxCompute, apenas o proprietário ou usuários com uma função integrada do MaxCompute podem acessá-lo. Para permitir a colaboração de outros usuários, o proprietário deve adicioná-los ao projeto.
O MaxCompute oferece suporte aos seguintes tipos de usuário e operações.
|
Categoria |
Tipo de usuário |
Ações |
Descrição |
Executado por |
Entrada da operação |
|
nível de projeto |
Conta Alibaba Cloud |
Adiciona outra conta Alibaba Cloud a um projeto do MaxCompute. |
O proprietário do projeto ou um usuário com uma função integrada do MaxCompute. |
||
|
Remove uma conta Alibaba Cloud do projeto do MaxCompute. |
|||||
|
Usuário RAM |
Adiciona um usuário RAM ao projeto a partir de sua conta Alibaba Cloud proprietária. |
||||
|
Remove um usuário RAM do projeto do MaxCompute. |
|||||
|
Função RAM |
Adiciona ao projeto do MaxCompute uma função RAM criada no console do Resource Access Management (RAM). |
||||
|
Remove uma função RAM do projeto do MaxCompute. |
|||||
|
Lista os usuários no projeto do MaxCompute. |
|||||
Adicionar um usuário de conta Alibaba Cloud (nível de projeto)
Para autorizar outra conta Alibaba Cloud, o proprietário do projeto deve primeiro adicioná-la ao projeto.
-
Sintaxe
add user ALIYUN$<account_id>; -
Parâmetros
Parâmetro
Obrigatório
Descrição
account_id
Sim
O valor deste parâmetro depende da configuração Use account ID do seu locatário. Se estiver ativada, forneça o ID da conta. Caso contrário, forneça o nome de login. Por exemplo, para uma conta com o nome de login
odps_test_user@aliyun.com, o ID da conta é5527xxxxxxxx5788. -
Exemplo
Este exemplo adiciona a conta Alibaba Cloud
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788) ao projeto test_project_a.Se Use account ID estiver ativado
add user ALIYUN$5527xxxxxxxx5788;Se Use account ID estiver desativado
add user ALIYUN$odps_test_user@aliyun.com;
Remover uma conta Alibaba Cloud (nível de projeto)
Se um usuário não precisar mais acessar um projeto do MaxCompute, remova-o do projeto. Após a remoção, o usuário perde todas as permissões de acesso aos recursos desse projeto.
-
Sintaxe
remove user ALIYUN$<account_id>; -
Notas de uso
Antes de remover um usuário com funções atribuídas, revogue todas as funções dele. Para obter mais informações sobre como visualizar as funções atribuídas a um usuário, consulte Visualizar informações de permissão. Para obter mais informações sobre como revogar funções, consulte Revogar funções de um usuário.
Quando um usuário é removido, suas permissões são retidas. Se o usuário for adicionado novamente ao projeto posteriormente, suas permissões anteriores serão restauradas automaticamente. Para limpar permanentemente as permissões de um usuário, consulte Limpar permissões residuais de um usuário removido.
-
Parâmetros
Parâmetro
Obrigatório
Descrição
account_id
Sim
A conta Alibaba Cloud. Use o ID da conta se a propriedade do locatário Use Account ID estiver ativada; caso contrário, use o nome de login. Exemplos:
5527xxxxxxxx5788ouodps_test_user@aliyun.com.Execute o comando
list users;no cliente do MaxCompute para encontrar o identificador da conta. -
Exemplos
-
Exemplo 1: Remover a conta Alibaba Cloud
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788) do projetotest_project_a. Este exemplo pressupõe que nenhuma função esteja atribuída à conta.Se Use Account ID estiver ativado
remove user ALIYUN$5527xxxxxxxx5788;Se Use Account ID estiver desativado
remove user ALIYUN$odps_test_user@aliyun.com; -
Exemplo 2: Remover a conta Alibaba Cloud
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788) do projetotest_project_a. Este exemplo pressupõe que a conta tenha a funçãoWorker.Se Use Account ID estiver ativado
-- Revoke the role from the user. revoke Worker from ALIYUN$5527xxxxxxxx5788; -- Remove the user. remove user ALIYUN$5527xxxxxxxx5788;Se Use Account ID estiver desativado
-- Revoke the role from the user. revoke Worker from ALIYUN$odps_test_user@aliyun.com; -- Remove the user. remove user ALIYUN$odps_test_user@aliyun.com;
-
Adicionar um usuário RAM (nível de projeto)
Para conceder autorização a um usuário RAM, o proprietário do projeto deve primeiro adicioná-lo ao projeto.
-
Sintaxe
add user RAM$[<account_id>:]<RAM_user_UID>; -
Limitações
Adicione apenas usuários RAM da sua conta Alibaba Cloud a um projeto. Para adicionar um usuário RAM de outra conta Alibaba Cloud, adicione primeiro a conta Alibaba Cloud proprietária do usuário RAM ao seu projeto. Em seguida, o proprietário dessa conta pode fazer login no projeto do MaxCompute e adicionar o usuário RAM.
Antes de adicionar um usuário RAM a um projeto do MaxCompute, verifique se o projeto suporta o sistema de contas RAM executando o comando
list accountproviders;. SeRAMnão aparecer na saída do comando, execute o comandoadd accountprovider ram;para ativar o sistema de contas RAM para o projeto.Quando um usuário é removido, suas permissões são retidas. Se o usuário for adicionado novamente ao projeto posteriormente, suas permissões anteriores serão restauradas automaticamente. Para limpar permanentemente as permissões de um usuário, consulte Limpar permissões residuais de um usuário removido.
-
Notas de uso
O MaxCompute usa o sistema de contas RAM para identidade, mas ignora o sistema de permissões RAM. Portanto, quando uma conta Alibaba Cloud adiciona seus usuários RAM a um projeto do MaxCompute, o MaxCompute não aplica as permissões definidas para esses usuários no RAM.
-
Parâmetros
Parâmetro
Obrigatório
Descrição
account_id
Não
A conta Alibaba Cloud à qual o usuário RAM pertence. Se a propriedade do locatário Use Account ID estiver ativada, use o ID da conta. Caso contrário, use o nome de login. Por exemplo,
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788).RAM_user_UID
Sim
O UID do usuário RAM.
Para obter o UID, faça login no console do RAM. No painel de navegação à esquerda, escolha e clique no usuário alvo. Encontre o UID na seção Basic Information.
-
Exemplo
Este exemplo adiciona o usuário RAM
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649) ao projetotest_project_a.Se Use Account ID estiver ativado
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;Se Use Account ID estiver desativado
add user RAM$odps_test_user@aliyun.com:ram_test;
Remover um usuário RAM (nível de projeto)
Quando um usuário RAM não fizer mais parte de um projeto do MaxCompute, remova-o do projeto. Após a remoção, o usuário perde todas as permissões de acesso a qualquer recurso desse projeto.
-
Sintaxe
remove user RAM$[<account_id>:]<ram_user_uid>; -
Notas de uso
Revogue quaisquer funções atribuídas antes de remover um usuário RAM. Caso contrário, informações residuais do usuário permanecerão no projeto. O usuário aparecerá então como
p4_xxxxxxxxxxxxxxxxxxxxe não poderá ser removido. No entanto, isso não afeta as operações normais do projeto. Para obter mais informações sobre como visualizar as funções atribuídas a um usuário, consulte Visualizar informações de permissão. Para obter mais informações sobre como revogar uma função, consulte Revogar uma função de um usuário.Quando um usuário é removido, suas permissões são retidas. Se o usuário for adicionado novamente ao projeto posteriormente, suas permissões anteriores serão restauradas automaticamente. Para limpar permanentemente as permissões de um usuário, consulte Limpar permissões residuais de um usuário removido.
-
Parâmetros
Parâmetro
Obrigatório
Descrição
account_id
Não
A conta Alibaba Cloud à qual o usuário RAM pertence. Se a propriedade do locatário Use Account ID estiver ativada, use o ID da conta. Caso contrário, use o nome de login. Por exemplo,
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788).RAM_user_UID
Sim
O UID do usuário RAM.
Para obter o UID, faça login no console do RAM. No painel de navegação à esquerda, escolha e clique no usuário alvo. Encontre o UID na seção Basic Information.
-
Exemplos
-
Exemplo 1: Remover o usuário RAM
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649) do projetotest_project_a. Este exemplo pressupõe que o usuário RAM não tenha funções atribuídas.Se Use account IDs estiver ativado
remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;Se Use account IDs estiver desativado
remove user RAM$odps_test_user@aliyun.com:ram_test; -
Exemplo 2: Remover o usuário RAM
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649) do projetotest_project_a. Este exemplo pressupõe que o usuário RAM tenha a funçãoWorker.Se Use account IDs estiver ativado
-- Revoke the role from the user. revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649; -- Remove the user. remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649; -- If RAM users are no longer needed, remove the RAM account provider. remove accountprovider ram;Se Use account IDs estiver desativado
-- Revoke the role from the user. revoke Worker from RAM$odps_test_user@aliyun.com:ram_test; -- Remove the user. remove user RAM$odps_test_user@aliyun.com:ram_test; -- If RAM users are no longer needed, remove the RAM account provider. remove accountprovider ram;
-
Adicionar uma função RAM (nível de projeto)
Crie uma função RAM e modifique sua política no console do RAM e, em seguida, adicione-a a um projeto do MaxCompute. Os usuários RAM no projeto podem então assumir essa função para realizar operações.
Diferentemente das funções descritas em Planejamento de funções, que são específicas de um projeto do MaxCompute, uma função RAM é uma identidade de nível de plataforma gerenciada no Resource Access Management (RAM). Para obter mais informações sobre o uso de funções RAM, consulte Assumir uma função RAM.
-
Formato do comando
add user `RAM$<account_id>:role/<RAM role name>`; -
Notas de uso
Os acentos graves (
) no comando são obrigatórios. -
Parâmetros
Parâmetro
Obrigatório
Descrição
account_id
Sim
A conta Alibaba Cloud proprietária da função RAM. O valor deste parâmetro depende se a propriedade do locatário Use account ID está ativada. Se esta propriedade estiver ativada, forneça o ID da conta. Caso contrário, forneça o nome de login. Por exemplo,
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788).RAM role name
Sim
O nome da função RAM.
Faça login no console do RAM. No painel de navegação à esquerda, escolha . O nome da função RAM é exibido na página Roles.
-
Exemplo
Adicione a função RAM
ram_roleao projetotest_project_a:Se Use account ID estiver ativado
add user `RAM$5527xxxxxxxx5788:role/ram_role`;Se Use account ID estiver desativado
add user `RAM$odps_test_user@aliyun.com:role/ram_role`;
-
Operações relacionadas
Se você planeja usar esta função para operações no DataWorks, também deve atualizar sua política para conceder permissão de acesso ao serviço DataWorks. Isso permite que o DataWorks envie jobs agendados periodicamente para o MaxCompute.
Remover uma função RAM (nível de projeto)
Remove uma função RAM de um projeto do MaxCompute.
-
Sintaxe
remove user `RAM$<account_id>:role/<RAM_role_name>`; -
Notas de uso
Os acentos graves (
) no comando são obrigatórios. -
Parâmetros
Parâmetro
Obrigatório
Descrição
account_id
Sim
A conta Alibaba Cloud proprietária da função RAM. O valor deste parâmetro depende se a propriedade do locatário Use account ID está ativada. Se esta propriedade estiver ativada, forneça o ID da conta. Caso contrário, forneça o nome de login. Por exemplo,
odps_test_user@aliyun.com(ID da conta:5527xxxxxxxx5788).RAM role name
Sim
O nome da função RAM.
Faça login no console do RAM. No painel de navegação à esquerda, escolha . O nome da função RAM é exibido na página Roles.
-
Exemplo
Este exemplo remove a função RAM
ram_roledo projetotest_project_a.Se Use account ID estiver ativado
remove user `RAM$5527xxxxxxxx5788:role/ram_role`;Se Use account ID estiver desativado
remove user `RAM$odps_test_user@aliyun.com:role/ram_role`;
Lista de usuários (nível de projeto)
Lista os usuários em um projeto do MaxCompute.
-
Sintaxe
list users; -
Exemplo
Este comando lista os usuários em um projeto do MaxCompute.
list users;O comando retorna a seguinte saída.
Quando os IDs de conta estão ativados
ALIYUN$5527xxxxxxxx5788 RAM$5527xxxxxxxxxx1649 RAM$5527xxxxxxxx5788:role/ram_roleQuando os IDs de conta estão desativados
ALIYUN$odps_test_user@aliyun.com RAM$odps_test_user@aliyun.com:ram_test RAM$odps_test_user@aliyun.com:role/ram_role
Próximas etapas
Após concluir o planejamento de usuários, conceda permissões: Gerenciar permissões de usuário usando comandos.