Todos os produtos
Search
Central de documentação

MaxCompute:Gerencie permissões de usuário com comandos

Última atualização: Sep 08, 2026

Após adicionar um usuário a um projeto do MaxCompute, conceda as permissões necessárias. O usuário só executa operações no projeto após obter essas permissões. No MaxCompute, conceda permissões aos usuários atribuindo funções ou concedendo-as diretamente. Este tópico descreve a sintaxe de comandos para autorização de usuários e fornece exemplos.

Conceda permissões a um usuário anexando uma função no nível do projeto

O MaxCompute recomenda atribuir funções personalizadas no nível do projeto ou funções administrativas integradas aos usuários. Essa abordagem concede aos usuários as mesmas permissões da função e simplifica o processo de alteração ou revogação de permissões para vários usuários simultaneamente.

Nota

Atribua uma função no nível do projeto MaxCompute a um usuário

Atribua uma função integrada ou personalizada no nível do projeto a um usuário. O usuário herda as permissões dessa função.

  • Formato do comando

    grant <role_name> to <user_name>;
  • Observações

    Vários usuários podem receber a mesma função no nível do projeto. Um único usuário também pode receber múltiplas funções no nível do projeto.

  • Parâmetros

    Nome do parâmetro

    Obrigatório

    Descrição

    role_name

    Sim

    Nome da função a ser atribuída ao usuário.

    Execute o comando list roles; no MaxCompute client para visualizar as informações da função.

    user_name

    Sim

    Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

    Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

  • Exemplos

    Anexe a função no nível do projeto Worker ao usuário Alibaba Cloud ALIYUN$5527xxxxxxxx5788, ao usuário RAM RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649 e à função RAM RAM$5527xxxxxxxx5788:role/ram_role no projeto MaxCompute.

    --Enter the test_project_a project.
    use test_project_a;
    --Assign the role to an Alibaba Cloud account.
    grant Worker to ALIYUN$5527xxxxxxxx5788;
    --Assign the role to a RAM user.
    grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
    --Assign the role to a RAM role.
    grant Worker to `RAM$5527xxxxxxxx5788:role/ram_role`;

Revogue uma função no nível do projeto MaxCompute de um usuário

Desanexe uma função de um usuário. O usuário perde as permissões associadas a essa função.

  • Formato do comando

    revoke <role_name> from <user_name>;
  • Parâmetros

    Nome do parâmetro

    Obrigatório

    Descrição

    role_name

    Sim

    Nome da função a ser revogada.

    Execute o comando list roles; no MaxCompute client para obter o nome da função.

    user_name

    Sim

    Nome do usuário do qual você deseja revogar a função. O formato é:

    Execute o comando list users; no MaxCompute client para obter o nome de usuário.

  • Exemplos

    Revogue a função Worker dos usuários ALIYUN$5527xxxxxxxx5788, RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649 e RAM$5527xxxxxxxx5788:role/ram_role.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the role from the Alibaba Cloud account.
    revoke Worker from ALIYUN$5527xxxxxxxx5788;
    --Revoke the role from the RAM user.
    revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
    --Revoke the role from the RAM role.
    revoke Worker from `RAM$5527xxxxxxxx5788:role/ram_role`;

Cenários comuns de autorização e exemplos de sintaxe

Cenário de autorização

Método de autorização

Autorizador

Ponto de entrada de autorização

Conceder permissões de operação em um objeto a um usuário usando uma função

Primeiro, conceda permissões à função usando Access Control List (ACL)-based access control ou policy-based access control. Em seguida, atribua a função ao usuário.

Consulte a coluna Supported Authorizers no Resumo de permissões.

Revogar permissões de operação em um objeto concedidas a um usuário usando uma função

Conceder a permissão Download a um usuário usando uma função

Primeiro, conceda permissões à função usando download permission control. Em seguida, atribua a função ao usuário.

Revogar a permissão Download concedida a um usuário usando uma função

Conceder permissões de acesso a dados com o mesmo nível alto de sensibilidade a um usuário usando uma função

