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
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) im IAM-Benutzerhandbuch.
Damit Lambda Ihre Ausführungsrolle ordnungsgemäß übernehmen kann, muss in der Vertrauensrichtlinie der Rolle der Lambda-Serviceprinzipal (lambda.amazonaws.com) als vertrauenswürdiger Service angegeben sein.
Themen
Erstellen einer Ausführungsrolle in der IAM-Konsole
Standardmäßig erstellt Lambda beim Erstellen einer Funktion in der Lambda-Konsole eine Ausführungsrolle mit minimalen Berechtigungen. Insbesondere umfasst diese Ausführungsrolle die AWSLambdaBasicExecutionRoleverwaltete Richtlinie, 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
-
Geben Sie im Abschnitt Rollendetails einen Rollennamen ein.
-
Wählen Sie im Abschnitt Richtlinie die Option Bestehende Richtlinie verwenden aus.
-
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.
-
Wählen Sie Rolle erstellen aus.
Wenn Sie eine Funktion in der Lambda-Konsole erstellen, 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.
Rollen erstellen und verwalten mit dem AWS CLI
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.
Beispiel trust-policy.json
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, 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.
Gewähren Sie den Zugriff auf Ihre Lambda-Ausführungsrolle mit den geringsten Berechtigungen
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 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 im IAM-Benutzerhandbuch.