

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.

# Definieren von Lambda-Funktionsberechtigungen mit einer Ausführungsrolle
<a name="lambda-intro-execution-role"></a>

Die Ausführungsrolle einer Lambda-Funktion ist eine AWS Identity and Access Management (IAM-) Rolle, die der Funktion Zugriffsberechtigungen AWS-Services und Ressourcen gewährt. Sie könnten beispielsweise eine Ausführungsrolle erstellen, die berechtigt ist, Protokolle an Amazon zu senden CloudWatch und Trace-Daten hochzuladen AWS X-Ray. Diese Seite enthält Informationen zum Erstellen, Anzeigen und Verwalten der Ausführungsrolle einer Lambda-Funktion.

Lambda übernimmt automatisch Ihre Ausführungsrolle an, wenn Sie Ihre Funktion aufrufen. Sie sollten vermeiden, `sts:AssumeRole` manuell aufzurufen, um die Ausführungsrolle in Ihrem Funktionscode zu übernehmen. Wenn Ihr Anwendungsfall erfordert, dass die Rolle sich selbst annimmt, müssen Sie die Rolle selbst als vertrauenswürdigen Prinzipal in die Vertrauensrichtlinie Ihrer Rolle aufnehmen. Weitere Informationen zum Ändern einer Rollenvertrauensrichtlinie finden Sie unter [Ändern einer Rollenvertrauensrichtlinie (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) im IAM-Benutzerhandbuch.

Damit Lambda Ihre Ausführungsrolle ordnungsgemäß übernehmen kann, muss in der [Vertrauensrichtlinie](#permissions-executionrole-api) der Rolle der Lambda-Serviceprinzipal (`lambda.amazonaws.com`) als vertrauenswürdiger Service angegeben sein.

**Topics**
+ [Erstellen einer Ausführungsrolle in der IAM-Konsole](#permissions-executionrole-console)
+ [Rollen erstellen und verwalten mit dem AWS CLI](#permissions-executionrole-api)
+ [Gewähren Sie den Zugriff auf Ihre Lambda-Ausführungsrolle mit den geringsten Berechtigungen](#permissions-executionrole-least-privilege)
+ [Berechtigungen in der Ausführungsrolle anzeigen und aktualisieren](permissions-executionrole-update.md)
+ [Arbeiten mit AWS verwalteten Richtlinien in der Ausführungsrolle](permissions-managed-policies.md)
+ [Verwendung der Quellfunktion ARN zur Steuerung des Funktionszugriffsverhaltens](permissions-source-function-arn.md)

## Erstellen einer Ausführungsrolle in der IAM-Konsole
<a name="permissions-executionrole-console"></a>

Standardmäßig erstellt Lambda beim [Erstellen einer Funktion in der Lambda-Konsole eine Ausführungsrolle](getting-started.md#getting-started-create-function) mit minimalen Berechtigungen. Insbesondere umfasst diese Ausführungsrolle die [`AWSLambdaBasicExecutionRole`verwaltete Richtlinie](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaBasicExecutionRole.html), die Ihrer Funktion grundlegende Berechtigungen zum Protokollieren von Ereignissen in Amazon CloudWatch Logs erteilt. Sie können im Abschnitt **Berechtigungen** die Option **Standardrolle erstellen** auswählen.

Sie können eine vorhandene Rolle auswählen, indem Sie im Abschnitt **Berechtigungen** die Option **Andere Rolle verwenden** auswählen. Wenn Ihre Lambda-Funktion zusätzliche Berechtigungen benötigt, um Aufgaben wie das Aktualisieren von Einträgen in einer Amazon DynamoDB DynamoDB-Datenbank als Reaktion auf Ereignisse auszuführen, können Sie eine benutzerdefinierte Ausführungsrolle mit den erforderlichen Berechtigungen erstellen. Wählen Sie dazu im Bereich **Berechtigungen** die Option **Andere Rolle verwenden** aus. Daraufhin wird eine Schublade geöffnet, in der Sie Ihre Berechtigungen anpassen können.

**Um eine Ausführungsrolle von der Konsole aus zu konfigurieren**

1. Geben Sie im Abschnitt **Rollendetails einen Rollennamen** ein.

1. Wählen Sie im Abschnitt **Richtlinie** die Option **Bestehende Richtlinie verwenden** aus.

1. Wählen Sie die AWS verwalteten Richtlinien aus, die Sie Ihrer Rolle zuordnen möchten. Wenn Ihre Funktion beispielsweise auf DynamoDB zugreifen muss, wählen Sie die verwaltete Richtlinie **AWSLambdaDynamo DBExecution Role** aus.

1. Wählen Sie **Rolle erstellen** aus.

Wenn Sie [eine Funktion in der Lambda-Konsole erstellen](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#getting-started-create-function), können Sie der Funktion alternativ jede Ausführungsrolle zuordnen, die Sie zuvor erstellt haben. Wenn Sie einer vorhandenen Funktion eine neue Ausführungsrolle zuordnen möchten, folgen Sie den Schritten unter [Aktualisieren der Ausführungsrolle einer Funktion](permissions-executionrole-update.md).

## Rollen erstellen und verwalten mit dem AWS CLI
<a name="permissions-executionrole-api"></a>

Um eine Ausführungsrolle mit dem AWS Command Line Interface (AWS CLI) zu erstellen, verwenden Sie den **create-role** Befehl. Wenn Sie diesen Befehl verwenden, können Sie die Vertrauensrichtlinie angeben. Über die Vertrauensrichtlinie einer Rolle wird den angegebenen Prinzipalen die Berechtigung gegeben, die Rolle zu übernehmen. Im folgenden Beispiel erteilen Sie dem Lambda-Serviceprinzipal die Berechtigung, Ihre Rolle zu übernehmen. Die Anforderungen für Escape-Anführungszeichen in der JSON-Zeichenfolge können je nach Shell variieren.

```
aws iam create-role \
  --role-name lambda-ex \
  --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'
```

Sie können die Vertrauensrichtlinie für die Rolle auch mithilfe einer separaten JSON-Datei definieren. Im folgenden Beispiel ist `trust-policy.json` eine Datei im aktuellen Verzeichnis.

**Example trust-policy.json**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

```
aws iam create-role \
  --role-name lambda-ex \
  --assume-role-policy-document file://trust-policy.json
```

Um der Rolle Berechtigungen hinzuzufügen, verwenden Sie den **attach-policy-to-role**-Befehl. Mit dem folgenden Befehl wird die verwaltete Richtlinie `AWSLambdaBasicExecutionRole` der Ausführungsrolle `lambda-ex` hinzugefügt.

```
aws iam attach-role-policy --role-name lambda-ex --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
```

Nachdem Sie Ihre Ausführungsrolle erstellt haben, fügen Sie sie an Ihre Funktion an. Wenn Sie [eine Funktion in der Lambda-Konsole erstellen](getting-started.md#getting-started-create-function), können Sie eine beliebige Ausführungsrolle, die Sie zuvor erstellt haben, an die Funktion anhängen. Wenn Sie einer vorhandenen Funktion eine neue Ausführungsrolle zuordnen möchten, folgen Sie den Schritten unter [Aktualisierung der Ausführungsrolle einer Funktion](permissions-executionrole-update.md#update-execution-role).

## Gewähren Sie den Zugriff auf Ihre Lambda-Ausführungsrolle mit den geringsten Berechtigungen
<a name="permissions-executionrole-least-privilege"></a>

Wenn Sie während der Entwicklungsphase zum ersten Mal eine IAM-Rolle für Ihre Lambda-Funktion erstellen, können Sie manchmal Berechtigungen erteilen, die über das erforderliche Maß hinausgehen. Bevor Sie Ihre Funktion in der Produktionsumgebung veröffentlichen, sollten Sie als bewährte Methode die Richtlinie so anpassen, dass sie nur die erforderlichen Berechtigungen enthält. Weitere Informationen finden Sie unter [Anwenden von Berechtigungen mit geringsten Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) im *IAM-Benutzerhandbuch*.

Verwenden Sie IAM Access Analyzer, um die erforderlichen Berechtigungen für die IAM-Ausführungsrollenrichtlinie zu identifizieren. IAM Access Analyzer überprüft Ihre AWS CloudTrail Protokolle über den von Ihnen angegebenen Zeitraum und generiert eine Richtlinienvorlage, die nur die Berechtigungen enthält, die die Funktion in diesem Zeitraum verwendet hat. Sie können die Vorlage verwenden, um eine verwaltete Richtlinie mit definierten Berechtigungen zu erstellen und sie dann an die IAM-Rolle anzuhängen. Auf diese Weise gewähren Sie nur die Berechtigungen, die die Rolle für die Interaktion mit AWS Ressourcen für Ihren speziellen Anwendungsfall benötigt.

Weitere Informationen finden Sie unter [Generieren von Richtlinien basierend auf Zugriffsaktivitäten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_generate-policy.html) im *IAM-Benutzerhandbuch*.

# Berechtigungen in der Ausführungsrolle anzeigen und aktualisieren
<a name="permissions-executionrole-update"></a>

In diesem Thema wird beschrieben, wie Sie die [Ausführungsrolle](lambda-intro-execution-role.md) Ihrer Funktion anzeigen und aktualisieren können.

**Topics**
+ [Anzeigen der Ausführungsrolle einer Funktion](#view-execution-role)
+ [Aktualisierung der Ausführungsrolle einer Funktion](#update-execution-role)

## Anzeigen der Ausführungsrolle einer Funktion
<a name="view-execution-role"></a>

Um die Ausführungsrolle einer Funktion anzuzeigen, verwenden Sie die Lambda-Konsole.

**So zeigen Sie die Ausführungsrolle einer Funktion an (Konsole)**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie den Namen einer Funktion aus.

1. Wählen Sie **Configuration** (Konfiguration) und anschließend **Permissions** (Berechtigungen) aus.

1. Unter **Ausführungsrolle** können Sie die Rolle anzeigen, die derzeit als Ausführungsrolle der Funktion verwendet wird. Der Einfachheit halber können Sie im Abschnitt **Ressourcenübersicht** alle Ressourcen und Aktionen anzeigen, auf die die Funktion zugreifen kann. Sie können auch einen Dienst aus der Dropdown-Liste auswählen, um alle mit diesem Dienst verbundenen Berechtigungen anzuzeigen.

## Aktualisierung der Ausführungsrolle einer Funktion
<a name="update-execution-role"></a>

Sie können Berechtigungen jederzeit zur Ausführungsrolle einer Funktion hinzufügen bzw. daraus entfernen oder Ihre Funktion so konfigurieren, dass sie eine andere Rolle verwendet. Wenn Ihre Funktion Zugriff auf andere Dienste oder Ressourcen benötigt, müssen Sie der Ausführungsrolle die erforderlichen Berechtigungen hinzufügen.

Wenn Sie Ihrer Funktion Berechtigungen hinzufügen, führen Sie auch eine triviale Aktualisierung ihres Codes oder ihrer Konfiguration durch. Dies zwingt ausgeführte Instances Ihrer Funktion, die veraltete Anmeldeinformationen haben, anzuhalten und ersetzt zu werden.

Um die Ausführungsrolle einer Funktion zu aktualisieren, können Sie die Lambda-Konsole verwenden.

**So aktualisieren Sie die Ausführungsrolle einer Funktion (Konsole)**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie den Namen einer Funktion aus.

1. Wählen Sie **Configuration** (Konfiguration) und anschließend **Permissions** (Berechtigungen) aus.

1. Wählen Sie unter **Ausführungsrolle** die Option **Bearbeiten** aus.

1. Wenn Sie Ihre Funktion so aktualisieren möchten, dass sie eine andere Rolle als Ausführungsrolle verwendet, wählen Sie die neue Rolle im Dropdownmenü unter **Bestehende Rolle** aus.
**Anmerkung**  
Wenn Sie die Berechtigungen innerhalb einer vorhandenen Ausführungsrolle aktualisieren möchten, können Sie dies nur in der AWS Identity and Access Management (IAM-) Konsole tun.

   Wenn Sie eine neue Rolle zur Verwendung als Ausführungsrolle erstellen möchten, wählen Sie unter **Ausführungsrolle** die Option **Neue Rolle aus AWS Richtlinienvorlagen erstellen** aus. Geben Sie dann unter **Rollenname** einen Namen für Ihre neue Rolle ein und geben Sie unter **Richtlinienvorlagen** alle Richtlinien an, die Sie der neuen Rolle zuordnen möchten.

1. Wählen Sie **Save (Speichern)** aus.

# Arbeiten mit AWS verwalteten Richtlinien in der Ausführungsrolle
<a name="permissions-managed-policies"></a>

Die folgenden AWS verwalteten Richtlinien bieten Berechtigungen, die für die Verwendung von Lambda-Funktionen erforderlich sind.


| Änderung | Beschreibung | Datum | 
| --- | --- | --- | 
|  **[ AWSLambdaMSKExecutionRolle](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaMSKExecutionRole)** — Lambda hat dieser Richtlinie die Berechtigung [kafka: DescribeCluster V2](https://docs.aws.amazon.com/MSK/2.0/APIReference/v2-clusters-clusterarn.html#v2-clusters-clusterarnget) hinzugefügt.  |  `AWSLambdaMSKExecutionRole`gewährt Berechtigungen zum Lesen und Zugreifen auf Datensätze aus einem Amazon Managed Streaming for Apache Kafka (Amazon MSK) -Cluster, zum Verwalten elastischer Netzwerkschnittstellen (ENIs) und zum CloudWatch Schreiben in Protokolle.  |  17. Juni 2022  | 
|  **[ AWSLambdaBasicExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole)**— Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSLambdaBasicExecutionRole` erteilt Berechtigungen, um Protokolle auf CloudWatch hochzuladen.  |  14. Februar 2022  | 
|  **[ AWSLambdaDBExecutionDynamo-Rolle](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaDynamoDBExecutionRole)** — Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSLambdaDynamoDBExecutionRole`gewährt Berechtigungen zum Lesen von Datensätzen aus einem Amazon DynamoDB DynamoDB-Stream und zum CloudWatch Schreiben in Logs.  |  14. Februar 2022  | 
|  **[ AWSLambdaKinesisExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaKinesisExecutionRole)**— Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSLambdaKinesisExecutionRole`gewährt Berechtigungen zum Lesen von Ereignissen aus einem Amazon Kinesis Kinesis-Datenstream und zum Schreiben in CloudWatch Protokolle.  |  14. Februar 2022  | 
|  **[ AWSLambdaMSKExecutionRolle](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaMSKExecutionRole)** — Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSLambdaMSKExecutionRole`gewährt Berechtigungen zum Lesen und Zugreifen auf Datensätze aus einem Amazon Managed Streaming for Apache Kafka (Amazon MSK) -Cluster, zum Verwalten elastischer Netzwerkschnittstellen (ENIs) und zum CloudWatch Schreiben in Protokolle.  |  14. Februar 2022  | 
|  **[ AWSLambdaSQSQueueExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaSQSQueueExecutionRole)**— Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSLambdaSQSQueueExecutionRole`gewährt Berechtigungen zum Lesen einer Nachricht aus einer Amazon Simple Queue Service (Amazon SQS) -Warteschlange und zum Schreiben in CloudWatch Protokolle.  |  14. Februar 2022  | 
|  **[ AWSLambdaVPCAccessExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole)**— Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSLambdaVPCAccessExecutionRole`gewährt Berechtigungen zum Verwalten ENIs innerhalb einer Amazon VPC und zum Schreiben in CloudWatch Logs.  |  14. Februar 2022  | 
|  **[ AWSXRayDaemonWriteAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess)**— Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AWSXRayDaemonWriteAccess` erteilt Berechtigungen zum Hochladen von Nachverfolgungsdaten auf X-Ray.  |  14. Februar 2022  | 
|  **[ CloudWatchLambdaInsightsExecutionRolePolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy)**— Lambda hat damit begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `CloudWatchLambdaInsightsExecutionRolePolicy`gewährt Berechtigungen zum Schreiben von Laufzeitmetriken in CloudWatch Lambda Insights.  |  14. Februar 2022  | 
|  **[AmazonS3 ObjectLambdaExecutionRolePolicy —](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy)** Lambda hat begonnen, Änderungen an dieser Richtlinie nachzuverfolgen.  |  `AmazonS3ObjectLambdaExecutionRolePolicy`gewährt Berechtigungen zur Interaktion mit dem Amazon Simple Storage Service (Amazon S3) -Objekt Lambda und zum Schreiben in CloudWatch Logs.  |  14. Februar 2022  | 

Bei einigen Funktionen versucht die Lambda-Konsole, Ihrer Ausführungsrolle in einer vom Kunden verwalteten Richtlinie fehlende Berechtigungen hinzuzufügen. Diese Politiken können zahlreich werden. Fügen Sie der Ausführungsrolle die relevanten AWS -verwalteten Richtlinien hinzu, bevor Sie Funktionen aktivieren, um das Erstellen zusätzlicher Richtlinien zu vermeiden.

Wenn Sie eine [Ereignisquellen-Zuweisung](invocation-eventsourcemapping.md) zum Aufrufen Ihrer Funktion verwenden, verwendet Lambda die Ausführungsrolle zum Lesen von Ereignisdaten. Zum Beispiel liest eine Ereignisquellen-Zuweisung für Kinesis-Ereignisse aus einem Datenstrom und sendet diese in Batches an Ihre Funktion. 

Wenn ein Dienst eine Rolle in Ihrem Konto übernimmt, können Sie die globalen Bedingungskontextschlüssel `aws:SourceAccount` und `aws:SourceArn` in Ihrer Rollenvertrauensrichtlinie übernehmen, um den Zugriff auf die Rolle nur auf Anforderungen zu beschränken, die von erwarteten Ressourcen generiert werden. Weitere Informationen finden Sie unter [Vermeidung des Problems des verwirrten Stellvertreters im dienstübergreifenden Szenario für AWS -Security-Token-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html#cross-service-confused-deputy-prevention).

Zusätzlich zu den AWS verwalteten Richtlinien bietet die Lambda-Konsole Vorlagen für die Erstellung einer benutzerdefinierten Richtlinie mit Berechtigungen für zusätzliche Anwendungsfälle. Wenn Sie eine Funktion in der Lambda-Konsole erstellen, haben Sie die Wahl, eine neue Ausführungsrolle mit Berechtigungen aus einer oder mehreren Vorlagen zu erstellen. Diese Vorlagen werden auch automatisch angewendet, wenn Sie eine Funktion von einer Vorlage erstellen oder wenn Sie Optionen konfigurieren, die Zugriff auf andere Services erfordern. Beispielvorlagen sind im [GitHubRepository](https://github.com/awsdocs/aws-lambda-developer-guide/tree/master/iam-policies) dieses Handbuchs verfügbar.

# Verwendung der Quellfunktion ARN zur Steuerung des Funktionszugriffsverhaltens
<a name="permissions-source-function-arn"></a>

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 | Action | 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](invocation-eventsourcemapping.md) 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)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html).

**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](invocation-eventsourcemapping.md) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN) 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:

**Example 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.

**Example 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.