O MaxCompute permite conceder permissões a contas RAM (usuários e funções RAM) por meio de funções no MaxCompute console. É possível conceder permissões nos níveis do projeto e do tenant usando autorização baseada em ACL ou política.
Conceder permissões de gerenciamento no nível do projeto
As permissões de gerenciamento no nível do projeto abrangem a configuração de segurança, o gerenciamento de usuários, funções e pacotes, o controle de acesso baseado em rótulos e a limpeza de permissões expiradas. Para obter mais informações, consulte List of project management permissions.
Procedimento
Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Projects, clique em Manage na coluna Actions do projeto desejado.
-
Na página Project Settings, clique na aba Role Permissions.
Na aba Role Permissions, crie uma função Admin ou modifique as permissões de uma função Admin existente.
NotaPor padrão, apenas uma conta Alibaba Cloud tem permissão para gerenciar funções de um projeto. Para conceder permissões usando uma conta RAM (como um usuário ou função RAM), a conta deve ter as permissões necessárias de gerenciamento de projetos.
-
Criar uma função Admin
Clique em Create Project-level Role para criar uma função de projeto com as permissões necessárias do MaxCompute.
-
Na caixa de diálogo Create Role, configure os parâmetros conforme solicitado e clique em OK.
Defina Role Type como Admin e insira uma policy de autorização.
-
Modificar as permissões de uma função Admin existente.
Na aba Role Permissions, localize a função desejada e clique em Modify Authorization na coluna Actions. Após modificar a política, clique em Confirm para salvar as alterações.
Para obter mais informações sobre os valores de Action e Resource, consulte List of project management permissions.
-
Localize a função de nível de projeto desejada e clique em Manage Members na coluna Actions. Na caixa de diálogo Manage Members, visualize os membros atribuídos à função, atribua a função a usuários ou remova usuários da função para revogá-la.
Exemplos de políticas
As permissões de gerenciamento de um módulo geralmente envolvem várias ações e recursos. Os exemplos usam um caractere curinga (
*) para conceder permissões em vários objetos simultaneamente.Para obter mais informações sobre os valores de Action e Resource, consulte List of project management permissions.
Substitua
project_namepelo nome do seu projeto MaxCompute.
Gerenciamento de funções
Esta política concede permissões para gerenciar funções.
{
"Statement": [
{
"Action": [
"odps:*"
],
"Effect": "Allow",
"Resource": [
"acs:odps:*:projects/project_name/authorization/roles",
"acs:odps:*:projects/project_name/authorization/roles/*/*"
]
}
],
"Version": "1"
}
Gerenciamento de pacotes
Esta política concede permissões para gerenciar pacotes.
{
"Statement": [
{
"Action": [
"odps:*"
],
"Effect": "Allow",
"Resource": [
"acs:odps:*:projects/project_name/authorization/packages",
"acs:odps:*:projects/project_name/authorization/packages/*",
"acs:odps:*:projects/project_name/authorization/packages/*/*/*"
]
}
],
"Version": "1"
}
Para gerenciar pacotes no console, o usuário deve ter a permissão list no projeto. Conceda primeiro a permissão list no projeto atual. Para autorização via console, consulte Grant project-level operation permissions on objects. Para autorização via comandos, consulte Manage user permissions by using commands.
Segurança do projeto
Esta política concede permissões para modificar configurações de segurança do projeto.
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/configurations/*"
]
}
],
"Version":"1"
}
Gerenciamento de usuários
Esta política concede permissões para gerenciar usuários do projeto.
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/users"
]
}
],
"Version":"1"
}
Todas as permissões de gerenciamento
Esta política concede todas as permissões de gerenciamento.
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/*"
]
}
],
"Version":"1"
}
Conceder permissões de operação no nível do projeto em objetos
As permissões de operação no nível do projeto aplicam-se a objetos dentro de um projeto, como tabelas, funções e recursos. Exemplos incluem CreateTable, CreateInstance e SelectTable. Para obter mais informações, consulte List of permissions for projects and objects within projects.
Procedimento
Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Projects, clique em Manage na coluna Actions do projeto desejado.
-
Na página Project Settings, clique na aba Role Permissions.
Crie uma função Resource ou edite uma função Resource existente.
NotaPor padrão, apenas uma conta Alibaba Cloud tem permissão para gerenciar funções de um projeto. Para conceder permissões usando uma conta RAM (como um usuário ou função RAM), a conta deve ter as permissões necessárias de gerenciamento de projetos.
-
Criar uma função Resource
Clique em Create Project-level Role para criar uma função de projeto com as permissões necessárias do MaxCompute.
-
Na caixa de diálogo Create Role, configure os parâmetros conforme solicitado e clique em OK.
Defina Role Type como Resource. Em seguida, conceda permissões usando uma ACL ou uma política.
-
Modificar as permissões de uma função Resource existente
Na aba Role Permissions, localize a função desejada e clique em Modify Authorization na coluna Actions. Depois, modifique as permissões usando ACL ou editando a política.
Para obter mais informações sobre permissões, consulte List of permissions for projects and objects within projects. Este tópico fornece exemplos de como conceder permissões usando ACL e políticas no console. Para mais detalhes, consulte Grant project-level management permissions.
-
Localize a função de nível de projeto desejada e clique em Manage Members na coluna Actions. Na caixa de diálogo Manage Members, visualize os membros atribuídos à função, atribua a função a usuários ou remova usuários da função para revogá-la.
Exemplos de autorização
Para obter mais informações sobre ações e objetos para permissões de operação no nível do projeto, consulte List of permissions for projects and objects within projects.
Substitua
project_namepelo nome do seu projeto MaxCompute.
ACL
Use uma ACL para conceder a uma função Resource permissões para criar tabelas (CreateTable) e instâncias (CreateInstance), listar todos os tipos de objetos no projeto (List), além de ler metadados (Describe) e dados (Select) de todas as tabelas.
Não feche a barra de progresso ou a página durante a autorização. Caso contrário, o processo será interrompido.
Política
-
Esta política concede a uma função Resource permissões para criar tabelas (CreateTable) e instâncias (CreateInstance), listar todos os tipos de objetos no projeto (List), ler metadados de todas as tabelas (Describe) e ler dados de todas as tabelas (Select).
{ "Statement": [{ "Action": ["odps:CreateTable","odps:CreateInstance","odps:List"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name"]}, { "Action": ["odps:Describe","odps:Select"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/tables/*"]}], "Version": "1"} -
Esta política concede a uma função Resource permissões para ler metadados (Describe) e consultar dados (Select) de todas as tabelas cujos nomes começam com tmp, ler e atualizar todos os recursos e funções, e nega permissão para excluir qualquer tabela.
{ "Statement": [{ "Action": ["odps:Describe","odps:Select"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/tables/tmp_*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/resources/*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/functions/*"]}, { "Action": ["odps:Drop"], "Effect": "Deny", "Resource": ["acs:odps:*:projects/project_name/tables/*"]}], "Version": "1"}Se o armazenamento de dados por schema estiver habilitado para o projeto (consulte Schema operations), modifique a política da seguinte forma:
{ "Statement": [{ "Action": ["odps:Describe","odps:Select"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/schemas/*/tables/tmp_*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/schemas/*/resources/*"]}, { "Action": ["odps:Read","odps:Write"], "Effect": "Allow", "Resource": ["acs:odps:*:projects/project_name/schemas/*/functions/*"]}, { "Action": ["odps:Drop"], "Effect": "Deny", "Resource": ["acs:odps:*:projects/project_name/schemas/*/tables/*"]}], "Version": "1"}
Conceder permissões de gerenciamento no nível do tenant
As permissões de gerenciamento no nível do tenant abrangem operações de usuários e funções nesse nível, incluindo adicionar ou remover usuários, criar ou excluir funções, visualizar usuários e funções, atribuir ou revogar funções para usuários e adicionar ou remover funções em projetos.
Apenas uma conta Alibaba Cloud ou um usuário com a função Super_Administrator ou Admin no nível do tenant pode gerenciar permissões nesse nível.
Para conceder permissões de gerenciamento a uma conta RAM (usuário ou função RAM), use uma conta Alibaba Cloud para atribuir a função Super_Administrator ou Admin. Essas funções fornecem amplas permissões de gerenciamento. Para obter detalhes, consulte Role planning. Tenha cuidado ao atribuir essas funções. Para obter mais informações sobre funções no nível do tenant, consulte Grant tenant-level role permissions.
Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Tenants, clique na aba Users.
-
Na aba Users, localize o usuário RAM desejado e clique em Modify Role na coluna Actions.
Na caixa de diálogo Edit Role, mova as funções desejadas da seção Available Roles para a seção Added Roles e clique em OK.
Conceder permissões de operação de objetos no nível do tenant
As permissões de operação de objetos no nível do tenant aplicam-se a objetos desse nível, como cotas e conexões de rede. Exemplos incluem Usage e CreateNetworkLink. Essas permissões também permitem que uma única conta gerencie objetos em vários projetos, simplificando o gerenciamento de permissões. Para obter mais informações sobre funções no nível do tenant, consulte Grant tenant-level role permissions.
Procedimento
Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Tenants, clique na aba Roles.
-
Na página Roles, crie uma nova função no nível do tenant ou gerencie as permissões de uma função personalizada existente.
NotaApenas uma conta Alibaba Cloud ou um usuário com a função Super_Administrator ou Admin no nível do tenant pode gerenciar permissões nesse nível.
-
Adicionar uma função no nível do tenant
Na aba Roles, clique em Add Role. Na caixa de diálogo Add Role, insira um Role Name personalizado, forneça o Policy Content e clique em OK.
Parâmetro
Descrição
Nome da função
O nome da nova função no nível do tenant. Deve ser exclusivo na sua conta Alibaba Cloud, ter entre 6 e 64 caracteres, começar com uma letra e conter apenas letras, dígitos e sublinhados (_).
Conteúdo da política
A política de permissões para a função. Edite o código da política com base em um modelo.
-
Modificar as permissões de uma função existente no nível do tenant
Na aba Roles, localize a função desejada e clique em Manage Permissions na coluna Actions. Modifique a política de autorização e clique em OK para salvar as alterações.
-
-
Na aba Users, localize o usuário que deseja autorizar e clique em Modify Role na coluna Actions.
Na caixa de diálogo Edit Role, mova as funções desejadas da seção Available Roles para a seção Added Roles e clique em OK.
Exemplos de políticas
Estes exemplos usam um caractere curinga (
*) para conceder permissões em vários objetos simultaneamente.Para obter mais informações sobre ações e recursos específicos, consulte List of permissions on objects in a tenant.
-
Esta política concede a uma função no nível do tenant a permissão Usage em todas as cotas de todas as regiões, além das permissões
CreateNetworkLink,ListeExecuteem todas as conexões de rede.{ "Statement":[ { "Action":[ "odps:Usage" ], "Effect":"Allow", "Resource":[ "acs:odps:*:regions/*/quotas/*" ] }, { "Action":[ "odps:CreateNetworkLink", "odps:List", "odps:Execute" ], "Effect":"Allow", "Resource":[ "acs:odps:*:networklinks/*" ] } ], "Version":"1" } -
Esta política concede a uma função no nível do tenant todas as permissões de operação nos projetos MaxCompute
project_1eproject_2.{ "Statement":[ { "Action":[ "odps:*" ], "Effect":"Allow", "Resource":[ "acs:odps:*:projects/project_1", "acs:odps:*:projects/project_1/*", "acs:odps:*:projects/project_2", "acs:odps:*:projects/project_2/*" ] } ], "Version":"1" }NotaApenas o proprietário do projeto ou um usuário com a função Super_Administrator ou Admin do projeto pode executar esta ação. Após conceder permissões em um objeto do projeto por meio de uma função no nível do tenant, adicione essa função ao projeto para que as permissões entrem em vigor. Na aba Role Permissions, defina Role Level como Tenant. Em seguida, localize a função desejada e clique em Enable na coluna Actions.