Todos os produtos
Search
Central de documentação

Function Compute:Políticas e exemplos de políticas

Última atualização: Sep 21, 2026

O Function Compute usa o Resource Access Management (RAM) para gerencie permissões. Com o RAM, você não precisa compartilhar seus pares de AccessKey com outros usuários. Em vez disso, conceda aos usuários apenas as permissões mínimas necessárias. Um par de AccessKey inclui um AccessKey ID e um AccessKey secret. Este tópico descreve as políticas do Function Compute, incluindo políticas de sistema e personalizadas, e fornece exemplos de políticas personalizadas.

Tipos de política

No RAM, uma política é um conjunto de permissões definidas com base em Policy structure and syntax. Ela define precisamente o conjunto de recursos autorizados, o conjunto de ações e as condições de autorização. As políticas do Function Compute incluem os seguintes tipos:

  • System policies: A Alibaba Cloud cria e atualiza as políticas de sistema. Você pode usar essas políticas, mas não modifique-as.

  • Custom policies: Você pode crie, atualize e exclua políticas personalizadas, mas deve manter o controle de versão delas.

Políticas de sistema

Ao fazer logon no console do Function Compute como usuário do RAM pela primeira vez, use sua conta da Alibaba Cloud para anexar as políticas de sistema do Function Compute e de outros serviços da Alibaba Cloud ao usuário do RAM. Você só poderá acessar os serviços da Alibaba Cloud, incluindo o Function Compute, como usuário do RAM depois que as políticas de sistema forem anexadas.

Confira a seguir as políticas de sistema de diferentes tipos:

  • Políticas de sistema para o Function Compute

    Nome da política

    Descrição

    AliyunFCReadOnlyAccess

    Permissões de somente leitura em todos os recursos do Function Compute.

    AliyunFCInvocationAccess

    Permissões para invocar funções.

    AliyunFCFullAccess

    Permissões para gerencie todos os recursos do Function Compute.

    Nota

    A política AliyunFCFullAccess contém as permissões das políticas AliyunFCInvocationAccess e AliyunFCReadOnlyAccess. Depois de anexar a política AliyunFCFullAccess a um usuário do RAM, não é necessário anexar as políticas AliyunFCInvocationAccess ou AliyunFCReadOnlyAccess a esse usuário.

  • Políticas de sistema para outros serviços da Alibaba Cloud

    Serviço da Alibaba Cloud

    Política de sistema

    Simple Log Service

    • AliyunLogReadOnlyAccess: permissões de somente leitura nos recursos do Simple Log Service.

    • AliyunLogFullAccess: permissões para gerencie os recursos do Simple Log Service.

    Nota

    Para acessar o Simple Log Service como usuário do RAM, anexe apenas a política AliyunLogReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    Object Storage Service (OSS)

    • AliyunOSSReadOnlyAccess: permissões de somente leitura nos recursos do OSS.

    • AliyunOSSFullAccess: permissões para gerencie os recursos do OSS.

    CloudMonitor

    AliyunCloudMonitorReadOnlyAccess: permissões de somente leitura nos recursos do CloudMonitor.

    Certificate Management Service

    AliyunYundunCertReadOnlyAccess: permissões de somente leitura nos recursos do Certificate Management Service.

    Virtual Private Cloud (VPC)

    AliyunVPCReadOnlyAccess: permissões de somente leitura nos recursos da VPC.

    Elastic Compute Service (ECS)

    AliyunECSReadOnlyAccess: permissões de somente leitura nos recursos do ECS.

    RAM

    • AliyunRAMReadOnlyAccess: permissões de somente leitura nos recursos do RAM, incluindo permissões para visualize usuários, grupos e informações de autorização.

    • AliyunRAMFullAccess: permissões para gerencie os recursos do RAM, incluindo permissões para gerencie usuários e conceder permissões.

    Nota

    Se você anexar apenas a política AliyunRAMReadOnlyAccess a um usuário do RAM, ele poderá obter apenas a lista de funções no console. Caso precise executar outras operações como usuário do RAM, anexe a política AliyunRAMFullAccess ao usuário.

    Application Real-Time Monitoring Service (ARMS)

    • AliyunARMSReadOnlyAccess: permissões de somente leitura nos recursos do ARMS.

    • AliyunARMSFullAccess: permissões para gerencie os recursos do ARMS.

    Nota

    Ao acessar o ARMS como usuário do RAM, anexe somente a política AliyunARMSReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    Simple Message Queue (formerly MNS)

    • AliyunMNSReadOnlyAccess: permissões de somente leitura nos recursos do Simple Message Queue (formerly MNS).

    • AliyunMNSFullAccess: permissões para gerencie os recursos do Simple Message Queue (formerly MNS).

    Nota

    Para que um usuário do RAM acesse o Simple Message Queue (formerly MNS), anexe apenas a política AliyunMNSReadOnlyAccess ao usuário, com base no princípio do menor privilégio.Simple Message Queue (formerly MNS)

    EventBridge

    • AliyunEventBridgeReadOnlyAccess: permissões de somente leitura nos recursos do EventBridge.

    • AliyunEventBridgeFullAccess: permissões para gerencie os recursos do EventBridge.

    Nota

    Se um usuário do RAM precisar acessar o EventBridge, anexe apenas a política AliyunEventBridgeReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    ApsaraMQ for RocketMQ

    • AliyunMQReadOnlyAccess: permissões de somente leitura nos recursos do ApsaraMQ for RocketMQ.

    • AliyunMQFullAccess: permissões para gerencie os recursos do ApsaraMQ for RocketMQ.

    Nota

    Para conceder acesso ao ApsaraMQ for RocketMQ a um usuário do RAM, anexe apenas a política AliyunMQReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    Container Registry

    • AliyunContainerRegistryReadOnlyAccess: permissões de somente leitura nos recursos do Container Registry.

    • AliyunContainerRegistryFullAccess: permissões para gerencie os recursos do Container Registry.

    Nota

    Para permitir que um usuário do RAM acesse o Container Registry, anexe apenas a política AliyunContainerRegistryReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    File Storage NAS (NAS)

    • AliyunNASReadOnlyAccess: permissões de somente leitura nos recursos do NAS.

    • AliyunNASFullAccess: permissões para gerencie os recursos do NAS.

    Nota

    Para acessar o NAS como usuário do RAM, anexe somente a política AliyunNASReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    ApsaraDB RDS

    • AliyunRDSReadOnlyAccess: permissões de somente leitura nos recursos do ApsaraDB RDS.

    • AliyunRDSFullAccess: permissões para gerencie os recursos do ApsaraDB RDS.

    Nota

    Para que um usuário do RAM acesse o ApsaraDB RDS, anexe apenas a política AliyunRDSReadOnlyAccess ao usuário, com base no princípio do menor privilégio.

    Alibaba Cloud DevOps

    • AliyunRDCReadOnlyAccess: permissões de somente leitura nos recursos do Apsara DevOps RDC.

    • AliyunRDCFullAccess: permissões para gerencie os recursos do Apsara DevOps RDC.

    Nota

    Para acessar o ApsaraDB RDS como usuário do RAM, anexe somente a política AliyunRDCReadOnlyAccesss ao usuário, com base no princípio do menor privilégio.

