Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwendung der Quellfunktion ARN zur Steuerung des Funktionszugriffsverhaltens

Fokusmodus
Verwendung der Quellfunktion ARN zur Steuerung des Funktionszugriffsverhaltens - AWS Lambda

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.

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.

Es ist üblich, dass Ihr Lambda-Funktionscode API-Anorderungen an andere AWS-Services stellt. Um diese Anforderungen zu stellen, generiert Lambda einen kurzlebigen Satz von Anmeldeinformationen, indem es die Ausführungsrolle Ihrer Funktion übernimmt. Diese Anmeldeinformationen sind während des Aufrufs Ihrer Funktion als Umgebungsvariablen verfügbar. Wenn Sie mit arbeiten AWS SDKs, müssen Sie die Anmeldeinformationen für das SDK nicht direkt im Code angeben. Standardmäßig überprüft die Kette der Anbieter von Anmeldeinformationen nacheinander jeden Ort, an dem Sie Anmeldeinformationen festlegen können, und wählt die erste verfügbare aus – in der Regel die Umgebungsvariablen (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY und AWS_SESSION_TOKEN).

Lambda fügt die Quellfunktion ARN in den Anmeldeinformationskontext ein, wenn es sich bei der Anfrage um eine AWS API-Anforderung handelt, die aus Ihrer Ausführungsumgebung stammt. Lambda fügt auch den Quellfunktions-ARN für die folgenden AWS -API-Anfragen ein, die Lambda in Ihrem Namen außerhalb Ihrer Ausführungsumgebung durchführt:

Service Aktion Grund
CloudWatch Logs CreateLogGroup, CreateLogStream, PutLogEvents

Um Logs in einer CloudWatch Logs-Protokollgruppe zu speichern

X-Ray PutTraceSegments

So senden Sie Verfolgungsdaten an X-Ray

Amazon EFS ClientMount

So stellen Sie eine Verbindung zwischen Ihrer Funktion und einem Amazon Elastic File System (Amazon EFS) Dateisystem her

Andere AWS API-Aufrufe, die Lambda außerhalb Ihrer Ausführungsumgebung in Ihrem Namen mit derselben Ausführungsrolle durchführt, enthalten nicht die Quellfunktion ARN. Beispiele für solche API-Aufrufe außerhalb der Ausführungsumgebung sind:

  • Ruft AWS Key Management Service (AWS KMS) auf, um Ihre Umgebungsvariablen automatisch zu verschlüsseln und zu entschlüsseln.

  • Ruft Amazon Elastic Compute Cloud (Amazon EC2) auf, um elastische Netzwerkschnittstellen (ENIs) für eine VPC-fähige Funktion zu erstellen.

  • Aufrufe AWS-Services, z. B. Amazon Simple Queue Service (Amazon SQS), um aus einer Ereignisquelle zu lesen, die als Ereignisquellen-Mapping eingerichtet ist.

Mit dem ARN der Quellfunktion im Kontext der Anmeldeinformationen können Sie überprüfen, ob ein Aufruf Ihrer Ressource aus dem Code einer bestimmten Lambda-Funktion stammt. Um dies zu überprüfen, verwenden Sie die lambda:SourceFunctionArn-Zustandsschlüssel in einer identitätsbasierten IAM-Richtlinie oder einer Service-Kontrollrichtlinie (SCP).

Anmerkung

Sie können den lambda:SourceFunctionArn-Bedingungsschlüssel nicht in ressourcenbasierten Richtlinien verwenden.

Mit diesem Bedingungsschlüssel in Ihren identitätsbasierten Richtlinien oder SCPs können Sie Sicherheitskontrollen für die API-Aktionen implementieren, die Ihr Funktionscode für andere vornimmt. AWS-Services Dies hat einige wichtige Sicherheitsanwendungen, z. B. um Ihnen zu helfen, die Quelle eines Anmeldeinformationslecks zu identifizieren.

Anmerkung

