Este tópico descreve as funções de execução, incluindo como criar uma política de permissões e uma função de execução.
Contexto
Ao desenvolver aplicações com o Serverless Workflow, crie uma função de execução e conceda a ela as permissões necessárias. Quando o Serverless Workflow executa um fluxo, ele assume essa função para acessar outros serviços em nuvem em seu nome, como invocar funções, enviar mensagens e executar outros fluxos.
O console do Serverless Workflow permite criar rapidamente uma função de execução e atribuir a ela permissões padrão do sistema. Para obter um controle de acesso mais granular, como permitir que um fluxo acesse apenas funções específicas no Function Compute, siga as instruções deste tópico.
O Serverless Workflow utiliza o sistema de gerenciamento de permissões baseado em funções do Resource Access Management (RAM). O princípio básico de autorização é: uma política define as permissões de acesso a um serviço específico. Ao anexar uma política a uma função, esta adquire tais permissões. Para acessar outro serviço, um serviço assume uma função com as permissões necessárias. Essa abordagem evita o uso de chaves de acesso de longo prazo e aumenta a segurança do sistema.
Crie uma política de permissões
Faça login no console do RAM como administrador do RAM.
No painel de navegação à esquerda, escolha .
Na página Policies, clique em Create Policy.
Na página Create Policy, clique na aba Script.
-
Insira o documento de política e clique em Next: Edit Basic Information.
Para obter mais informações sobre a sintaxe e a estrutura de uma política de permissões, consulte Estrutura e sintaxe da política. A tabela a seguir apresenta exemplos comuns de permissões.
Descrição
Efeito
Ação
Recurso
Permite invocar a função Func1 no serviço Test1.
Allow
fc:InvokeFunction
acs:fc:::services/Test1/functions/Func1
Permite invocar todas as funções no serviço Test2.
Allow
fc:InvokeFunction
acs:fc:::services/Test2/functions/*
Permite invocar todas as funções em serviços cujos nomes começam com Public.
Allow
fc:InvokeFunction
acs:fc:::services/Public/functions/
Permite enviar mensagens para a fila Test1.
Allow
mns:SendMessage
acs:mns:::/queues/Test1/messages
Permite iniciar execuções do fluxo Test1.
Allow
fnf:StartExecution
acs:fnf:::flows/Test1/executions/*
Na seção Basic Information, insira um Policy Name e uma Note e clique em OK.
Crie uma função de execução
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 painel Create Role, defina os parâmetros a seguir e clique em Finish.
Em Trusted Entity type, selecione Alibaba Cloud Service.
Em Role Type, selecione Normal Service Role.
Em RAM Role Name, insira FnFExecutionRole.
Em Trusted Service, selecione Function Flow.
-
Anexe a política de permissões criada à função FnFExecutionRole.
Para obter instruções detalhadas, consulte Gerencie permissões para uma função do RAM.
Clique na função criada. Na seção Basic Information, copie o ARN da função. Esse ARN é necessário para criar ou atualizar um fluxo.