Importante

Caso não seja possível atualizar gatilhos como usuário do RAM após anexar uma política relacionada a gatilhos, como a AliyunOSSFullAccess, ao usuário por meio de uma conta da Alibaba Cloud, anexe a seguinte política personalizada ao usuário usando a conta da Alibaba Cloud. Depois de anexar a política personalizada, você poderá atualizar os gatilhos de eventos do OSS como usuário do RAM.

 {
        "Statement": [
            {
                "Action": [
                    "ram:PassRole"
                ],
                "Effect": "Allow",
                "Resource": "*"
            }
        ],
        "Version": "1"
    }

Políticas personalizadas

Além das políticas de sistema, o Function Compute suporta políticas personalizadas que permitem conceder permissões granulares aos usuários do RAM. Para obter mais informações sobre políticas, consulte Permission policy elements.

Ação

Recurso

Descrição

fc:GetAsyncTask

acs:fc:{region}:{uid}:functions/{functionName}/async-tasks/{taskId}

Tarefas assíncronas

fc:StopAsyncTask

acs:fc:{region}:{uid}:functions/{functionName}/async-tasks/{taskId}

fc:ListAsyncTasks

acs:fc:{region}:{uid}:functions/{functionName}/async-tasks/*

fc:ListFunctionAsyncInvokeConfigs

acs:fc:{region}:{uid}:async-invoke-configs/* acs:fc:{region}:{uid}:functions/{functionName}

Configurações de invocação assíncrona

fc:ListConcurrencyConfigs

acs:fc:{region}:{uid}:concurrency-configs/* acs:fc:{region}:{uid}:functions/{functionName}

Configurações de concorrência

fc:ListCustomDomains

acs:fc:{region}:{uid}:custom-domains/*

Todos os nomes de domínio personalizados

fc:GetCustomDomain

acs:fc:{region}:{uid}:custom-domains/{domainName}

Nomes de domínio personalizados especificados

fc:DeleteCustomDomain

fc:UpdateCustomDomain

fc:CreateCustomDomain

fc:ListFunctions

acs:fc:{region}:{uid}:functions/*

Todos os recursos de função

fc:DeleteConcurrencyConfig

acs:fc:{region}:{uid}:functions/{functionName}

fc:PutConcurrencyConfig

acs:fc:{region}:{uid}:functions/{functionName}

fc:DeleteFunction

acs:fc:{region}:{uid}:functions/{functionName}

fc:UpdateFunction

acs:fc:{region}:{uid}:functions/{functionName}

fc:CreateFunction

acs:fc:{region}:{uid}:functions/{functionName}

fc:GetConcurrencyConfig

acs:fc:{region}:{uid}:functions/{functionName}

fc:GetFunction

acs:fc:{region}:{uid}:functions/{functionName}

fc:ListAliases

acs:fc:{region}:{uid}:functions/{functionName}/aliases/*

Todos os aliases

fc:CreateAlias

acs:fc:{region}:{uid}:functions/{functionName}/aliases/{aliasName}

Aliases especificados

fc:UpdateAlias

acs:fc:{region}:{uid}:functions/{functionName}/aliases/{aliasName}

fc:GetAlias

acs:fc:{region}:{uid}:functions/{functionName}/aliases/{aliasName}

fc:DeleteAlias

acs:fc:{region}:{uid}:functions/{functionName}/aliases/{aliasName}

fc:ListInstances

acs:fc:{region}:{uid}:functions/{functionName}/instances/*

Informações da instância

fc:ListTriggers

acs:fc:{region}:{uid}:functions/{functionName}/triggers/*

Todos os recursos de gatilho da função especificada

fc:CreateTrigger

acs:fc:{region}:{uid}:functions/{functionName}/triggers/{triggerName}

Recursos de gatilho específicos da função especificada

fc:UpdateTrigger

acs:fc:{region}:{uid}:functions/{functionName}/triggers/{triggerName}

fc:GetTrigger

acs:fc:{region}:{uid}:functions/{functionName}/triggers/{triggerName}

fc:DeleteTrigger

acs:fc:{region}:{uid}:functions/{functionName}/triggers/{triggerName}

fc:PublishFunctionVersion

acs:fc:{region}:{uid}:functions/{functionName}/versions

Todas as versões

fc:ListFunctionVersions

acs:fc:{region}:{uid}:functions/{functionName}/versions/*

fc:DeleteFunctionVersion

acs:fc:{region}:{uid}:functions/{functionName}/versions/{versionId}

Versões especificadas

fc:ListVpcBindings

acs:fc:{region}:{uid}:functions/{functionName}/vpc-bindings/*

Configurações de VPC

fc:CreateVpcBinding

acs:fc:{region}:{uid}:functions/{functionName}/vpc-bindings/*

fc:DeleteVpcBinding

acs:fc:{region}:{uid}:functions/{functionName}/vpc-bindings/{vpcId}

fc:GetFunctionCode

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

Todo o código da função

fc:GetFunctionAsyncInvokeConfig

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

Todos os recursos da função

fc:DeleteProvisionConfig

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

fc:PutProvisionConfig

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

fc:InvokeFunction

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

fc:PutFunctionAsyncInvokeConfig

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

fc:GetProvisionConfig

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

fc:DeleteFunctionAsyncInvokeConfig

acs:fc:{region}:{uid}:functions/{functionName} acs:fc:{region}:{uid}:functions/{functionName}/{qualifier}

fc:GetLayerVersionByArn

acs:fc:{region}:{uid}:layerarn/{arn}

Todas as camadas

fc:ListLayers

acs:fc:{region}:{uid}:layers/*

fc:PutLayerACL

acs:fc:{region}:{uid}:layers/{layerName}

fc:ListLayerVersions

acs:fc:{region}:{uid}:layers/{layerName}/versions/*

fc:CreateLayerVersion

acs:fc:{region}:{uid}:layers/{layerName}/versions/*

fc:DeleteLayerVersion

acs:fc:{region}:{uid}:layers/{layerName}/versions/{version}

fc:GetLayerVersion

acs:fc:{region}:{uid}:layers/{layerName}/versions/{version}

fc:ListProvisionConfigs

acs:fc:{region}:{uid}:provision-configs/* acs:fc:{region}:{uid}:functions/{functionName}

Configurações de instâncias provisionadas

Use a política personalizada anterior para configure as permissões de invocação da função demo na região China (Hangzhou). Confira os detalhes no trecho de código a seguir:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "fc:InvokeFunction"
            ],
            "Resource": "acs:fc:cn-hangzhou:*:functions/demo",
            "Effect": "Allow"
        }
    ]
}

Políticas de exemplo

Política personalizada para crie e consultar serviços, além de crie e invocar funções

{
	"Version": "1",
	"Statement": [{
			"Action": [
				"fc:CreateFunction",
				"fc:GetFunction",
				"fc:InvokeFunction"
			],
			"Resource": "*",
			"Effect": "Allow"
		},
		{
			"Action": [
				"ram:PassRole"
			],
			"Effect": "Allow",
			"Resource": "*"
		}
	]
}

Política personalizada para acessar logs

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "log:ListProject",
                "log:ListLogStore"
            ],
            "Resource": "acs:log:*:*:project/*"
        }
    ]
}

Política personalizada para acessar gatilhos de eventos do OSS

{
  "Statement": [
    {
      "Action": [
        "oss:ListBucket",
        "oss:GetBucketEventNotification",
        "oss:PutBucketEventNotification",
        "oss:DeleteBucketEventNotification"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ],
  "Version": "1"
}

Política personalizada para proibir a criação de serviços que possam acessar a Internet

{
  "Version": "1",
  "Statement": [
    {
      "Action": "fc:UpdateFunction",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableServiceInternetAccess": "true"
        }
      }
    },
    {
      "Action": "fc:CreateFunction",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "fc:EnableServiceInternetAccess": "false"
        }
      }
    }
  ]
}

Política personalizada para proibir a criação de serviços que não tenham permissão para acessar o Simple Log Service

{
  "Version": "1",
  "Statement": [
    {
      "Action": "fc:UpdateFunction",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableServiceSLSLogging": "false"
        }
      }
    },
    {
      "Action": "fc:CreateFunction",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "fc:EnableServiceSLSLogging": "true"
        }
      }
    }
  ]
}

Política personalizada para proibir a criação de gatilhos que possam ser acessados pela Internet

{
  "Version": "1",
  "Statement": [
    {
      "Action": "fc:UpdateTrigger",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableHTTPTriggerInternet": "true"
        }
      }
    },
    {
      "Action": "fc:CreateTrigger",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableHTTPTriggerInternet": "true"
        }
      }
    }
  ]
}

Essa política proíbe os usuários de defina o parâmetro disableURLInternet como false nas operações CreateTrigger e UpdateTrigger. Esse parâmetro só pode ser definido como true, o que indica que não há suporte para nomes de domínio públicos padrão. Essa restrição se aplica apenas a gatilhos HTTP. Para obter mais informações, consulte HTTPTriggerConfig.

Nesse caso, o sistema retornará o erro 403 AccessDenied se você defina disableURLInternet=false. Confira um exemplo no código a seguir:

{
  "statusCode":403,
  "Code":"AccessDenied",
  "Message":"the caller is not authorized to perform 'fc:CreateTrigger' on resource 'acs:fc:xx:xx:functions/xx/triggers/xx' with condition '[fc:EnableHTTPTriggerInternet=true]'"
}

Política personalizada para proibir a criação de gatilhos que possam ser acessados no modo anônimo

{
  "Version": "1",
  "Statement": [
    {
      "Action": "fc:UpdateTrigger",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableHTTPTriggerAnonymous": "true"
        }
      }
    },
    {
      "Action": "fc:CreateTrigger",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableHTTPTriggerAnonymous": "true"
        }
      }
    }
  ]
}

Essa política proíbe os usuários de defina o parâmetro authType como anonymous nas operações CreateTrigger e UpdateTrigger. Esse parâmetro só pode ser definido como function, o que torna a autenticação obrigatória. Essa restrição se aplica apenas a gatilhos HTTP. Para obter mais informações, consulte HTTPTriggerConfig.

Nesse caso, o sistema retornará o erro 403 AccessDenied se você defina authType=anonymous. Confira um exemplo no código a seguir:

{
  "statusCode":403,
  "Code":"AccessDenied",
  "Message":"the caller is not authorized to perform 'fc:CreateTrigger' on resource 'acs:fc:xx:xx:functions/xx/triggers/xx' with condition '[fc:EnableHTTPTriggerAnonymous=true]'"
}

Política personalizada para proibir a criação de nomes de domínio personalizados que permitam solicitações HTTP

{
  "Version": "1",
  "Statement": [
    {
      "Action": "fc:CreateCustomDomain",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableCustomDomainHTTP": "true"
        }
      }
    },
    {
      "Action": "fc:UpdateCustomDomain",
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "fc:EnableCustomDomainHTTP": "true"
        }
      }
    }
  ]
}

Essa política proíbe os usuários de defina o parâmetro protocol como HTTP ou HTTP,HTTPS nas operações CreateCustomDomain e UpdateCustomDomain. Esse parâmetro aceita apenas o valor HTTPS.

O sistema retornará o erro 403 AccessDenied se você tentar ative HTTP para um nome de domínio personalizado. Confira um exemplo no código a seguir:

{
  "statusCode":403,
  "Code":"AccessDenied",
  "Message":"the caller is not authorized to perform 'fc:CreateCustomDomain' on resource 'acs:fc:xxx:xxx:custom-domains/xxx' with condition '[fc:EnableCustomDomainHTTP=true]'"
}