Primeiro, conceda permissões à função usando label-based access control. Em seguida, atribua a função ao usuário.

Revogar permissões de acesso a dados com o mesmo nível alto de sensibilidade concedidas a um usuário usando uma função

Conceda permissões de operação em um objeto a um usuário usando uma função

Conceda permissões a uma função usando o mecanismo de autorização baseado em ACL ou em política. Depois, atribua a função a vários usuários.

Para mais informações sobre como conceder permissões a uma função, consulte Grant operation permissions on an object to a role.

Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a. Allen, Alice e Tom são usuários RAM de ALIYUN$5527xxxxxxxx5789. Conceda aos três usuários RAM permissões para criar tabelas, modelos, funções e instâncias, além de visualizar a lista de todos os tipos de objetos no projeto. O comando a seguir fornece um exemplo.

--Enter the test_project_a project.
use test_project_a;
--Add Allen, Alice, and Tom to the test_project_a project.
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1650;
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;
--Create the Worker role.
create role Worker;
--Grant permissions to the Worker role.
   --Method 1: ACL-based authorization.
grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to ROLE Worker;
   --Method 2: Policy-based authorization.
grant CreateTable, CreateFunction, CreateInstance, List 
      on project test_project_a  
      to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
--Assign the Worker role to the users.
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1650;
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;

Revogue permissões de operação em um objeto concedidas a um usuário usando uma função

Revogue a autorização das seguintes maneiras:

  • Revogue as permissões da função

    Todos os usuários aos quais essa função foi atribuída perderão as permissões correspondentes.

  • Revogue a função de um usuário específico

    Apenas o usuário do qual a função foi revogada perde as permissões. As permissões de outros usuários não são afetadas.

Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a. Allen, Alice e Tom são usuários RAM pertencentes à conta ALIYUN$5527xxxxxxxx5789. Os três usuários RAM receberam permissões para criar tabelas, modelos, funções e instâncias, além de visualizar a lista de todos os tipos de objetos no projeto por meio da função Worker. Os exemplos a seguir mostram os comandos para revogar permissões de operação em objetos.

  • Método 1: Revogue as permissões da função Worker.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the permissions from the Worker role. Allen, Alice, and Tom no longer have the CreateTable, CreateFunction, CreateInstance, and List permissions.
       --Revoke ACL-based authorization.
    revoke CreateTable, CreateModel, CreateFunction, CreateInstance, List on project test_project_a from ROLE Worker;
       --Revoke Policy-based authorization.
    revoke CreateTable, CreateModel, CreateFunction, CreateInstance, List 
          on project test_project_a  
          from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
  • Método 2: Revogue a função Worker de um usuário.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the Worker role from the user. Only Allen no longer has the CreateTable, CreateFunction, CreateInstance, and List permissions.
    revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;

Conceda a permissão Download a um usuário usando uma função

Conceda permissões a uma função usando o mecanismo de autorização de download. Depois, atribua a função ao usuário.

Para mais informações sobre como conceder permissões a uma função, consulte Grant the Download permission to a role.

Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a, e Allen, Alice e Tom sejam usuários RAM pertencentes a ALIYUN$5527xxxxxxxx5789. Conceda aos três usuários RAM permissões para baixar dados de uma tabela específica. O comando a seguir fornece um exemplo.

--Bob enters the test_project_a project.
use test_project_a;
--Bob adds Allen, Alice, and Tom to the test_project_a project.
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1650;
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;
--Bob creates the Worker role.
create role Worker;
--Bob grants permissions to the Worker role.
grant download on table sale_detail to ROLE Worker;
--Assign the Worker role to the users.
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1650;
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;

Revogue a permissão Download concedida a um usuário usando uma função

