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 Lambda-Berechtigungen für Amazon MSK-Ereignisquellenzuordnungen
Um auf den Amazon-MSK-Cluster zugreifen zu können, benötigen Ihre Funktion und Zuordnung von Ereignisquellen Berechtigungen zum Ausführen verschiedener Amazon-MSK-API-Aktionen. Fügen Sie diese Berechtigungen zur Ausführungsrolle der Funktion hinzu. Wenn Ihre Benutzer Zugriff benötigen, fügen Sie die erforderlichen Berechtigungen zur Identitätsrichtlinie für Benutzer oder Rolle hinzu.
Die AWSLambdaMSKExecutionRole verwaltete Richtlinie enthält die mindestens erforderlichen Berechtigungen für Amazon MSK-Lambda-Ereignisquellenzuordnungen. Um den Genehmigungsprozess zu vereinfachen, können Sie:
-
Hängen Sie die AWSLambdaMSKExecutionRole verwaltete Richtlinie Ihrer Ausführungsrolle an.
-
Lassen Sie die Lambda-Konsole die Berechtigungen für Sie generieren. Wenn Sie in der Konsole eine Amazon MSK-Ereignisquellenzuordnung erstellen, bewertet Lambda Ihre Ausführungsrolle und warnt Sie, wenn Berechtigungen fehlen. Wählen Sie Berechtigungen generieren, um Ihre Ausführungsrolle automatisch zu aktualisieren. Dies funktioniert nicht, wenn Sie Ihre Richtlinien für Ausführungsrollen manuell erstellt oder geändert haben oder wenn die Richtlinien mehreren Rollen zugeordnet sind. Beachten Sie, dass in Ihrer Ausführungsrolle möglicherweise noch zusätzliche Berechtigungen erforderlich sind, wenn Sie erweiterte Funktionen wie On-Failure Ziel - oder AWS Glue Schemaregistrierung verwenden.
Erforderliche Berechtigungen
Ihre Rolle zur Ausführung der Lambda-Funktion muss über die folgenden erforderlichen Berechtigungen für Amazon MSK-Ereignisquellenzuordnungen verfügen. Diese Berechtigungen sind in der verwalteten Richtlinie enthalten. AWSLambdaMSKExecutionRole
CloudWatch Protokolliert Berechtigungen
Die folgenden Berechtigungen ermöglichen es Lambda, Protokolle in Amazon CloudWatch Logs zu erstellen und zu speichern.
MSK-Cluster-Berechtigungen
Mit den folgenden Berechtigungen kann Lambda in Ihrem Namen auf Ihren Amazon MSK-Cluster zugreifen:
Wir empfehlen die Verwendung von kafka: DescribeCluster V2 anstelle von kafka:. DescribeCluster Die v2-Berechtigung funktioniert sowohl mit bereitgestellten als auch mit serverlosen Amazon MSK-Clustern. Sie benötigen nur eine dieser Berechtigungen in Ihrer Richtlinie.
VPC-Berechtigungen
Die folgenden Berechtigungen ermöglichen es Lambda, Netzwerkschnittstellen zu erstellen und zu verwalten, wenn eine Verbindung zu Ihrem Amazon MSK-Cluster hergestellt wird:
Optionale Berechtigungen
Ihre Lambda-Funktion benötigt möglicherweise auch Berechtigungen für Folgendes:
-
Greifen Sie auf kontoübergreifende Amazon MSK-Cluster zu. Für kontoübergreifende Zuordnungen von Ereignisquellen benötigen Sie kafka: in der Ausführungsrolle. DescribeVpcConnection Ein IAM-Principal, der eine kontoübergreifende Ereignisquellenzuordnung erstellt, benötigt kafka:. ListVpcConnections
-
Greifen Sie auf Ihr SCRAM-Geheimnis zu, wenn Sie die Authentifizierung verwenden. SASL/SCRAM Damit kann Ihre Funktion einen Benutzernamen und ein Passwort verwenden, um sich mit Kafka zu verbinden.
-
Beschreiben Sie Ihr Secrets Manager-Geheimnis, wenn Sie unsere mTLS-Authentifizierung verwenden SASL/SCRAM . Mit dieser Erlaubnis kann Ihre Funktion die Anmeldeinformationen oder Zertifikate abrufen, die für sichere Verbindungen benötigt werden.
-
Greifen Sie auf Ihren vom AWS KMS Kunden verwalteten Schlüssel zu, wenn Ihr AWS Secrets Manager Geheimnis mit einem vom AWS KMS Kunden verwalteten Schlüssel verschlüsselt ist.
-
Greifen Sie auf Ihre Schemaregistrierungs-Secrets zu, wenn Sie eine Schemaregistrierung mit Authentifizierung verwenden:
-
Für die AWS Glue Schemaregistrierung: Ihre Funktionsanforderungen
glue:GetRegistryundglue:GetSchemaVersionBerechtigungen. Dadurch kann Ihre Funktion die in AWS Glue gespeicherten Nachrichtenformatregeln nachschlagen und verwenden. -
Für Confluent Schema Registry
mit BASIC_AUTHoderCLIENT_CERTIFICATE_TLS_AUTH: Ihre Funktion benötigt die Berechtigungsecretsmanager:GetSecretValuefür das Secret, das die Authentifizierungsdaten enthält. Auf diese Weise kann Ihre Funktion die username/password oder Zertifikate abrufen, die für den Zugriff auf die Confluent Schema Registry erforderlich sind. -
Für private CA-Zertifikate: Ihre Funktion benötigt die GetSecretValue Erlaubnis secretsmanager: für das Secret, das das Zertifikat enthält. Mit dieser Berechtigung kann Ihre Funktion die Identität von Schema-Registrierungen überprüfen, die benutzerdefinierte Zertifikate verwenden.
-
-
Greifen Sie auf Kafka-Cluster-Benutzergruppen und Abfragemeldungen aus dem Thema zu, wenn Sie die IAM-Authentifizierung für die Zuordnung der Ereignisquelle verwenden.
Diese entsprechen den folgenden erforderlichen Berechtigungen:
-
kafka: ListScramSecrets — Ermöglicht das Auflisten von SCRAM-Geheimnissen für die Kafka-Authentifizierung
-
secretsmanager: GetSecretValue - Ermöglicht das Abrufen von Geheimnissen aus dem 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 Schema AWS Glue Registry
-
KAFKA-CLUSTER:CONNECT — Erteilt die Erlaubnis, eine Verbindung zum Cluster herzustellen und sich dort zu authentifizieren
-
kafka-cluster: AlterGroup — Erteilt die Erlaubnis, Gruppen auf einem Cluster beizutreten, was der READ GROUP-ACL von Apache Kafka entspricht
-
kafka-cluster: DescribeGroup — Erteilt die Erlaubnis, Gruppen in einem Cluster zu beschreiben, was der DESCRIBE GROUP-ACL von Apache Kafka entspricht
-
kafka-cluster: DescribeTopic — Erteilt die Erlaubnis, Themen auf einem Cluster zu beschreiben, was der DESCRIBE TOPIC ACL von Apache Kafka entspricht
-
kafka-cluster: ReadData — Erteilt die Erlaubnis, Daten aus Themen in einem Cluster zu lesen, was der READ TOPIC-ACL von Apache Kafka entspricht
Wenn Sie außerdem Aufzeichnungen fehlgeschlagener Aufrufe an ein Ziel für Fehlerfälle senden möchten, benötigen Sie je nach Zieltyp die folgenden Berechtigungen:
-
Für Amazon SQS-Ziele: sqs: SendMessage — Ermöglicht das Senden von Nachrichten an eine Amazon SQS-Warteschlange
-
Für Amazon-SNS-Ziele: sns:Publish – erlaubt die Veröffentlichung von Nachrichten zu einem Amazon-SNS-Thema
-
Für Amazon S3-Bucket-Ziele: s3: PutObject und s3: ListBucket — Ermöglicht das Schreiben und Auflisten von Objekten in einem Amazon S3-Bucket
Informationen zur Behebung von Authentifizierungs- und Autorisierungsfehlern finden Sie unter Fehlerbehebung bei der Kafka-Zuordnung von Ereignisquellen.