O MaxCompute permite conceder permissões a contas RAM, como usuários RAM e funções RAM, por meio de funções no console do MaxCompute. Este tópico descreve como conceder diferentes tipos de permissão e fornece exemplos de políticas.
Conceder permissões de gerenciamento no nível do projeto
As permissões de gerenciamento no nível do projeto no MaxCompute incluem a capacidade de configurar a segurança do projeto, gerenciar usuários e permissões de função no nível do projeto, gerenciar pacotes, usar controle de acesso baseado em rótulos e limpar permissões expiradas. Para obter mais informações, consulte Lista de permissões de gerenciamento de projeto.
Procedimento
Faça login no console do MaxCompute 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, você pode criar uma função Admin ou modificar 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 RAM ou uma função RAM, a conta deve ter as permissões necessárias de gerenciamento de projeto.
-
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 política 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 Lista de permissões de gerenciamento de projeto. Este tópico fornece exemplos de políticas baseados em módulos de gerenciamento.
-
Localize a função no nível do projeto desejada e clique em Manage Members na coluna Actions. Na caixa de diálogo Manage Members, é possível visualizar os membros atribuídos à função, atribuir a função a usuários ou remover usuários da função, o que a revoga.
Exemplos de políticas
As permissões de gerenciamento de um módulo frequentemente envolvem múltiplas ações e permissões de recursos. Por isso, 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 Lista de permissões de gerenciamento de projeto.
Substitua
project_namenos exemplos pelo nome do seu projeto MaxCompute.
Gerenciamento de funções
A política a seguir 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
A política a seguir 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, é necessária a permissão list no projeto. Portanto, conceda primeiro a permissão list no projeto atual ao usuário. Para obter informações sobre como conceder permissões no console, consulte Conceder permissões operacionais no nível do projeto em objetos. Para obter informações sobre como conceder permissões usando comandos, consulte Gerenciar permissões de usuário usando comandos.
Segurança do projeto
A política a seguir 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
A política a seguir 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
A política a seguir concede todas as permissões de gerenciamento.
{
"Statement":[
{
"Action":[
"odps:*"
],
"Effect":"Allow",
"Resource":[
"acs:odps:*:projects/project_name/authorization/*"
]
}
],
"Version":"1"
}
Conceder permissões operacionais no nível do projeto em objetos
As permissões operacionais no nível do projeto aplicam-se a objetos dentro de um projeto, como tabelas, funções e recursos. Exemplos dessas permissões incluem CreateTable, CreateInstance e SelectTable. Para obter mais informações, consulte Lista de permissões para projetos e objetos dentro de projetos.
Procedimento
Faça login no console do MaxCompute 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.
Você pode criar uma função Resource ou editar 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 RAM ou uma função RAM, a conta deve ter as permissões necessárias de gerenciamento de projeto.
-
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 Lista de permissões para projetos e objetos dentro de projetos. Este tópico fornece exemplos de como conceder permissões usando ACL e políticas no console. Para obter mais detalhes, consulte Conceder permissões de gerenciamento no nível do projeto.
-
Localize a função no nível do projeto desejada e clique em Manage Members na coluna Actions. Na caixa de diálogo Manage Members, é possível visualizar os membros atribuídos à função, atribuir a função a usuários ou remover usuários da função, o que a revoga.
Exemplos de autorização
Para obter mais informações sobre as ações e objetos para permissões operacionais de objetos no nível do projeto, consulte Lista de permissões para projetos e objetos dentro de projetos.
Substitua
project_namenos exemplos pelo 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 objeto 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 enquanto a autorização estiver em andamento. Caso contrário, a autorização será interrompida.
Política
-
Esta política concede a uma função Resource as permissões para criar uma tabela (CreateTable) e uma instância (CreateInstance), visualizar uma lista de todos os tipos de objeto no projeto (List), ler os 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 as permissões para ler os 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 a 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 Operações de schema), 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 locatário
As permissões de gerenciamento no nível do locatário envolvem o gerenciamento de usuários e funções nesse nível. Isso inclui 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 funções a projetos ou removê-las deles.
Apenas uma conta Alibaba Cloud ou um usuário com a função Super_Administrator ou Admin no nível do locatário pode gerenciar permissões nesse nível.
Para conceder permissões de gerenciamento a uma conta RAM, como um usuário RAM ou uma função RAM, use uma conta Alibaba Cloud para atribuir a função Super_Administrator ou Admin a ela. As funções Super_Administrator e Admin no nível do locatário fornecem amplas permissões de gerenciamento. Para obter detalhes sobre as permissões, consulte Planejamento de funções. Tenha cautela ao atribuir essas funções. Para obter mais informações sobre funções no nível do locatário, consulte Conceder permissões de função no nível do locatário.
Faça login no console do MaxCompute 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 operacionais de objetos no nível do locatário
As permissões operacionais de objetos no nível do locatário incluem permissões para operar em objetos desse nível, como uma cota ou uma conexão de rede. Exemplos dessas permissões incluem Usage e CreateNetworkLink. Essas permissões também permitem que uma única conta gerencie objetos em vários projetos, o que simplifica o gerenciamento de permissões. Para obter mais informações sobre funções no nível do locatário, consulte Conceder permissões de função no nível do locatário.
Procedimento
Faça login no console do MaxCompute 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, você pode criar uma nova função no nível do locatário ou gerenciar 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 locatário pode gerenciar permissões nesse nível.
-
Adicionar uma função no nível do locatário
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 locatário. Deve ser único 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ão para a função. É possível editar o código da política com base em um modelo.
-
Modificar as permissões de uma função existente no nível do locatário
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
Os 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 Lista de permissões em objetos de um locatário.
-
Esta política concede a uma função no nível do locatário 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 locatário todas as permissões operacionais 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 de projeto usando uma função no nível do locatário, 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.