Revogue a autorização das seguintes maneiras:

  • Revogue as permissões da função

    Todos os usuários aos quais essa função foi atribuída perderão as permissões correspondentes.

  • Revogue a função de um usuário específico

    Apenas o usuário do qual a função foi revogada perde as permissões. As permissões de outros usuários não são afetadas.

Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a. Allen, Alice e Tom são usuários RAM da conta ALIYUN$5527xxxxxxxx5789. Você concedeu aos três usuários RAM permissão para baixar todos os dados da tabela atribuindo a função Worker a eles. Para revogar a permissão Download dos usuários RAM, use um dos seguintes métodos:

  • Método 1: Revogue as permissões da função Worker.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the permissions from the Worker role. Allen, Alice, and Tom no longer have the Download permission.
    revoke Download on table sale_detail from ROLE Worker;
  • Método 2: Revogue a função Worker de um usuário.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the Worker role from the user. Only Allen no longer has the Download permission.
    revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;

Conceda permissões de acesso a dados com o mesmo nível alto de sensibilidade a um usuário usando uma função

Conceda permissões a uma função usando o mecanismo de autorização baseado em rótulo ou em política. Depois, atribua a função a vários usuários.

Para mais informações sobre como conceder permissões a uma função, consulte Grant permissions to access data with a high sensitivity level to a role.

Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a, e Allen, Alice e Tom sejam usuários RAM de ALIYUN$5527xxxxxxxx5789. O nível de acesso a dados desses usuários RAM é 2. Para conceder a eles permissões de acesso a dados com nível de sensibilidade 4 em uma tabela de destino dentro do projeto, use o comando a seguir.

--Enter the test_project_a project.
use test_project_a;
--Create the Worker role.
create role Worker;
--Grant permissions to the Worker role.
grant Label 4 on table <table_name> to ROLE Worker;  --table_name is the name of the destination table.
--Assign the Worker role to the users.
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1650;
grant Worker to RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;

Revogue permissões de acesso a dados com o mesmo nível alto de sensibilidade concedidas a um usuário usando uma função

Revogue a autorização das seguintes maneiras:

  • Revogue as permissões da função

    Todos os usuários aos quais essa função foi atribuída perderão as permissões correspondentes.

  • Revogue a função de um usuário específico

    Apenas o usuário do qual a função foi revogada perde as permissões. As permissões de outros usuários não são afetadas.

Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a. Allen, Alice e Tom são usuários RAM pertencentes a ALIYUN$5527xxxxxxxx5789. Os três usuários RAM receberam permissões para acessar dados com nível de sensibilidade 4 em uma tabela de destino do projeto. Para revogar as permissões de acesso a esses dados altamente sensíveis, use os comandos de exemplo a seguir.

  • Método 1: Revogue as permissões da função Worker.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the permissions from the Worker role. Allen, Alice, and Tom can now only access data with a maximum sensitivity level of 2.
    revoke Label on table <table_name> from ROLE Worker;     --table_name is the name of the destination table.
  • Método 2: Revogue a função Worker de um usuário.

    --Enter the test_project_a project.
    use test_project_a;
    --Revoke the Worker role from the user. Allen can now only access data with a maximum sensitivity level of 2. Alice and Tom can still access data with a maximum sensitivity level of 4.
    revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;

Conceda permissões diretamente a um usuário

O MaxCompute também permite conceder permissões diretamente aos usuários. As seções a seguir descrevem cenários comuns de autorização e fornecem exemplos de sintaxe.

Nota

Cenário de autorização

Método de autorização

Autorizador

Ponto de entrada de autorização

Conceder permissões de operação em um objeto a um usuário

ACL-based access control

Consulte a coluna Supported Authorizers no Resumo de permissões.

Revogar permissões de operação em um objeto de um usuário

Conceder a permissão Download a um usuário

Download permission control

Revogar a permissão Download de um usuário

Conceder permissões de acesso a dados com alto nível de sensibilidade a um usuário

Label-based access control

Revogar permissões de acesso a dados com alto nível de sensibilidade de um usuário

Conceda permissões de operação em um objeto a um usuário

