Was ist der Unterschied zwischen den Rollenberechtigungen der Lambda-Funktion und den Aufrufberechtigungen?

Lesedauer: 3 Minute
0

Ich möchte die Unterschiede zwischen den Berechtigungen der AWS Lambda-Funktionsausführungsrolle und den Aufrufberechtigungen verstehen. Wie unterscheiden sich die beiden Arten von Berechtigungen von AWS Identity and Access Management (IAM) für Lambda?

Lösung

Wichtig: Wenn Sie IAM-Richtlinien erstellen, empfiehlt es sich, nur die Berechtigungen zu erteilen, die für die Ausführung einer bestimmten Aufgabe erforderlich sind. Weitere Informationen finden Sie unter Gewähren von geringsten Rechten im IAM-Benutzerhandbuch.

Rollenberechtigungen für die Lambda-Funktion

Lambda-Ausführungsrollenberechtigungen sind IAM-Berechtigungen, die einer Lambda-Funktion die Berechtigung zum Zugriff auf bestimmte AWS-Cloud-Services und -Ressourcen gewähren. Wenn Sie Ihrer Funktionsausführungsrolle keine Berechtigungen für einen AWS Cloud-Service oder eine Ressource erteilen, kann die Funktion nicht auf diesen Service oder diese Ressource zugreifen.

Wichtig: Für Lambda-Funktionen, die andere AWS-Cloud-Services abfragen, sind Ausführungsrollenberechtigungen erforderlich, mit denen die Funktion Datensätze aus diesen Services abrufen kann.

So werden Ausführungsrollenberechtigungen erteilt

Lambda-Ausführungsrollenberechtigungen werden in Form von spezifischen API-Aktions-IDs (z. B. s3:GetObject) erteilt. Diese Aktions-IDs sind im Aktionselement einer IAM-Richtlinienerklärung aufgeführt. Die Richtlinie wird dann an eine IAM-Rolle angehängt, die als Ausführungsrolle bezeichnet wird und die Ihre Lambda-Funktion bei jedem Aufruf annimmt.

Für Services, die eine Warteschlange oder einen Datenstrom generieren, müssen Sie ein Ereignisquellen-Mapping konfigurieren, damit Lambda die Warteschlange oder den Datenstrom abfragt. Ein Ereignisquellen-Mapping verwendet Berechtigungen in der Ausführungsrolle der Funktion, um Elemente in der Ereignisquelle zu lesen und zu verwalten.

Hinweis: Berechtigungen, Ereignisstruktur, Einstellungen und Abfrageverhalten variieren je nach Ereignisquelle. Ein Beispiel für eine IAM-Richtlinie, die Lambda-Abfrageberechtigungen enthält, finden Sie unter IAM-Richtlinie, damit eine AWS Lambda-Funktion auf DynamoDB-Stream-Datensätze zugreifen kann.

Berechtigungen zum Aufrufen der Lambda-Funktion

Lambda-Funktionsaufrufberechtigungen sind IAM-Berechtigungen, die einem bestimmten AWS Cloud-Service oder einer bestimmten Ressource die Berechtigung zum Aufrufen einer Lambda-Funktion erteilen. Wenn Sie keine Dienst- oder Ressourcenaufrufberechtigungen für Ihre Lambda-Funktion erteilen, kann dieser Service oder diese Ressource Ihre Funktion nicht aufrufen.

Wichtig: Für Lambda-Funktionen, die von AWS-Cloud-Services aufgerufen werden, die Ereignisquellen an die Funktion übertragen, sind Aufrufberechtigungen erforderlich.

So werden Aufrufberechtigungen erteilt

Lambda-Aufrufberechtigungen werden in Form einer bestimmten API-Aktionskennung erteilt: lambda:InvokeFunction. Dieser Aktionsbezeichner ist im Aktionselement der ressourcenbasierten IAM-Richtlinienanweisung einer Lambda-Funktion aufgeführt. Die ressourcenbasierte Richtlinie einer Lambda-Funktion wird getrennt von der Ausführungsrolle der Funktion konfiguriert.

Hinweis: Dies ist ein Sonderfall, in dem sich der Aktionsbezeichner (lambda:InvokeFunction) von der API-Operation (Invoke) unterscheidet. Für andere Aktionen ist der Aktionsbezeichner der Operationsname mit vorangestelltem lambda:.

Wenn Sie die Lambda-Konsole verwenden, um Ihrer Funktion einen Trigger hinzuzufügen, werden die erforderlichen Aufrufberechtigungen automatisch zur ressourcenbasierten Richtlinie der Funktion hinzugefügt. Um Berechtigungen für Konten oder Dienste zu erteilen, die in der Konsole nicht verfügbar sind, müssen Sie die API-Aktion Lambda AddPermission verwenden.

Weitere Informationen finden Sie unter Funktionszugriff auf AWS-Services gewähren.


Relevante Informationen

AWS Lambda-Berechtigungen

Anwendung der Prinzipien der geringsten Rechte (Lambda Operator Guide)

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren