Todos os produtos
Search
Central de documentação

Function Compute:Conceda permissões em diferentes grupos de funções para diferentes usuários do RAM

Última atualização: Jun 29, 2026

O Function Compute oferece suporte ao controle de acesso baseado em atributos (ABAC) por meio de tags. Ao associar políticas com escopo de tag a grupos de usuários do Resource Access Management (RAM), você isola o gerenciamento de funções entre as equipes.

Como funciona

O controle de acesso baseado em tags utiliza três chaves de condição de política do RAM que atuam em conjunto para impor limites de tag:

Chave de condição

O que ela controla

acs:RequestTag/<tag-key>

Exige a tag especificada quando um usuário do RAM cria uma função. A função deve receber a tag no momento da criação.

acs:ResourceTag/<tag-key>

Restringe todas as operações de gerenciamento às funções que já possuem a tag especificada.

fc:TagResources / fc:UntagResources (Deny)

Impede que usuários do RAM adicionem ou removam tags. Sem essa restrição, um usuário poderia alterar as tags de uma função para obter acesso a recursos fora de seu limite permitido.

Em conjunto, esses três elementos formam um limite de permissão fechado: os usuários só podem criar funções com tags, só podem atuar em funções que possuam suas respectivas tags e não podem alterar tags para ultrapassar esse limite.

Caso de uso

Uma empresa gerencia várias funções em uma única conta Alibaba Cloud e precisa restringir cada equipe apenas às funções sob sua responsabilidade:

  • Equipe de desenvolvimento: visualize e gerencie apenas funções marcadas com a tag do ambiente de desenvolvimento.

  • Equipe de O&M: visualize e gerencie somente funções identificadas com a tag do ambiente de produção.

A tabela a seguir apresenta o plano de configuração:

Equipe

Grupo de usuários do RAM

Política de acesso

Tag

Equipe de desenvolvimento

developer

FCPolicyForDevTeam

team:dev

Equipe de O&M

operator

FCPolicyForOpsTeam

team:ops

Pré-requisitos

Antes de começar, verifique se você possui:

Importante

Não associe políticas de alto privilégio, como AliyunFCFullAccess ou AliyunFCReadOnlyAccess, a usuários do RAM. Essas políticas ignoram as condições baseadas em tags e permitem que o usuário visualize todas as funções, o que compromete o isolamento de permissões proporcionado por esta configuração.

Sub-recursos e configurações de uma função — como aliases, gatilhos, configurações assíncronas, configurações de concorrência, instâncias, anexos de VPC e tarefas assíncronas — herdam as definições de controle de acesso da função principal. Somente usuários do RAM com as tags correspondentes podem gerenciá-los.

Configure o controle de acesso baseado em tags

Etapa 1: Adicione tags às suas funções

Faça login no console do Function Compute usando sua conta Alibaba Cloud. Crie funções e associe tags para identificar a qual equipe cada função pertence:

  • Associe a tag team:dev às funções da equipe de desenvolvimento.

  • Associe a tag team:ops às funções da equipe de O&M.

Para obter instruções sobre como associar tags, consulte Configurar tags.

Etapa 2: Crie usuários do RAM

Faça login no console do RAM com sua conta Alibaba Cloud e crie dois usuários do RAM — um para cada equipe. Consulte Criar um usuário do RAM.

Etapa 3: Crie grupos de usuários do RAM e adicione membros

Crie dois grupos de usuários chamados developer e operator. Adicione os usuários do RAM correspondentes a cada grupo. Os usuários do RAM herdam automaticamente as permissões de seu grupo.

Consulte Criar um grupo de usuários do RAM e Adicionar um usuário do RAM a um grupo de usuários do RAM.

Etapa 4: Crie políticas personalizadas

Faça login no console do RAM usando sua conta Alibaba Cloud e crie uma política personalizada.

Cada política contém quatro declarações que, juntas, impõem o limite de tag:

  1. Permita todas as ações do FC quando a tag team corresponder na criação do recurso (acs:RequestTag).

  2. Permita todas as ações do FC em recursos que já possuem a tag team correspondente (acs:ResourceTag).

  3. Permita listar tags e recuperar configurações da conta (necessário para que a filtragem por tags funcione no console).

  4. Negue a modificação de tags. Se omitida, um usuário poderia alterar as tags de qualquer função para acessar recursos fora de seu limite.