Conceda permissões de operação em um projeto, tabela, modelo, recurso, função ou instância a um usuário usando o mecanismo de autorização baseado em ACL.

  • Conceda permissões de operação em um projeto a um usuário

    • Formato do comando

      grant Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All 
            on project <project_name> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      project_name

      Sim

      Nome do projeto. Faça login no MaxCompute console, alterne a região no canto superior esquerdo e obtenha o nome específico do projeto MaxCompute na aba Project management.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Consulte Conditions para obter uma lista de valores suportados para var_name e Operation.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Conceda permissões de operação em uma tabela a um usuário

    • Formato do comando

      grant Describe|Select|Alter|Update|Drop|ShowHistory|All 
            on table <table_name> [(<column_list>)] 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      table_name

      Sim

      Nome da tabela: Execute o comando show tables; no MaxCompute client para obter o nome de uma tabela ou visualização.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Conceda permissões de operação em um modelo a um usuário

    • Formato do comando

      grant Describe|Execute|Alter|Drop|All
            on MODEL <model_name>
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • Parâmetros

      • model_name: Obrigatório. Nome do modelo. Obtenha o nome do modelo executando o comando list models; no MaxCompute client.

  • Conceda permissões de operação em um recurso a um usuário

    • Formato do comando

      grant Read|Write|Delete|All 
            on resource <resource_name> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      resource_name

      Sim

      Nome do recurso: Use o MaxCompute client para executar o comando list resources; e obter o nome do recurso.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Conceda permissões de operação em uma função a um usuário

    • Formato do comando

      grant Read|Write|Delete|Execute|All 
            on function <function_name> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      function_name

      Sim

      Nome da função: Obtenha o nome da função executando o comando list functions; no MaxCompute client.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Conceda permissões de operação em uma instância a um usuário

    • Formato do comando

      grant Read|Write|All 
            on instance <instance_id> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      instance_id

      Sim

      ID da instância: Execute o comando show instances; no MaxCompute client para obter o ID da instância.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Exemplos

    Suponha que ALIYUN$5527xxxxxxxx5789 seja o proprietário do projeto test_project_a. Allen, Alice e Tom são usuários RAM pertencentes à conta Alibaba Cloud ALIYUN$5527xxxxxxxx5789. RAM$5527xxxxxxxx5789:role/ram_role é uma função RAM pertencente à conta Alibaba Cloud ALIYUN$5527xxxxxxxx5789. ALIYUN$5527xxxxxxxx5788 é outra conta Alibaba Cloud a ser adicionada ao projeto test_project_a.

    • Exemplo 1: Conceda à conta Alibaba Cloud Kate permissões para criar tabelas, funções e instâncias, além de visualizar a lista de todos os tipos de objetos no projeto.

      --ALIYUN$5527xxxxxxxx5789 enters the test_project_a project.
      use test_project_a;
      --Add ALIYUN$5527xxxxxxxx5788 to the MaxCompute project.
      add user ALIYUN$5527xxxxxxxx5788;
      --ALIYUN$5527xxxxxxxx5789 grants permissions to ALIYUN$5527xxxxxxxx5788.
      grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to user ALIYUN$5527xxxxxxxx5788;
    • Exemplo 2: Conceda ao usuário RAM Allen e a uma função RAM permissões para criar tabelas, visualizar todos os tipos de objetos no projeto e ler os metadados e dados de uma tabela.

      --Enter the test_project_a project.
      use test_project_a;
      --Add Allen to the test_project_a project.
      add user RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1649;
      --Add the RAM role to the test_project_a project.
      add user `RAM$5527xxxxxxxx5789:role/ram_role`;
      --Grant permissions to the RAM user Allen.
      grant CreateTable, List on project test_project_a to USER RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1649;
      grant Describe, Select on table sale_detail to USER RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1649;
      --Grant permissions to the RAM role.
      grant CreateTable, List on project test_project_a to USER `RAM$5527xxxxxxxx5789:role/ram_role`;
      grant Describe, Select on table sale_detail to USER `RAM$5527xxxxxxxx5789:role/ram_role`;
    • Exemplo 3: Conceda ao usuário RAM Alice permissões para ler e atualizar um recurso.

      --Enter the test_project_a project.
      use test_project_a;
      --Add Alice to the test_project_a project.
      add user RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1650;
      --Grant permissions to Alice.
      grant Read, Write on resource udtf.jar to USER RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1650;
    • Exemplo 4: Conceda ao usuário RAM Tom permissões para ler e atualizar uma função.

      --Enter the test_project_a project.
      use test_project_a;
      --Add Tom to the test_project_a project.
      add user RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1651;
      --Grant permissions to Tom.
      grant Read, Write on function udf_test to USER RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1651;
    • Exemplo 5: Conceda ao usuário RAM Tom todas as permissões de operação em uma instância.

      --Enter the test_project_a project.
      use test_project_a;
      --Add Tom to the test_project_a project.
      add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;
      --Grant permissions to Tom.
      grant All on instance 202112300224**** to USER RAM$5527xxxxxxxx5789:2763xxxxxxxxxx1651;

