Qual é a diferença entre permissões de função de execução de funções do Lambda e permissões de invocação?

Data da última atualização: 09/03/2022

Quero entender as diferenças entre permissões de função de execução de funções do AWS Lambda e permissões de invocação. Em que sentido os tipos de permissões do AWS Identity and Access Management (IAM) para o Lambda são diferentes?

Resolução

Importante: ao criar políticas do IAM, uma prática recomendada é conceder apenas as permissões necessárias para realizar uma tarefa específica. Para obter mais informações, consulte Conceder o menor privilégio no Guia do usuário do IAM.

Permissões de função de execução de funções do Lambda

Permissões de função de execução do Lambda são permissões do IAM que concedem a uma função do Lambda permissão para acessar serviços e recursos específicos da Nuvem AWS. Se você não conceder permissões de função de execução de funções para um serviço ou recurso da Nuvem AWS, a função não poderá acessar esse serviço ou recurso.

Importante: para funções do Lambda que pesquisam outros serviços da Nuvem AWS, são necessárias permissões de função de execução que permitem que a função recupere registros desses serviços.

Como permissões de função de execução são concedidas

As permissões de função de execução do Lambda são concedidas na forma de identificadores de ação de API específicos (por exemplo, s3:GetObject). Esses identificadores de ação estão listados no elemento Action de uma declaração de política do IAM. Em seguida, a política é anexada a uma função do IAM chamada de função de execução, que a função que o Lambda assume sempre que é chamada.

Para serviços que geram uma fila ou fluxo de dados, você deve configurar um mapeamento de fonte de eventos para que o Lambda pesquise a fila ou o fluxo de dados. Um mapeamento de fonte de eventos usa permissões na função de execução da função para ler e gerenciar itens na fonte do evento.

Observação: as permissões, a estrutura do evento, as configurações e o comportamento da pesquisa variam de acordo com a fonte do evento. Para ver um exemplo de política do IAM que inclui permissões de sondagem do Lambda, consulte Política do IAM para permitir que uma função do AWS Lambda acesse registros de fluxo do DynamoDB.

Permissões de invocação de funções do Lambda

Permissões de invocação de funções do Lambda são permissões do IAM que concedem a um serviço ou recurso da Nuvem AWS específico para invocar uma função do Lambda. Se você não conceder permissões de invocação de serviço ou recurso para sua função do Lambda, esse serviço ou recurso não poderá invocar sua função.

Importante: para funções do Lambda invocadas pelos serviços da Nuvem AWS que enviam fontes de eventos para a função, são necessárias permissões de invocação.

Como as permissões de invocação são concedidas

Permissões de invocação do Lambda são fornecidas na forma de um identificador de ação de API específico: lambda:InvokeFunction. Esse identificador de ação está listado no elemento Action de uma declaração de política baseada em recursos do IAM da função do Lambda. A política baseada em recursos de uma função do Lambda é configurada separadamente da função de execução da função.

Observação: este é um caso especial em que o identificador de ação (lambda:InvokeFunction) é diferente da operação da API (Invoke). Para outras ações, o identificador de ação é o nome da operação prefixado por lambda:.

Quando você usa o console do Lambda para adicionar um acionador à sua função, as permissões de invocação necessárias são adicionadas automaticamente à política baseada em recursos da função. Para conceder permissões a contas ou serviços que não estão disponíveis no console, você deve usar a ação da API do Lambda AddPermission.

Para obter mais informações, consulte Conceder acesso de função aos serviços da AWS.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?