So verwalten die Berechtigungen mit der AWS Lambda -Funktion

So verwalten die Berechtigungen mit der AWS Lambda -Funktion
„Wenn eine Lambda -Funktion erstellt wird, wird eine Standard -IAM -Rolle erstellt und damit verbunden. Diese Rolle wird als die genannt Ausführungsrolle und verfügt über begrenzte Berechtigungen, um die Lambda -Protokolle in die CloudWatch -Protokolle zu bringen. Außerdem hat kein anderer AWS -Dienst die Erlaubnis, die Lambda -Funktion standardmäßig aufzurufen. Um diese Berechtigungen zu verwalten, müssen Sie entweder die IAM-Rolle oder die ressourcenbasierte Richtlinie aktualisieren.

Mit der IAM -Rolle kann die Lambda -Funktion auf andere AWS -Dienste innerhalb des AWS -Kontos zugreifen. Andererseits ist die ressourcenbasierte Richtlinie der Lambda-Funktion beigefügt, damit andere AWS-Dienste innerhalb derselben oder unterschiedlichen Konten auf die Lambda-Funktion zugreifen können. In diesem Blog werden wir sehen, wie wir die Lambda-Berechtigungen verwalten können, indem wir die IAM- und Ressourcen-Richtlinien anwenden.”

Verwalten von Berechtigungen mit der IAM -Rolle

Standardmäßig hat die IAM -Rolle, die der Lambda -Funktion beigefügt ist. Sie können die Ausführungsrolle jederzeit aktualisieren, um weitere Berechtigungen hinzuzufügen. Wenn Sie auf den S3 -Bucket zugreifen oder eine Aktion auf einem S3 -Bucket -Objekt ausführen möchten, benötigen Sie den Zugriff auf S3 Bucket und S3 -Objektebene in der Lambda -Ausführungsrolle. In diesem Abschnitt des Blogs werden wir die IAM -Rollenberechtigungen aktualisieren, damit Lambda mit dem S3 -Eimer interagieren kann.

Navigieren Sie zunächst zur AWS Lambda -Konsole und klicken Sie auf die Lambda -Funktion, die Sie für die Ausführungsrolle aktualisieren möchten. Klick auf das Aufbau Registerkarte auf der Lambda -Funktionskonsole. Wählen Sie dann vom linken Seitenfeld die aus Berechtigungen Registerkarte, und es zeigt die Lambda -Ausführungsrolle dort.

In der IAM-Rolle können Sie entweder eine AWS-verwaltete oder kundenführende Richtlinie hinzufügen, oder Sie können eine Inline-Richtlinie hinzufügen, um der Lambda-Funktion die erforderlichen Berechtigungen für die Interaktion mit anderen AWS-Diensten zu erteilen.

Verwalten der Berechtigung mithilfe von ressourcenbasierten Richtlinien

Ressourcenbasierte Richtlinien für die Lambda-Funktion geben Berechtigungen für andere AWS-Dienste innerhalb desselben oder unterschiedlichen AWS-Kontos, um auf die Lambda-Funktion zuzugreifen. Standardmäßig gibt es keine ressourcenbasierte Richtlinie, die automatisch an die Lambda-Funktion angehängt ist, sodass kein AWS-Dienst auf die Lambda-Funktion zugreifen kann. Sie können die ressourcenbasierten Richtlinien jederzeit zu Ihrer Lambda-Funktion hinzufügen und entfernen. In diesem Blog werden wir der Lambda-Funktion eine ressourcenbasierte Richtlinie hinzufügen, mit der S3 die Lambda-Funktion aufrufen kann.

Um der Lambda-Funktion eine ressourcenbasierte Richtlinie hinzuzufügen, klicken Sie zunächst auf die Lambda-Funktion und gehen Berechtigungen Registerkarte der Lambda -Funktion.

Im Berechtigungen Registerkarte, scrollen Sie nach unten, und Sie finden einen Abschnitt für ressourcenbasierte Richtlinien. Klick auf das Berechtigungen hinzufügen Taste in der Ressourcenbasierte Richtlinienerklärungen Abschnitt der Konsole, um der Lambda-Funktion eine neue ressourcenbasierte Richtlinie hinzuzufügen.

In der ressourcenbasierten Richtlinie gibt es drei Arten von Ressourcen, die Sie für die Lambda-Funktion erfüllen können.

  • Erteilung der AWS -Dienste Erlaubnis
  • Ergeben Sie einem anderen AWS -Konto die Erlaubnis
  • Ergeben Sie Berechtigungen, um die Lambda -Funktion über URL aufzurufen

Für diese Demo konfigurieren wir einen S3 -Eimer desselben Kontos, um die Lambda -Funktion aufzurufen, wenn ein neues S3 -Objekt darauf hochgeladen wird. Für diese Konfiguration wählen Sie die aus AWS -Service und wählen Sie dann die aus S3 als Service. Geben Sie die AWS -Konto -ID ein, in der der S3 -Eimer existiert, ich.e., Ihre eigene AWS -Konto -ID. Geben Sie nach der Bereitstellung der Konto -ID den ARN des S3 -Eimers an, der die Erlaubnis hat, die Lambda -Funktion aufzurufen, und dann auswählen Lambda: InvokeFunction Als Aktion wie wir die Lambda -Funktion aus dem S3 -Eimer aufrufen werden.

Klicken Sie nach dem Hinzufügen all dieser Informationen auf die Schaltfläche Speichern, um die ressourcenbasierte Richtlinie zur Lambda-Funktion hinzuzufügen. Sie können sich auch das JSON-Format der ressourcenbasierten Richtlinie ansehen, die der Lambda-Funktion beigefügt ist.

Aus dem Abschnitt Ressourcenbasierter Richtlinien in der Berechtigungen Tab klicken.

Entfernen ressourcenbasierter Richtlinie

Sie können die ressourcenbasierte Richtlinie entfernen, wenn Sie weiterhin andere AWS-Dienste ermöglichen, auf die Lambda-Funktion zuzugreifen. Wenn die ressourcenbasierte Richtlinie an einer Lambda-Funktion angeschlossen ist.

Um die ressourcenbasierte Richtlinie zu entfernen, gehen Sie in die Ressourcenbasierte Aussagen Abschnitt der Berechtigungen Tab. Wählen Sie die ressourcenbasierte Richtlinie aus, die Sie entfernen möchten, und klicken Sie auf die Löschen Taste und löscht die ressourcenbasierte Richtlinie aus der Lambda-Funktion.

Vor dem Entfernen der ressourcenbasierten Richtlinie werden um Bestätigung gebeten, und Sie können die Löschung bestätigen, indem Sie auf die Klicken auf die löschen Taste.

Abschluss

In diesem Blog haben wir untersucht, wie die Erlaubnis mit der AWS Lambda -Funktion verwaltet wird. Es gibt zwei Arten von Berechtigungen, die Lambda zugeordnet werden können. Einer ist Lambda IAM rollenbasierte Berechtigungen, mit denen AWS Lambda auf andere AWS-Dienste zugreifen kann, und der andere sind ressourcenbasierte Berechtigungen, die es anderen Diensten ermöglichen, auf die Lambda-Funktion zuzugreifen. In diesem Blog haben wir den Unterschied zwischen beiden Arten von Richtlinien untersucht und gesehen, wie wir beide Richtlinien aktualisieren konnten, um Berechtigungen zu erteilen.