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 die Erlaubnis erteilt, auf AWS Dienste und Ressourcen zuzugreifen. 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 es vermeiden, manuell aufzurufensts:AssumeRole
, 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 die Vertrauensrichtlinie der Rolle den Lambda-Serviceprinzipal (lambda.amazonaws.com
) als vertrauenswürdigen Dienst angeben.
Themen
- Eine Ausführungsrolle in der Konsole erstellen IAM
- Rollen erstellen und verwalten mit AWS CLI
- Gewähren Sie den Zugriff auf Ihre Lambda-Ausführungsrolle mit den geringsten Berechtigungen
- Berechtigungen in der Ausführungsrolle anzeigen und aktualisieren
- Arbeiten mit AWS verwalteten Richtlinien in der Ausführungsrolle
- Verwendung der Quellfunktion ARN zur Steuerung des Funktionszugriffsverhaltens
Eine Ausführungsrolle in der Konsole erstellen IAM
Standardmäßig erstellt Lambda beim Erstellen einer Funktion in der Lambda-Konsole eine Ausführungsrolle mit minimalen Berechtigungen. Insbesondere umfasst diese Ausführungsrolle die AWSLambdaBasicExecutionRole
verwaltete Richtlinie, die Ihrer Funktion grundlegende Berechtigungen zum Protokollieren von Ereignissen in Amazon CloudWatch Logs erteilt.
Ihre Funktionen benötigen in der Regel zusätzliche Berechtigungen, um sinnvollere Aufgaben ausführen zu können. Beispielsweise könnten Sie über eine Lambda-Funktion verfügen, die auf ein Ereignis reagiert, indem sie Einträge in einer Amazon DynamoDB DynamoDB-Datenbank aktualisiert. Mithilfe der Konsole können Sie eine Ausführungsrolle mit den erforderlichen Berechtigungen erstellen. IAM
Um eine Ausführungsrolle in der IAM Konsole zu erstellen
-
Öffnen Sie die Seite Rollen
in der IAM Konsole. -
Wählen Sie Rolle erstellen.
-
Wählen Sie unter Typ der vertrauenswürdigen Entität die Option AWS -Service aus.
-
Wählen Sie unter Anwendungsfall Lambda aus.
-
Wählen Sie Weiter.
-
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 AWSLambdaDynamoDBExecutionRoleverwaltete Richtlinie aus.
-
Wählen Sie Weiter.
-
Geben Sie einen Role name (Rollennamen) ein und klicken Sie auf Create Role (Rolle erstellen).
Ausführliche Anweisungen finden Sie im IAMBenutzerhandbuch unter Erstellen einer Rolle für einen AWS Dienst (Konsole).
Nachdem Sie Ihre Ausführungsrolle erstellt haben, fügen Sie sie Ihrer Funktion hinzu. Wenn Sie eine Funktion in der Lambda-Konsole erstellen, können Sie der Funktion 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 unterAktualisierung der Ausführungsrolle einer Funktion.
Rollen erstellen und verwalten mit 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. Beachten Sie, dass die Anforderungen für das Maskieren von Anführungszeichen in der JSON Zeichenfolge je nach Shell variieren können.
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
{ "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
Die Ausgabe sollte folgendermaßen aussehen:
{ "Role": { "Path": "/", "RoleName": "lambda-ex", "RoleId": "AROAQFOXMPL6TZ6ITKWND", "Arn": "arn:aws:iam::123456789012:role/lambda-ex", "CreateDate": "2020-01-17T23:19:12Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } }
Um der Rolle Berechtigungen hinzuzufügen, verwenden Sie den attach-policy-to-role-Befehl. Mit dem folgenden Befehl AWSLambdaBasicExecutionRole
wird die verwaltete Richtlinie zur lambda-ex
Ausführungsrolle 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 Ihrer Funktion hinzu. Wenn Sie eine Funktion in der Lambda-Konsole erstellen, können Sie der Funktion 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 unterAktualisierung 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, gewähren Sie manchmal Berechtigungen, die über das hinausgehen, was erforderlich ist. 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 im Benutzerhandbuch unter Anwenden von Berechtigungen mit den geringsten Rechten. IAM
Verwenden Sie IAM Access Analyzer, um die erforderlichen Berechtigungen für die IAM Ausführungsrollenrichtlinie zu ermitteln. IAMAccess 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 detaillierten Berechtigungen zu erstellen und sie dann der IAM Rolle zuzuordnen. 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 im IAMBenutzerhandbuch unter Generieren von Richtlinien auf der Grundlage der Zugriffsaktivität.