Revogue permissões de operação em um objeto de um usuário

Revogue permissões de operação em um projeto, tabela, modelo, recurso, função ou instância de um usuário.

  • Revogue permissões de operação em um projeto de um usuário

    • Formato do comando

      revoke Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All 
            on project <project_name> 
            from USER <user_name>;
    • Parâmetros

      Parâmetro

      Obrigatório

      Descrição

      project_name

      Sim

      Nome do projeto. Faça login no MaxCompute console, alterne a região no canto superior esquerdo e obtenha o nome específico do projeto MaxCompute na aba Project management.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter a lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Revogue permissões de operação em uma tabela de um usuário

    • Formato do comando

      revoke Describe|Select|Alter|Update|Drop|ShowHistory|All 
            on table <table_name> [(<column_list>)] 
            from USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      table_name

      Sim

      Nome da tabela: Obtenha o nome de uma tabela ou visualização executando o comando show tables; no MaxCompute client.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Revogue permissões de operação em um modelo de um usuário

    • Formato do comando

      revoke Describe|Execute|Alter|Drop|All
            on MODEL <model_name> 
            from USER <user_name>;
    • Parâmetros

      • model_name: Obrigatório. Nome do modelo. Obtenha o nome do modelo executando o comando list models; no MaxCompute client.

  • Revogue permissões de operação em um recurso de um usuário

    • Formato do comando

      revoke Read|Write|Delete|All 
            on resource <resource_name> 
            from USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      resource_name

      Sim

      Obtenha o nome do recurso executando o comando list resources; no MaxCompute client.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Revogue permissões de operação em uma função de um usuário

    • Formato do comando

      revoke Read|Write|Delete|Execute|All 
            on function <function_name> 
            from USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      function_name

      Sim

      Nome da função: Obtenha o nome da função executando o comando list functions; no MaxCompute client.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Consulte Conditions para obter uma lista de valores suportados para var_name e Operation.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Revogue permissões de operação em uma instância de um usuário

    • Formato do comando

      revoke Read|Write|All 
            on instance <instance_id> 
            from USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      instance_id

      Sim

      ID da instância: Obtenha o ID da instância executando o comando show instances; no MaxCompute client.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Use o MaxCompute client para executar o comando list users; e visualizar as informações do usuário.

      privilegeproperties

      conditions

      Não

      Condições usadas para controle de acesso baseado em política, como a origem de uma mensagem de solicitação e o método de acesso. O formato é "<var_name> <Operation> constant" and "<var_name> <Operation> constant" and .... Para obter uma lista de valores suportados para var_name e Operation, consulte Conditions.

      days

      Não

      Tempo de expiração da permissão, em dias. Se você não especificar esse parâmetro, a permissão será válida por longo prazo por padrão. Se você especificar esse parâmetro, o MaxCompute limpará automaticamente as informações de permissão após a expiração.

  • Exemplos

    Revogue as permissões de operação em objetos concedidas ao usuário Alibaba Cloud e aos usuários RAM. O comando a seguir fornece um exemplo.

    • Exemplo 1: Revogue de Kate as permissões para criar tabelas, funções e instâncias, além de visualizar a lista de todos os tipos de objetos no projeto.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from the Alibaba Cloud user.
      revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from user ALIYUN$5527xxxxxxxx5788;
    • Exemplo 2: Revogue do usuário RAM Allen as permissões para ler os metadados e dados de uma tabela.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from Allen.
      revoke Describe, Select on table sale_detail from USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
    • Exemplo 3: Revogue da usuária RAM Alice as permissões para ler e atualizar um recurso.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from Alice.
      revoke Read, Write on resource udtf.jar from USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1650;
    • Exemplo 4: Revogue do usuário RAM Tom as permissões para ler e atualizar uma função.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from Tom.
      revoke Read, Write on function udf_test from USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;
    • Exemplo 5: Revogue do usuário RAM Tom todas as permissões de operação em uma instância.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from Tom.
      revoke All on instance 202112300224**** from USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1651;
  • Conceda a permissão Download a um usuário

    Conceda a um usuário permissão para baixar os dados de uma tabela, recurso, função ou instância.

    • Formato do comando

      grant Download on {Table|Resource|Function|Instance} <object_name> to USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      object_name

      Sim

      Nome do objeto no qual as permissões são concedidas. Obtenha o nome das seguintes maneiras:

      • Nome da tabela: Execute o comando show tables; no MaxCompute client para obter o nome da tabela ou visualização.

      • Nome do recurso: Use o MaxCompute client para executar o comando list resources; e obter o nome do recurso.

      • Nome da função: Execute o comando list functions; no MaxCompute client para obter o nome da função.

      • Nome da instância: No MaxCompute client, execute o comando show instances; para obter o ID da instância.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Execute o comando list users; no MaxCompute client para visualizar as informações do usuário.

    • Exemplos

      Suponha que o controle de permissão de download esteja ativado para o projeto test_project_a. Conceda ao usuário Allen permissão para baixar dados de uma tabela específica. O comando a seguir fornece um exemplo.

      --Enter the test_project_a project.
      use test_project_a;
      --Grant permissions to Allen.
      grant Download on table sale_detail to USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
  • Revogue a permissão Download de um usuário

    Revogue de um usuário a permissão para baixar os dados de uma tabela, recurso, função ou instância.

    • Formato do comando

      revoke Download on {Table|Resource|Function|Instance} <object_name> from USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      object_name

      Sim

      Nome do objeto do qual as permissões são revogadas. Obtenha o nome das seguintes maneiras:

      • Nome da tabela: Execute o comando show tables; no MaxCompute client para obter o nome da tabela ou visualização.

      • Nome do recurso: Obtenha o nome do recurso executando o comando list resources; no MaxCompute client.

      • Nome da função: Use o MaxCompute client para executar o comando list functions; e obter o nome da função.

      • Nome da instância: Execute o comando show instances; no MaxCompute client para obter o ID da instância.

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Use o MaxCompute client para executar o comando list users; e visualizar as informações do usuário.

    • Exemplos

      Revogue do usuário Allen a permissão para baixar dados de uma tabela específica. O comando a seguir fornece um exemplo.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from Allen.
      revoke Download on table sale_detail from USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
  • Conceda permissões de acesso a dados com alto nível de sensibilidade a um usuário

    Conceda a um usuário permissões de acesso a dados com alto nível de sensibilidade usando o mecanismo de autorização baseado em rótulo.

    • Formato do comando

      grant Label <number> on table <table_name> [(<column_list>)] to USER <user_name> [with exp <days>];
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      number

      Sim

      Nível máximo de sensibilidade de dados que o usuário ou função pode acessar.

      O valor varia de 0 a 9, correspondendo aos rótulos de nível de sensibilidade de dados.

      table_name

      Sim

      Nome da tabela ou visualização de destino.

      Execute o comando show tables; no MaxCompute client para obter o nome de uma tabela ou visualização.

      column_list

      Não

      Para conceder permissões de acesso a colunas específicas na tabela ou visualização de destino, configure este parâmetro. É possível especificar vários nomes de coluna para uma única autorização. Separe os nomes das colunas com vírgulas (,).

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute ao qual você deseja atribuir a função. O formato é:

      Use o MaxCompute client para executar o comando list users; e visualizar as informações do usuário.

      days

      Não

      Tempo de expiração da permissão, em dias. O valor pode variar de 0 a 263-1. Se você não especificar esse parâmetro, o tempo de expiração padrão será de 180 dias.

    • Exemplos

      Suponha que, no projeto test_project_a, o usuário Allen tenha um nível de rótulo de acesso permitido igual a 2. Conceda a esse usuário permissão para acessar dados com nível máximo de sensibilidade 4 na tabela sale_detail. O comando a seguir fornece um exemplo.

      --Enter the test_project_a project.
      use test_project_a;
      --Grant permissions to the user Allen.
      grant Label 4 on table sale_detail to USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
  • Revogue permissões de acesso a dados com alto nível de sensibilidade de um usuário

    • Formato do comando

      revoke Label <number> on table <table_name> [(<column_list>)] from USER <user_name>;
    • Parâmetros

      Nome do parâmetro

      Obrigatório

      Descrição

      number

      Sim

      Nível máximo de sensibilidade de dados para o qual você deseja revogar as permissões de acesso do usuário ou função.

      O valor varia de 0 a 9, correspondendo aos rótulos de nível de sensibilidade de dados.

      table_name

      Sim

      Nome da tabela ou visualização de destino da qual você deseja revogar as permissões de acesso.

      Execute o comando show tables; no MaxCompute client para obter nomes de tabelas ou visualizações.

      column_list

      Não

      Para revogar permissões de acesso a colunas específicas na tabela ou visualização de destino, configure este parâmetro. É possível especificar vários nomes de coluna para uma única autorização. Separe os nomes das colunas com vírgulas (,).

      user_name

      Sim

      Nome do usuário adicionado ao projeto MaxCompute do qual você deseja revogar a função. O formato é:

      Use o MaxCompute client para executar o comando list users; e visualizar as informações do usuário.

    • Exemplos

      Revogue do usuário Allen a permissão para acessar dados com nível máximo de sensibilidade 4 na tabela sale_detail. O comando a seguir fornece um exemplo.

      --Enter the test_project_a project.
      use test_project_a;
      --Revoke permissions from the user Allen.
      revoke Label 4 on table sale_detail from USER RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;

