Como invoco uma função do Lambda por meio de um fluxo do Kinesis entre contas?
Quero invocar uma função do AWS Lambda por meio de um fluxo do Amazon Kinesis que está em outra conta da AWS.
Resolução
O Amazon Kinesis Data Streams oferece suporte a políticas baseadas em recursos. Isso permite que você processe dados ingeridos por uma stream de uma conta com uma função do AWS Lambda de outra conta.
Siga as etapas abaixo para criar a função Lambda e depois configurá-la para acessar seu Kinesis Data Stream.
Criar uma função de execução do Lambda
- Acesse o console do IAM e selecione a guia Funções.
- Selecione Criar perfil.
- Em AWS Service, selecione Tipo de entidade confiável. Em Serviço, selecione Lambda.
- Na tabela Políticas de permissões, selecione a política gerenciada do IAM AWSLambdaKinesisExecutionRole.
- Forneça um nome para a função e selecione Criar função.
Observação: a política gerenciada de IAM AWSLambdaKinesisExecutionRole tem as permissões necessárias de invocação do Kinesis Data Streams e do Lambda. Ela também concede acesso a todos os recursos potenciais do Kinesis Data Streams que você pode acessar.
Criar a função Lambda
Crie uma função AWS Lambda que possa processar registros em um stream de dados do Amazon Kinesis.
Em Função de execução, selecione a função que você criou.
Observação: essa política tem as permissões necessárias de invocação do Kinesis Data Streams e do Lambda. Ela também concede acesso a todos os recursos potenciais do Kinesis Data Streams que acessar.
Adicione a função de execução ao proprietário do recurso Kinesis Data Streams para configurar a política de recursos.
Configurar o Kinesis Data Stream
- Acesse o console do Amazon Kinesis Data Streams e selecione seu fluxo de dados.
- Selecione a guia Compartilhamento de fluxo de dados.
- Selecione o botão Criar política para iniciar o editor visual de políticas.
- Selecione o consumidor na guia Fan-out aprimorado para compartilhar um consumidor registrado em um fluxo de dados.
- Selecione Criar política. Você também pode escrever a política JSON diretamente.
- Em Principal, insira a função de execução do Lambda entre contas que você criou. Certifique-se de incluir a ação kinesis:DescribeStream.
Para obter mais informações sobre exemplos de políticas de recursos para o Kinesis Data Streams, consulte Exemplos de políticas baseadas em recursos para o Kinesis Data Streams. - Selecione Criar política. Ou use o PutResourcePolicy para anexar a política ao seu recurso.
Se você usa criptografia do lado do servidor com uma chave gerenciada pela AWS e deseja compartilhar o acesso por meio de uma política de recursos, deve usar uma chave gerenciada pelo cliente (chave AWS KMS). Para obter mais informações, consulte O que é criptografia do lado do servidor para Kinesis Data Streams? Além disso, você deve permitir que suas entidades principais de compartilhamento tenham acesso à sua chave KMS por meio do acesso entre contas do KMS. Para obter mais informações, consulte Permitir que usuários de outras contas usem uma chave KMS.
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há um ano