Verwalten von Berechtigungen in AWS Lambda - 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.

Verwalten von Berechtigungen in AWS Lambda

Sie können AWS Lambda (IAM) zum Verwalten von Berechtigungen in AWS Identity and Access Management verwenden. Es gibt zwei Hauptkategorien von Berechtigungen, die Sie bei der Arbeit mit Lambda-Funktionen berücksichtigen müssen:

  • Berechtigungen, die Ihre Lambda-Funktionen benötigen, um API-Aktionen auszuführen und auf andere AWS-Ressourcen zuzugreifen

  • Berechtigungen, die andere AWS Benutzer und Entitäten für den Zugriff auf Ihre Lambda-Funktionen benötigen

Lambda-Funktionen müssen häufig auf andere AWS-Ressourcen zugreifen und verschiedene API-Operationen mit diesen Ressourcen ausführen. Sie verfügen beispielsweise möglicherweise über eine Lambda-Funktion, die auf ein Ereignis reagiert, indem sie Einträge in einer Amazon DynamoDB-Datenbank aktualisiert. In diesem Fall benötigt Ihre Funktion Berechtigungen für den Zugriff auf die Datenbank sowie Berechtigungen zum Ablegen oder Aktualisieren von Elementen in dieser Datenbank.

Sie definieren die Berechtigungen, die Ihre Lambda-Funktion benötigt, in einer speziellen IAM-Rolle, der sogenannten Ausführungsrolle. In dieser Rolle können Sie eine Richtlinie anhängen, die alle Berechtigungen definiert, die Ihre Funktion für den Zugriff auf andere AWS-Ressourcen und das Lesen aus Ereignisquellen benötigt. Jede Lambda-Funktion muss eine Ausführungsrolle haben. Ihre Ausführungsrolle muss mindestens Zugriff auf Amazon CloudWatch haben, da Lambda-Funktionen standardmäßig in CloudWatch Logs protokolliert werden. Sie können die AWSLambdaBasicExecutionRole verwaltete Richtlinie an Ihre Ausführungsrolle anhängen, um diese Anforderung zu erfüllen.

Um anderen AWS-Konten, Organisationen und Diensten Berechtigungen für den Zugriff auf Ihre Lambda-Ressourcen zu erteilen, haben Sie mehrere Möglichkeiten:

  • Sie können identitätsbasierte Richtlinien verwenden, um anderen Benutzern Zugriff auf Ihre Lambda-Ressourcen zu gewähren. Identitätsbasierte Richtlinien können direkt auf Benutzer oder auf Gruppen und Rollen angewendet werden, die einem Benutzer zugeordnet sind.

  • Sie können ressourcenbasierte Richtlinien verwenden, um anderen Konten und AWS-Services die Berechtigung für den Zugriff auf Ihre Lambda-Ressourcen zu erteilen. Wenn ein Benutzer versucht, auf eine Lambda-Ressource zuzugreifen, berücksichtigt Lambda sowohl die identitätsbasierten Richtlinien des Benutzers als auch die ressourcenbasierte Richtlinie der Ressource. Wenn ein AWS-Service wie Amazon Simple Storage Service (Amazon S3) Ihre Lambda-Funktion aufruft, berücksichtigt Lambda nur eine ressourcenbasierte Richtlinie.

  • Sie können ein attributbasiertes Zugriffskontrollmodell (ABAC) verwenden, um den Zugriff auf Ihre Lambda-Funktionen zu steuern. Mit ABAC können Sie Tags an eine Lambda-Funktion anhängen, sie in bestimmten API-Anforderungen übergeben oder sie an den IAM-Prinzipal anfügen, der die Anforderung stellt. Geben Sie dieselben Tags im Bedingungselement einer IAM-Richtlinie an, um den Funktionszugriff zu steuern.

In AWS ist es eine bewährte Praxis, nur die für die Durchführung einer Aufgabe erforderlichen Berechtigungen zu erteilen (Berechtigungen mit den geringsten Rechten). Um dies in Lambda zu implementieren, empfehlen wir, mit einer AWSverwalteten Richtlinie zu beginnen. Sie können diese verwalteten Richtlinien unverändert oder als Ausgangspunkt zum Schreiben Ihrer eigenen restriktiveren Richtlinien verwenden.

Um Ihnen bei der Optimierung Ihrer Berechtigungen für den Zugriff mit den geringsten Rechten zu helfen, bietet Lambda einige zusätzliche Bedingungen, die Sie in Ihre Richtlinien aufnehmen können. Weitere Informationen finden Sie unter Feinabstimmung der Abschnitte „Ressourcen“ und „Bedingungen“ der Richtlinien.

Weitere Informationen zu IAM finden Sie im IAM-Benutzerhandbuch.