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.
Argomenti
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:
-
kafka:DescribeVpcConnection: Richiesto solo per le mappature delle sorgenti degli eventi tra account.
-
kafka:ListVpcConnections: Non richiesto nel ruolo di esecuzione, ma richiesto per un principal IAM che sta creando una mappatura delle sorgenti degli eventi tra account.
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
Nota
Lambda alla fine prevede di rimuovere l'DescribeClusterautorizzazione kafka: dalla politica gestita dai AWSLambda MSKExecution ruoli. Se usi questa policy, migra tutte le applicazioni che utilizzano kafka: DescribeCluster per usare invece 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 leglue: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:GetSecretValue
autorizzazione 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:
-
kafka: ListScramSecrets - Consente l'elenco dei segreti SCRAM per l'autenticazione Kafka
-
secretsmanager: GetSecretValue - Consente il recupero di segreti da Secrets Manager
-
KMS:Decrypt - Permette la decrittografia dei dati crittografati utilizzando AWS KMS
-
glue: - Consente l'accesso al registro degli schemi GetRegistry AWS Glue
-
glue: GetSchemaVersion - Consente il recupero di versioni specifiche dello schema dal AWS Glue registro degli schemi
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
Messaggi di errore
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.