Ir para o conteúdo

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

3 minuto de leitura
0

Quero entender as diferenças entre as permissões do perfil de execução de funções do AWS Lambda e as permissões de invocação. Além disso, quero saber qual a diferença entre os dois tipos de permissões do AWS Identity and Access Management (AWS IAM) para Lambda.

Resolução

**Importante:**ao criar políticas do IAM, é uma prática recomendada conceder somente as permissões necessárias para realizar determinada tarefa.

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

As permissões do perfil de execução do Lambda tratam-se de permissões do IAM que concedem a uma função do Lambda permissão para acessar serviços e recursos específicos da AWS. Quando você não concede permissões de perfil de execução à função para um serviço ou recurso, a função não tem acesso ao serviço ou ao recurso.

Conceder permissões do perfil de execução

Para conceder permissões de perfil de execução do Lambda, liste ações de API específicas do serviço, como s3:GetObject ou sns:publish, no elemento Ação de uma instrução da política do IAM. Em seguida, anexe a política a um perfil de execução do IAM que sua função do Lambda assume quando é invocada.

Para serviços que geram uma fila ou fluxo de dados, configure um mapeamento da origem do evento do Lambda para pesquisar a fila ou o fluxo de dados. O mapeamento da origem do evento usa permissões no perfil de execução da função para ler e gerenciar itens na origem do evento.

**Observação:**as permissões, estruturas de eventos, configurações e comportamento de pesquisa variam de acordo com a origem do evento. Para ver um exemplo de política do IAM que inclui permissões de pesquisa do Lambda, consulte a política do IAM para permitir que uma função do AWS Lambda acesse os registros de stream do Amazon DynamoDB.

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

As permissões de invocação da função do Lambda são permissões do IAM que concedem a um serviço ou recurso específico a permissão para invocar uma função do Lambda. Quando você não concede uma permissão de invocação de serviço ou recurso à sua função do Lambda, o serviço ou recurso não pode invocar essa função.

**Importante:**é preciso conceder permissão de invocação aos serviços que enviam origens de eventos para a função do Lambda. Por exemplo, use a política baseada em recursos da função para conceder a permissão ao Amazon API Gateway para invocar uma função do Lambda.

Conceder permissões de invocação

Para conceder permissões de invocação do Lambda, liste a ação da API lambda:invokeFunction no elemento Ação da instrução de política baseada em recursos do IAM de uma função do Lambda. Configure a política baseada em recursos da função do Lambda separadamente do perfil de execução da função.

**Observação:**nesse caso, o identificador de ação lambda:InvokeFunction é diferente da operação da API Invoke. Para as demais ações, o identificador de ação é o nome da operação com o prefixo lambda:.

Quando você usa o console do Lambda para adicionar um gatilho à 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 da AWS que não estão disponíveis no console, use a ação de API AddPermission do Lambda.

Para mais informações, consulte Como conceder acesso à função do Lambda a serviços da AWS.

Informações relacionadas

Como gerenciar permissões no AWS Lambda

Como processar políticas gerenciadas pela AWS no perfil de execução

AWS OFICIALAtualizada há um ano