Configurazione delle autorizzazioni del ruolo di esecuzione Lambda - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione delle autorizzazioni del ruolo di esecuzione Lambda

Per accedere al cluster Amazon MSK, la mappatura delle funzioni e delle sorgenti degli eventi necessita delle autorizzazioni per eseguire varie azioni dell'API Amazon MSK. Aggiungi queste autorizzazioni al ruolo di esecuzione della funzione. Se gli utenti devono accedere, aggiungi le autorizzazioni richieste alla politica di identità per l'utente o il ruolo.

Per coprire tutte le autorizzazioni richieste, puoi allegare la politica di gestione dei ruoli al tuo AWSLambdaMSKExecutionruolo di esecuzione. In alternativa, puoi aggiungere ogni autorizzazione manualmente.

Autorizzazioni di base

Il ruolo di esecuzione della funzione Lambda deve disporre delle seguenti autorizzazioni richieste per creare e archiviare i log in Logs. CloudWatch

Autorizzazioni di accesso al cluster

Affinché Lambda possa accedere al cluster Amazon MSK per tuo conto, la funzione Lambda deve disporre delle seguenti autorizzazioni per il ruolo di esecuzione:

Devi solo aggiungere uno dei seguenti formati: kafka: o kafka: V2. DescribeCluster DescribeCluster Per i cluster Amazon MSK forniti, entrambe le autorizzazioni funzionano. Per i cluster Amazon MSK serverless, devi usare kafka: V2. DescribeCluster

Autorizzazioni VPC

Se il cluster Amazon MSK si trova in una sottorete privata del VPC, la funzione Lambda deve disporre di autorizzazioni aggiuntive per accedere alle risorse Amazon VPC. Questi includono VPC, sottoreti, gruppi di sicurezza e interfacce di rete. Il ruolo di esecuzione della funzione deve disporre delle seguenti autorizzazioni:

Autorizzazioni facoltative

La funzione Lambda potrebbe richiedere autorizzazioni per:

  • Accedi al tuo segreto SCRAM, se utilizzi l'autenticazione SASL/SCRAM. Ciò consente alla funzione di utilizzare un nome utente e una password per connettersi a Kafka.

  • Descrivi il tuo segreto di Secrets Manager, se utilizzi l' SASL/SCRAM autenticazione MTLS. Ciò consente alla funzione di recuperare le credenziali o i certificati necessari per connessioni sicure.

  • Accedi alla tua chiave AWS KMS gestita dal cliente, se desideri crittografare i criteri di filtro. Questo aiuta a mantenere segrete le regole di filtraggio dei messaggi.

  • Accedi ai segreti del registro degli schemi, se utilizzi un registro degli schemi con autenticazione:

    • Per il registro AWS Glue degli schemi: le esigenze glue:GetRegistry e le glue:GetSchemaVersion autorizzazioni della funzione. Questi consentono alla funzione di cercare e utilizzare le regole di formato dei messaggi memorizzate in AWS Glue.

    • Per Confluent Schema Registry con BASIC_AUTH oCLIENT_CERTIFICATE_TLS_AUTH: La tua funzione richiede l'secretsmanager:GetSecretValueautorizzazione per il segreto contenente le credenziali di autenticazione. Ciò consente alla funzione di recuperare i certificati username/password o necessari per accedere al Confluent Schema Registry.

    • Per i certificati CA privati: la tua funzione richiede secretsmanager: GetSecretValue autorizzazione per il segreto contenente il certificato. Ciò consente alla funzione di verificare l'identità dei registri dello schema che utilizzano certificati personalizzati.

Queste corrispondono alle seguenti autorizzazioni richieste:

Inoltre, se desideri inviare i record delle chiamate non riuscite a una destinazione in caso di errore, avrai bisogno delle seguenti autorizzazioni a seconda del tipo di destinazione:

  • Per le destinazioni Amazon SQS: sqs: SendMessage - Consente l'invio di messaggi a una coda Amazon SQS

  • Per le destinazioni Amazon SNS: SNS:Publish - Consente la pubblicazione di messaggi su un argomento Amazon SNS

  • Per le destinazioni dei bucket Amazon S3: s3: PutObject e s3: ListBucket - Consente di scrivere ed elencare oggetti in un bucket Amazon S3

Risoluzione dei problemi più comuni di autenticazione e autorizzazione

Se manca una delle autorizzazioni necessarie per consumare i dati dal cluster Amazon MSK, Lambda visualizza uno dei seguenti messaggi di errore nella mappatura delle origini degli eventi sotto. LastProcessingResult Per ulteriori informazioni su ogni metodo di autenticazione supportato, consulta. Configurazione dei metodi di autenticazione del cluster in Lambda

Il cluster non è riuscito ad autorizzare Lambda

Per i SASL/SCRAM nostri MTL, questo errore indica che l'utente fornito non dispone di tutte le seguenti autorizzazioni necessarie per la lista di controllo degli accessi Kafka (ACL):

  • DescribeConfigs Cluster

  • Descrivi il gruppo

  • Leggi il gruppo

  • Descrivi l'argomento

  • Leggi l'argomento

Per il controllo accessi IAM, al ruolo di esecuzione della funzione manca una o più autorizzazioni necessarie per accedere al gruppo o all'argomento. Consulta l'elenco delle autorizzazioni richieste in questa pagina.

Quando crei una policy Kafka ACLs o IAM con le autorizzazioni richieste per il cluster Kafka, specifica l'argomento e il gruppo come risorse. Il nome dell'argomento deve corrispondere all'argomento nella mappatura dell'origine eventi. Il nome del gruppo deve corrispondere all'UUID della mappatura dell'origine eventi.

Dopo avere aggiunto le autorizzazioni richieste al ruolo di esecuzione, potrebbero essere necessari alcuni minuti affinché le modifiche entrino in vigore.

Autenticazione SASL non riuscita

Per SASL/SCRAM, questo errore indica che il nome utente e la password forniti non sono validi.

Per il controllo accessi IAM, al ruolo di esecuzione manca l'autorizzazione kafka-cluster:Connect per il cluster MSK. Aggiungi questa autorizzazione al ruolo e specifica l'Amazon Resource Name (ARN) del cluster come risorsa.

Potresti visualizzare questo errore in modo intermittente. Il cluster rifiuta le connessioni dopo che il numero di connessioni TCP supera la quota del servizio Amazon MSK. Lambda cessa e ritenta finché una connessione non ha esito positivo. Dopo che Lambda si connette al cluster e ha eseguito il polling dei registri, l'ultimo risultato di elaborazione cambia in OK.

Il server non è riuscito ad autenticare Lambda

Questo errore indica che i broker Amazon MSK Kafka non sono riusciti ad autenticarsi con Lambda. Questo errore può verificarsi per uno dei seguenti motivi:

  • Non è stato fornito un certificato client per l'autenticazione mTLS.

  • È stato fornito un certificato client, ma i broker non sono configurati per l'utilizzo di mTLS.

  • Un certificato client non è attendibile per i broker.

Il certificato o la chiave privata forniti non sono validi

Questo errore indica che il consumatore Amazon MSK non ha potuto utilizzare il certificato o la chiave privata forniti. Assicurati che il certificato e la chiave utilizzino il formato PEM e che la crittografia a chiave privata utilizzi un algoritmo. PBES1 Per ulteriori informazioni, consulta Configurazione del segreto mTLS.