Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfiguration von Berechtigungen für Lambda-Ausführungsrollen
Um auf den Amazon MSK-Cluster zuzugreifen, benötigen Ihre Funktions- und Ereignisquellenzuordnung Berechtigungen zur Ausführung verschiedener Amazon MSK-API-Aktionen. Fügen Sie diese Berechtigungen der Ausführungsrolle der Funktion hinzu. Wenn Ihre Benutzer Zugriff benötigen, fügen Sie der Identitätsrichtlinie für den Benutzer oder die Rolle die erforderlichen Berechtigungen hinzu.
Um alle erforderlichen Berechtigungen abzudecken, können Sie die Richtlinie „AWSLambdaMSKExecutionRollenverwaltung“ an Ihre Ausführungsrolle anhängen. Alternativ können Sie jede Berechtigung manuell hinzufügen.
Themen
Grundlegende Berechtigungen
Ihre Lambda-Funktionsausführungsrolle muss über die folgenden erforderlichen Berechtigungen verfügen, um Protokolle zu erstellen und in CloudWatch Logs zu speichern.
Cluster-Zugriffsberechtigungen
Damit Lambda in Ihrem Namen auf Ihren Amazon-MSK-Cluster zugreifen kann, muss Ihre Lambda-Funktion über die folgenden Berechtigungen in ihrer Ausführungsrolle verfügen:
-
kafka:DescribeVpcConnection: Nur für kontoübergreifende Zuordnungen von Ereignisquellen erforderlich.
-
kafka:ListVpcConnections: Nicht für die Ausführungsrolle erforderlich, aber für einen IAM-Prinzipal erforderlich, der eine kontenübergreifende Zuordnung von Ereignisquellen erstellt.
Sie müssen nur eine der Optionen kafka: DescribeCluster oder kafka: V2 hinzufügen. DescribeCluster Für bereitgestellte Amazon MSK-Cluster funktionieren beide Berechtigungen. Für serverlose Amazon MSK-Cluster müssen Sie kafka: V2 verwenden. DescribeCluster
Anmerkung
Lambda plant irgendwann, die Kafka: DescribeCluster -Berechtigung aus der Richtlinie „AWSLambdaMSKExecutionRollenverwaltete Rollen“ zu entfernen. Wenn Sie diese Richtlinie verwenden, migrieren Sie alle Anwendungen, die kafka: verwenden, um stattdessen kafka: V2 DescribeCluster zu verwenden. DescribeCluster
VPC-Berechtigungen
Wenn sich Ihr Amazon MSK-Cluster in einem privaten Subnetz Ihrer VPC befindet, muss Ihre Lambda-Funktion über zusätzliche Berechtigungen für den Zugriff auf Ihre Amazon VPC-Ressourcen verfügen. Dazu gehören Ihre VPC, Subnetze, Sicherheitsgruppen und Netzwerkschnittstellen. Die Ausführungsrolle Ihrer Funktion muss über die folgenden Berechtigungen verfügen:
Optionale Berechtigungen
Ihre Lambda-Funktion benötigt möglicherweise auch Berechtigungen für Folgendes:
-
Greifen Sie auf Ihr SCRAM-Geheimnis zu, wenn Sie die SASL/SCRAM-Authentifizierung verwenden. Dadurch kann Ihre Funktion einen Benutzernamen und ein Passwort verwenden, um eine Verbindung zu Kafka herzustellen.
-
Beschreiben Sie Ihr Secrets Manager-Geheimnis, falls Sie die SASL/SCRAM mTLS-Authentifizierung verwenden. Auf diese Weise kann Ihre Funktion die Anmeldeinformationen oder Zertifikate abrufen, die für sichere Verbindungen benötigt werden.
-
Greifen Sie AWS KMS auf Ihren vom Kunden verwalteten Schlüssel zu, wenn Sie Ihre Filterkriterien verschlüsseln möchten. Auf diese Weise können Sie Ihre Nachrichtenfilterregeln geheim halten.
-
Greifen Sie auf Ihre Schemaregistrierungsgeheimnisse zu, wenn Sie eine Schemaregistrierung mit Authentifizierung verwenden:
-
Für AWS Glue Schema Registry: Ihre Funktionsanforderungen
glue:GetRegistry
undglue:GetSchemaVersion
Berechtigungen. Diese ermöglichen es Ihrer Funktion, die in gespeicherten Regeln für das Nachrichtenformat nachzuschlagen und zu verwenden AWS Glue. -
Für Confluent Schema Registry
mit BASIC_AUTH
oderCLIENT_CERTIFICATE_TLS_AUTH
: Ihre Funktion benötigt einesecretsmanager:GetSecretValue
Genehmigung für das Geheimnis, das die Authentifizierungsdaten enthält. Dadurch kann Ihre Funktion die Oder-Zertifikate abrufen, die username/password für den Zugriff auf die Confluent Schema Registry erforderlich sind. -
Für private CA-Zertifikate: Ihre Funktion benötigt die GetSecretValue Berechtigung secretsmanager: für das Secret, das das Zertifikat enthält. Auf diese Weise kann Ihre Funktion die Identität von Schemaregistern überprüfen, die benutzerdefinierte Zertifikate verwenden.
-
Diese entsprechen den folgenden erforderlichen Berechtigungen:
-
kafka: ListScramSecrets — Ermöglicht die Auflistung von SCRAM-Geheimnissen für die Kafka-Authentifizierung
-
secretsmanager: GetSecretValue - Ermöglicht das Abrufen von Geheimnissen aus Secrets Manager
-
kms:Decrypt — Ermöglicht die Entschlüsselung verschlüsselter Daten mit AWS KMS
-
glue: GetRegistry - Ermöglicht den Zugriff auf die Schemaregistrierung AWS Glue
-
glue: GetSchemaVersion - Ermöglicht das Abrufen bestimmter Schemaversionen aus der AWS Glue Schemaregistry
Wenn Sie Aufzeichnungen über fehlgeschlagene Aufrufe an ein Ziel senden möchten, das bei einem Fehler auftritt, benötigen Sie außerdem je nach Zieltyp die folgenden Berechtigungen:
-
Für Amazon SQS SQS-Ziele: sqs: SendMessage — Ermöglicht das Senden von Nachrichten an eine Amazon SQS SQS-Warteschlange
-
Für Amazon SNS SNS-Ziele: sns:Publish — Erlaubt die Veröffentlichung von Nachrichten zu einem Amazon SNS SNS-Thema
-
Für Amazon S3 S3-Bucket-Ziele: s3: PutObject und s3: ListBucket — Ermöglicht das Schreiben und Auflisten von Objekten in einem Amazon S3 S3-Bucket
Behebung häufiger Authentifizierungs- und Autorisierungsfehler
Wenn eine der für die Nutzung von Daten aus dem Amazon MSK-Cluster erforderlichen Berechtigungen fehlt, zeigt Lambda in der Ereignisquellenzuordnung unter eine der folgenden Fehlermeldungen an. LastProcessingResult Weitere Informationen zu den einzelnen unterstützten Authentifizierungsmethoden finden Sie unter. Konfiguration von Cluster-Authentifizierungsmethoden in Lambda
Fehlermeldungen
Cluster konnte Lambda nicht autorisieren
Bei SASL/SCRAM oder mTLS weist dieser Fehler darauf hin, dass der angegebene Benutzer nicht über alle der folgenden erforderlichen Kafka-Zugriffssteuerungslisten (ACL) -Berechtigungen verfügt:
DescribeConfigs Cluster
Beschreiben von Gruppe
Gruppe lesen
Thema beschreiben
Thema lesen
Zur IAM-Zugriffskontrolle fehlen der Ausführungsrolle Ihrer Funktion eine oder mehrere der Berechtigungen, die für den Zugriff auf die Gruppe oder das Thema erforderlich sind. Sehen Sie sich die Liste der erforderlichen Berechtigungen auf dieser Seite an.
Wenn Sie entweder eine Kafka ACLs - oder eine IAM-Richtlinie mit den erforderlichen Kafka-Cluster-Berechtigungen erstellen, geben Sie das Thema und die Gruppe als Ressourcen an. Der Themenname muss mit dem Thema in der Ereignisquellenzuordnung übereinstimmen. Der Gruppenname muss mit der UUID der Ereignisquellenzuordnung übereinstimmen.
Nachdem Sie der Ausführungsrolle die erforderlichen Berechtigungen hinzugefügt haben, kann es einige Minuten dauern, bis die Änderungen wirksam werden.
SASL-Authentifizierung fehlgeschlagen
Bei SASL/SCRAM weist dieser Fehler darauf hin, dass der angegebene Benutzername und das Passwort ungültig sind.
Zur IAM-Zugriffskontrolle fehlt der Ausführungsrolle die Berechtigung kafka-cluster:Connect
für den MSK-Cluster. Fügen Sie der Rolle diese Berechtigung hinzu und geben Sie den Amazon-Ressourcenname (ARN) des Clusters als Ressource an.
Dieser Fehler wird Ihnen möglicherweise in zeitlichen Abständen angezeigt. Der Cluster lehnt Verbindungen ab, wenn die Anzahl der TCP-Verbindungen das Amazon-MSK-Servicekontingent überschreitet. Lambda zieht sich zurück und versucht es erneut, bis eine Verbindung erfolgreich ist. Nachdem Lambda eine Verbindung zum Cluster hergestellt hat und nach Datensätzen abfragt, ändert sich das letzte Verarbeitungsergebnis zu OK
.
Server konnte Lambda nicht authentifizieren
Dieser Fehler weist darauf hin, dass die Amazon-MSK-Kafka-Broker sich bei Lambda nicht authentifizieren konnten. Dieser Fehler kann aus folgenden Gründen auftreten:
Sie haben kein Client-Zertifikat für die mTLS-Authentifizierung bereitgestellt.
Sie haben ein Client-Zertifikat bereitgestellt, aber die Broker sind nicht für die Verwendung von mTLS konfiguriert.
Die Broker vertrauen einem Client-Zertifikat nicht.
Bereitgestelltes Zertifikat oder bereitgestellter privater Schlüssel ist ungültig
Dieser Fehler weist darauf hin, dass der Amazon-MSK-Konsument das bereitgestellte Zertifikat oder den bereitgestellten privaten Schlüssel nicht verwenden konnte. Stellen Sie sicher, dass das Zertifikat und der Schlüssel das PEM-Format verwenden und dass für die Verschlüsselung mit dem privaten Schlüssel ein Algorithmus verwendet wird. PBES1 Weitere Informationen finden Sie unter Konfigurieren des mTLS-Secrets.