Configuração de permissões do Lambda para mapeamentos da origem do evento do Amazon MSK - AWS Lambda

Configuração de permissões do Lambda para mapeamentos da origem do evento do Amazon MSK

Além de acessar o cluster do Amazon MSK, a função e o mapeamento da origem do evento precisam de permissões para realizar várias ações de API do Amazon MSK. Adicione essas permissões ao perfil de execução da função. Se os usuários precisarem de acesso, adicione as permissões necessárias à política de identidades para o usuário ou o perfil.

A política gerenciada AWSLambdaMSKExecutionRole contém as permissões mínimas necessárias para mapeamentos da origem do evento do Lambda do Amazon MSK. Para simplificar o processo de permissões, é possível:

  • Anexe a política gerenciada AWSLambdaMSKExecutionRole ao seu perfil de execução.

  • Deixe que o console do Lambda gere as permissões para você. Quando você cria um mapeamento da origem do evento do Amazon MSK no console, o Lambda avalia seu perfil de execução e alerta você caso alguma permissão esteja faltando. Escolha Gerar permissões para atualizar automaticamente seu perfil de execução. Isso não funciona se você criou ou modificou manualmente suas políticas de perfil de execução, ou se as políticas estiverem anexadas a vários perfis. Observe que permissões adicionais ainda podem ser necessárias em seu perfil de execução ao usar recursos avançados, como Destino em caso de falha ou Registro de esquemas do AWS Glue.

Permissões obrigatórias

O perfil de execução da função do Lambda deve ter as permissões exigidas para mapeamentos da origem do evento do Amazon MSK a seguir. Essas permissões estão incluídas na política AWSLambdaMSKExecutionRole.

Permissões do CloudWatch Logs

As permissões a seguir permitem que o Lambda crie e armazene logs no Amazon CloudWatch Logs.

Permissões de cluster do MSK

As permissões a seguir permitem que o Lambda acesse o cluster do Amazon por você:

Recomendamos usar kafka:DescribeClusterV2 em vez de kafka:DescribeCluster. A permissão v2 funciona com clusters do Amazon MSK provisionados e com tecnologia sem servidor. Você só precisará de uma dessas permissões na sua política.

Permissões da VPC

As permissões a seguir permitem que o Lambda crie e gerencie interfaces de rede ao se conectar ao seu cluster do Amazon MSK:

Permissões opcionais.

Sua função do Lambda também pode precisar dessas permissões para:

  • Acesse clusters do Amazon MSK entre contas. Para mapeamentos da origem do evento entre contas, você precisará de kafka:DescribeVpcConnection no perfil de execução. Uma entidade principal do IAM que crie um mapeamento da origem do evento entre contas precisa de kafka:ListVpcConnections.

  • Acesse o segredo SCRAM, se estiver usando autenticação SASL/SCRAM. Com isso, a função pode usar um nome de usuário e uma senha para se conectar ao Kafka.

  • Descreva seu segredo do Secrets Manager, se estiver usando SASL/SCRAM ou autenticação mTLS. Com isso, a função pode recuperar as credenciais ou os certificados necessários para conexões seguras.

  • Acesse sua chave gerenciada pelo cliente do AWS KMS, se o seu segredo do AWS Secrets Manager estiver criptografado com uma chave gerenciada pelo cliente do AWS KMS.

  • Acesse os segredos do registro de esquemas se estiver usando um registro de esquema com autenticação:

    • Para o AWS Glue Schema Registry: sua função precisa das permissões glue:GetRegistry e glue:GetSchemaVersion. Elas permitem que a função pesquise e use as regras de formato de mensagens armazenadas no AWS Glue.

    • Para o Confluent Schema Registry com BASIC_AUTH ou CLIENT_CERTIFICATE_TLS_AUTH: a função precisa da permissão secretsmanager:GetSecretValue para o segredo que contém credenciais de autenticação. Com isso, a função pode recuperar o nome de usuário/senha ou os certificados necessários para acessar o Confluent Schema Registry.

    • Para certificados de CA privados: a função precisa da permissão secretsmanager:GetSecretValue para o segredo que contém o certificado. Com isso, a função pode verificar a identidade dos registros de esquema que usam certificados personalizados.

  • Acesse grupos de consumidores do cluster do Kafka e mensagens de sondagem do tópico se você estiver usando a autenticação do IAM para o mapeamento da origem do evento.

Eles correspondem às seguintes permissões necessárias:

Além disso, se quiser enviar registros cuja invocação não teve êxito para um destino em caso de falha, você precisará das seguintes permissões, dependendo do tipo de destino:

  • Para destinos do Amazon SQS: sqs:SendMessage: permite enviar mensagens a uma fila do Amazon SQS

  • Para destinos do Amazon SNS: sns:Publish: permite publicar mensagens em um tópico do Amazon SNS

  • Para destinos de buckets do Amazon S3: s3:PutObject e s3:ListBucket: permite escrever e listar objetos em um bucket do Amazon S3

Para solução de problemas de erros comuns de autenticação e de autorização, consulte Solução de problemas de erros do mapeamento da origem do evento do Kafka.