Der lambda:SourceFunctionArn-Bedingungsschlüssel unterscheidet sich von den lambda:FunctionArn und aws:SourceArn-Bedingungsschlüsseln. Der lambda:FunctionArn-Bedingungsschlüssel gilt nur für Ereignisquellenzuordnungen und hilft bei der Definition der Funktionen, die Ihre Ereignisquelle aufrufen kann. Der aws:SourceArn Bedingungsschlüssel gilt nur für Richtlinien, bei denen Ihre Lambda-Funktion die Zielressource ist, und hilft zu definieren, welche anderen AWS-Services AMD-Ressourcen diese Funktion aufrufen können. Der lambda:SourceFunctionArn Bedingungsschlüssel kann für jede identitätsbasierte Richtlinie oder jeden SCP gelten, um die spezifischen Lambda-Funktionen zu definieren, die berechtigt sind, bestimmte AWS API-Aufrufe an andere Ressourcen zu tätigen.

Um lambda:SourceFunctionArn in Ihrer Richtlinie zu verwenden, fügen Sie es als Bedingung mit einem der ARN-Bedingungsoperatoren ein. Der Wert des Schlüssels muss ein gültiger ARN sein.

Angenommen, Ihr Lambda-Funktionscode macht einen s3:PutObject-Aufruf, der auf einen bestimmten Amazon-S3-Bucket abzielt. Möglicherweise möchten Sie nur einer bestimmten Lambda-Funktion erlauben, dass s3:PutObject auf diesen Bucket zugreift. In diesem Fall sollte der Ausführungsrolle Ihrer Funktion eine Richtlinie angefügt sein, die wie folgt aussieht:

Beispiel Richtlinie, die einer bestimmten Lambda-Funktion Zugriff auf eine Amazon-S3-Ressource gewährt
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleSourceFunctionArn", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::lambda_bucket/*", "Condition": { "ArnEquals": { "lambda:SourceFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:source_lambda" } } } ] }

Diese Richtlinie erlaubt nur s3:PutObject Zugriff wenn die Quelle die Lambda-Funktion mit ARN arn:aws:lambda:us-east-1:123456789012:function:source_lambda ist. Diese Richtlinie erlaubt s3:PutObject keinen Zugriff auf jede andere aufrufende Identität. Dies gilt auch dann, wenn eine andere Funktion oder Entität einen s3:PutObject-Aufruf mit der gleichen Ausführungsrolle tätigt.

Anmerkung

Der Bedingungsschlüssel lambda:SourceFunctionARN unterstützt keine Lambda-Funktionsversionen oder -Funktionsaliase. Wenn Sie den ARN für eine bestimmte Funktionsversion oder einen bestimmten Alias verwenden, ist Ihre Funktion nicht berechtigt, die von Ihnen angegebene Aktion auszuführen. Achten Sie darauf, den unqualifizierten ARN für Ihre Funktion ohne Versions- oder Alias-Suffix zu verwenden.

Sie können auch in verwenden. lambda:SourceFunctionArn SCPs Angenommen, Sie möchten den Zugriff auf Ihren Bucket entweder auf den Code einer einzelnen Lambda-Funktion oder auf Aufrufe aus einer bestimmten Amazon Virtual Private Cloud (VPC) beschränken. Das folgende SCP illustriert dies.

Beispiel Richtlinie, die den Zugriff auf Amazon S3 unter bestimmten Bedingungen verweigert
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:*" ], "Resource": "arn:aws:s3:::lambda_bucket/*", "Effect": "Deny", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": [ "vpc-12345678" ] } } }, { "Action": [ "s3:*" ], "Resource": "arn:aws:s3:::lambda_bucket/*", "Effect": "Deny", "Condition": { "ArnNotEqualsIfExists": { "lambda:SourceFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:source_lambda" } } } ] }

Diese Richtlinie verweigert alle S3-Aktionen, sofern sie nicht von einer bestimmten Lambda-Funktion mit ARN arn:aws:lambda:*:123456789012:function:source_lambda stammen, oder sofern sie nicht aus dem angegebenen VPC stammen. Der StringNotEqualsIfExists-Operator weist IAM an, diese Bedingung nur zu verarbeiten, wenn der aws:SourceVpc-Schlüssel in der Anfrage vorhanden ist. In ähnlicher Weise berücksichtigt IAM den ArnNotEqualsIfExists-Operator nur, wenn lambda:SourceFunctionArn vorhanden ist.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.