O Function Compute usa a função vinculada ao serviço AliyunServiceRoleForFC para acessar outros serviços da Alibaba Cloud em seu nome. A política de sistema anexada é a AliyunServiceRolePolicyForFC.
O Function Compute 3.0 permite vincular a AliyunServiceRoleForFC a funções individuais e conceder apenas as permissões necessárias a cada uma (princípio do menor privilégio).
Quando essa função é necessária
Rede VPC: Conecte funções a VPCs, vSwitches ou interfaces de rede elásticas (ENIs) para garantir comunicação segura em rede privada.
Implantação de imagens de contêiner: Baixe imagens do Container Registry para criar funções baseadas em imagem.
Mensagens orientadas a eventos: Monitore e consuma eventos do ApsaraMQ, Simple Message Queue (antigo MNS), EventBridge e Function Flow para acionar a execução de funções.
Gerenciamento de logs: Envie logs de execução de funções ao Simple Log Service para pesquisa, análise, visualização e solução de problemas.
Conteúdo da política
A AliyunServiceRolePolicyForFC concede acesso a VPC, ECS, Simple Log Service e Container Registry. Isso habilita conectividade VPC, download de imagens, recuperação de recursos e exportação de logs.
{
"Version": "1",
"Statement": [
{
"Action": [
"vpc:DescribeVSwitchAttributes",
"vpc:DescribeVpcAttribute"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecs:CreateNetworkInterface",
"ecs:DeleteNetworkInterface",
"ecs:DescribeNetworkInterfaces",
"ecs:CreateNetworkInterfacePermission",
"ecs:DeleteNetworkInterfacePermission",
"ecs:DescribeNetworkInterfacePermissions"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"cr:PullRepository",
"cr:GetArtifactTag",
"cr:GetAuthorizationToken",
"cr:GetRepository",
"cr:GetRepositoryTag",
"cr:GetRepoTagManifest",
"cr:GetRepositoryManifest",
"cr:GetInstanceVpcEndpoint",
"cr:GetInstance",
"cr:GetNamespace",
"cr:GetArtifactBuildRule",
"cr:CreateArtifactBuildTask"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"fc:InvokeFunction",
"eventbridge:PutEvents",
"mq:PUB",
"mq:OnsInstanceBaseInfo",
"mns:SendMessage",
"mns:PublishMessage",
"fnf:ReportTaskSucceeded",
"fnf:ReportTaskFailed"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"log:CreateProject",
"log:CreateLogStore",
"log:GetProject",
"log:GetLogStore",
"log:DeleteProject",
"log:DeleteLogStore",
"log:GetLogStoreLogs"
],
"Resource": [
"acs:log:*:*:project/aliyun-fc-*",
"acs:log:*:*:project/*/logstore/function-log*"
],
"Effect": "Allow"
},
{
"Action": [
"log:PostLogStoreLogs"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ram:GetRole"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"ram:ServiceName": "fc.aliyuncs.com"
}
}
}
]
}
Criar a função vinculada ao serviço
Ao fazer login no console do Function Compute 3.0, o sistema solicitará a criação da AliyunServiceRoleForFC caso ela ainda não exista. Após a confirmação, o sistema cria a função com a AliyunServiceRolePolicyForFC anexada.
Faça login no console do RAM como administrador do RAM.
No painel de navegação à esquerda, escolha .
Na página Roles, clique em Create Role.
No canto superior direito da página Create Role, clique em Create Service Linked Role.
-
Na página Create Service Linked Role, selecione um serviço confiável e clique em Create Service Linked Role.
Em Trusted Service, selecione Tag. A prévia mostra que o nome da função é
AliyunServiceRoleForTage o nome da política de permissão éAliyunServiceRolePolicyForTag.NotaOs serviços disponíveis constam na lista suspensa Select Service do console.
Verifique se a função foi criada:
Consulte a página Roles no console do RAM.
Chame a operação da API ListRoles.
Faça login novamente no console do Function Compute 3.0. O acesso bem-sucedido confirma a existência da função.
Excluir a função vinculada ao serviço
A exclusão da AliyunServiceRoleForFC impede o funcionamento correto do console do Function Compute 3.0. Prossiga com cautela.
Para excluir a função vinculada ao serviço no console do RAM:
Faça login no console do RAM como administrador do RAM.
No painel de navegação à esquerda, acesse .
Na página Roles, localize a função do RAM que deseja excluir e clique em Delete Role na coluna Actions.
-
Na caixa de diálogo Delete Role, insira o nome da função e clique em Delete Role.
O RAM verifica se algum recurso da nuvem ainda usa a função. Se houver dependências, a exclusão falhará. Remova os recursos dependentes indicados na mensagem de erro e tente novamente.
Permissões de usuário do RAM
Para permitir que um usuário do RAM crie ou exclua essa função, conceda as permissões ram:CreateServiceLinkedRole e ram:DeleteServiceLinkedRole pela sua conta Alibaba Cloud ou anexe a política AliyunRAMFullAccess.
Exemplo de política personalizada:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateServiceLinkedRole",
"ram:DeleteServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ram:ServiceName": "fc.aliyuncs.com"
}
}
}
]
}