Limpe completamente as informações de permissão restantes de um usuário excluído

Depois que um usuário é removido de um projeto, seus dados de permissão, como ACL, política e permissões de rótulo, permanecem no projeto. Se esse usuário for adicionado novamente ao projeto, ele recuperará automaticamente suas permissões originais. Esse recurso é útil caso um usuário seja removido acidentalmente. No entanto, também pode representar um risco de segurança se um usuário for removido intencionalmente e readicionado com uma identidade diferente.

Para resolver isso, o MaxCompute oferece um recurso para limpar as permissões do usuário. Se um usuário não estiver mais em um projeto, mas ainda tiver permissões residuais de ACL, política ou rótulo, o proprietário do projeto ou um usuário com a função Admin ou Super_Administrator poderá executar o seguinte comando para limpar essas informações.

  • Formato do comando

purge privs from user <user_name>;
  • Parâmetros

    Nome do parâmetro

    Obrigatório

    Descrição

    user_name

    Sim

    Nome do usuário removido do projeto MaxCompute cujas informações de permissão restantes você deseja limpar. O formato é:

Nota

Se você executar este comando para um usuário que não foi removido do projeto, o erro "Principal <username> still exist in the project" será retornado. Primeiro, execute o comando remove user <user_name> para remover o usuário do projeto.

Próximas etapas

Após conceder permissões a um usuário, consulte as informações de autorização dele. Para mais informações, consulte Query user permission information.