FCPolicyForDevTeam (para o grupo de usuários developer):

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "fc:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:RequestTag/team": [
                        "dev"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "fc:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/team": [
                        "dev"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "fc:ListTaggedResources",
                "tag:ListTagKeys",
                "fc:GetAccountSettings"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "fc:UntagResources",
                "fc:TagResources"
            ],
            "Resource": "*"
        }
    ]
}

FCPolicyForOpsTeam (para o grupo de usuários operator):

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "fc:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:RequestTag/team": [
                        "ops"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "fc:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/team": [
                        "ops"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "fc:ListTaggedResources",
                "tag:ListTagKeys",
                "fc:GetAccountSettings"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "fc:UntagResources",
                "fc:TagResources"
            ],
            "Resource": "*"
        }
    ]
}

Expand to view optional policies

Para evitar problemas de permissão ao usar outros recursos do Function Compute, adicione as seguintes declarações opcionais às políticas acima.

{
  "Effect": "Allow",
  "Action": [
    "log:Get*",
    "log:List*",
    "log:Query*",
    "log:CreateProject",
    "log:CreateLogStore",
    "log:CreateIndex"
  ],
  "Resource": "*"
},
{
  "Effect": "Allow",
  "Action": [
    "fc:GetLayerVersionByArn",
    "fc:ListLayers",
    "fc:PutLayerACL",
    "fc:ListLayerVersions",
    "fc:CreateLayerVersion",
    "fc:DeleteLayerVersion",
    "fc:GetLayerVersion"
  ],
  "Resource": "*"
},
{
  "Effect": "Allow",
  "Action": [
    "fc:ListCustomDomains",
    "fc:GetCustomDomain",
    "fc:DeleteCustomDomain",
    "fc:UpdateCustomDomain",
    "fc:CreateCustomDomain"
  ],
  "Resource": "*"
},
{
  "Effect": "Allow",
  "Action": "ram:ListRoles",
  "Resource": "*"
}

Política

Finalidade

log:Get*, log:List*, log:Query*, log:CreateProject, log:CreateLogStore, log:CreateIndex

Permite que o Function Compute crie e leia logs

Ações de camada (fc:GetLayerVersionByArn, fc:ListLayers, etc.)

Habilita o uso de recursos relacionados a camadas

Ações de domínio personalizado (fc:ListCustomDomains, fc:GetCustomDomain, etc.)

Habilita o uso de recursos de domínio personalizado

ram:ListRoles

Permite consultar a lista de funções ao configurar uma função de execução

Para configurar e utilizar produtos como OSS, NAS e VPC no Function Compute, conceda também as permissões necessárias para esses serviços. Consulte Políticas de acesso e exemplos .

Etapa 5: Associe políticas aos grupos de usuários

  1. Associe a política FCPolicyForDevTeam ao grupo de usuários developer e a FCPolicyForOpsTeam ao grupo de usuários operator.

  2. Associe as políticas de sistema AliyunRAMFullAccess e AliyunECSFullAccess a ambos os grupos de usuários. Elas permitem que os usuários do RAM nos grupos criem funções com as tags especificadas, criem usuários e grupos do RAM, além de criar e associar políticas de acesso.

Consulte Conceder permissões a um grupo de usuários do RAM.

A figura a seguir mostra as políticas recomendadas para o grupo de usuários developer.

image

Etapa 6: Verifique a configuração

  1. Faça login no console do Function Compute como cada usuário do RAM. Consulte Fazer login no Console de Gerenciamento da Alibaba Cloud como um usuário do RAM.

  2. No painel de navegação à esquerda, escolha Function Management > Functions.

  3. Na barra de menu superior, selecione a região onde as funções com tags estão localizadas.

  4. Na página Functions, clique em Tag Filtering e filtre pela Tag Key team e pelo Tag Value correspondente (dev ou ops).

Um usuário do RAM só consegue visualizar e gerenciar funções ao filtrar por uma tag incluída nas políticas concedidas ao seu grupo de usuários. Sem a filtragem por tags, nenhuma função fica visível.

Selecione a mesma região das funções ao executar operações. O acesso entre regiões não funciona com esta configuração.

A figura a seguir mostra um usuário do RAM da equipe de desenvolvimento filtrando funções autorizadas pela tag team:dev.

image

Próximos passos