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:GetRegistryundglue:GetSchemaVersionBerechtigungen. 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_AUTHoderCLIENT_CERTIFICATE_TLS_AUTH: Ihre Funktion benötigt einesecretsmanager:GetSecretValueGenehmigung 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 das Veröffentlichen 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
Informationen zur Behebung von Authentifizierungs- und Autorisierungsfehlern finden Sie unterBehebung von Fehlern bei der Zuordnung von Kafka-Ereignisquellen.