Konfiguration von IAM Richtlinien für Object Lambda Access Points - Amazon Simple Storage Service

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.

Konfiguration von IAM Richtlinien für Object Lambda Access Points

Amazon S3 Access Points unterstützen Ressourcenrichtlinien AWS Identity and Access Management (IAM), mit denen Sie die Nutzung des Access Points nach Ressourcen, Benutzern oder anderen Bedingungen steuern können. Sie können den Zugriff über eine optionale Ressourcenrichtlinie auf Ihrem Object Lambda Access Point oder eine Ressourcenrichtlinie für unterstützende Zugriffspunkte steuern. step-by-stepBeispiele finden Sie unter Tutorial: Transformieren von Daten für Ihre Anwendung mit S3 Object Lambda undTutorial: Erkennen und Redigieren von PII Daten mit S3 Object Lambda und Amazon Comprehend.

Die vier folgenden Ressourcen müssen über Berechtigungen verfügen, um mit Object Lambda Access Points zu arbeiten:

  • Die IAM Identität, z. B. Benutzer oder Rolle. Weitere Informationen zu IAM Identitäten und bewährten Methoden finden Sie im Benutzerhandbuch unter IAMIdentitäten (Benutzer, Benutzergruppen und Rollen). IAM

  • Der Bucket und der zugehörige Standardzugriffspunkt Wenn Sie mit Object Lambda Access Point arbeiten, wird dieser Standardzugriffspunkt als unterstützender Zugriffspunkt bezeichnet.

  • Der Object Lambda Access Point.

  • Die AWS Lambda Funktion.

Wichtig

Bevor Sie Ihre Richtlinie speichern, stellen Sie sicher, dass Sie Sicherheitswarnungen, Fehler, allgemeine Warnungen und Vorschläge von behoben haben AWS Identity and Access Management Access Analyzer. IAMAccess Analyzer führt Richtlinienprüfungen durch, um Ihre Richtlinie anhand der IAM Richtliniengrammatik und der bewährten Methoden zu überprüfen. Diese Prüfungen generieren Ergebnisse und bieten umsetzbare Empfehlungen, die Sie beim Erstellen von Richtlinien unterstützen, die funktionsfähig sind und den bewährten Methoden für Sicherheit entsprechen.

Weitere Informationen zur Überprüfung von Richtlinien mithilfe von IAM Access Analyzer finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung im IAMBenutzerhandbuch. Eine Liste der Warnungen, Fehler und Vorschläge, die von Access Analyzer zurückgegeben werden, finden Sie unter IAM IAMAccess Analyzer-Referenz zur Richtlinienüberprüfung.

In den nachstehenden Richtlinienbeispielen wird davon ausgegangen, dass Sie die folgenden Ressourcen haben:

  • Ein Amazon S3 S3-Bucket mit dem folgenden Amazon-Ressourcennamen (ARN):

    arn:aws:s3:::amzn-s3-demo-bucket1

  • Ein Amazon S3 S3-Standardzugriffspunkt in diesem Bucket mit den folgenden EigenschaftenARN:

    arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point

  • Ein Object Lambda Access Point mit den folgenden Eigenschaften: ARN

    arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap

  • Eine AWS Lambda Funktion mit den folgenden Eigenschaften: ARN

    arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction

Anmerkung

Wenn Sie eine Lambda-Funktion von Ihrem Konto aus verwenden, müssen Sie die spezifische Funktionsversion in Ihre Richtlinienerklärung aufnehmen. Im folgenden Beispiel wird ARN die Version wie folgt angegeben 1:

arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction:1

Lambda unterstützt das Hinzufügen von IAM Richtlinien zur Version $LATEST nicht. Weitere Informationen zu Lambda-Funktionsversionen finden Sie unter Lambda-Funktionsversionen im AWS Lambda -Entwicklerhandbuch.

Beispiel – Bucket-Richtlinie zum Delegieren der Zugriffskontrolle an Standardzugriffspunkte

Das folgende Beispiel für eine S3-Bucket-Richtlinie delegiert die Zugriffskontrolle für einen Bucket an die Standardzugriffspunkte des Buckets. Diese Richtlinie ermöglicht Vollzugriff auf alle Zugriffspunkte, die dem Konto des Bucket-Eigentümers gehören. Somit wird der gesamte Zugriff auf diesen Bucket durch die an seine Zugriffspunkte angehängten Richtlinien gesteuert. Benutzer können nur über einen Zugriffspunkt aus dem Bucket lesen, was bedeutet, dass Operationen nur über Zugriffspunkte aufgerufen werden können. Weitere Informationen finden Sie unter Delegieren der Zugangskontrolle an Zugriffspunkte.

{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS":"account-ARN"}, "Action" : "*", "Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*" ], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Bucket owner's account ID" } } }] }
Beispiel — IAM Richtlinie, die einem Benutzer die erforderlichen Berechtigungen zur Verwendung eines Object Lambda Access Points gewährt

Die folgende IAM Richtlinie gewährt einem Benutzer Berechtigungen für die Lambda-Funktion, den Standard-Access Point und den Object Lambda Access Point.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLambdaInvocation", "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction:1", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "s3-object-lambda.amazonaws.com" ] } } }, { "Sid": "AllowStandardAccessPointAccess", "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point/*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "s3-object-lambda.amazonaws.com" ] } } }, { "Sid": "AllowObjectLambdaAccess", "Action": [ "s3-object-lambda:Get*", "s3-object-lambda:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap" } ] }

Aktivieren von Berechtigungen für Lambda-Ausführungsrollen

Wenn GET Anfragen an einen Object Lambda Access Point gestellt werden, benötigt Ihre Lambda-Funktion die Erlaubnis, Daten an den S3 Object Lambda Access Point zu senden. Diese Berechtigung wird durch Aktivieren der s3-object-lambda:WriteGetObjectResponse-Berechtigung für die Ausführungsrolle Ihrer Lambda-Funktion bereitgestellt. Sie können eine neue Ausführungsrolle erstellen oder eine vorhandene Rolle aktualisieren.

Anmerkung

Ihre Funktion benötigt die s3-object-lambda:WriteGetObjectResponse-Berechtigung nur, wenn Sie eine GET-Anforderung stellen.

Um eine Ausführungsrolle in der Konsole zu erstellen IAM
  1. Öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im linken Navigationsbereich Roles aus.

  3. Wählen Sie Rolle erstellen.

  4. Wählen Sie unter Häufige Anwendungsfälle die Option Lambda aus.

  5. Wählen Sie Weiter.

  6. Suchen Sie auf der Seite „Berechtigungen hinzufügen“ nach der AWS verwalteten Richtlinie AmazonS3ObjectLambdaExecutionRolePolicyund aktivieren Sie dann das Kontrollkästchen neben dem Richtliniennamen.

    Diese Richtlinie sollte die Aktion s3-object-lambda:WriteGetObjectResponse enthalten.

  7. Wählen Sie Weiter.

  8. Geben Sie auf der Seite Name, review, and create (Name, prüfen und erstellen) für Role name (Rollenname) s3-object-lambda-role ein.

  9. (Optional) Fügen Sie eine Beschreibung und Tags für diese Rolle hinzu.

  10. Wählen Sie Rolle erstellen.

  11. Wenden Sie die neu erstellte s3-object-lambda-role als Ausführungsrolle Ihrer Lambda-Funktion. Dies kann während oder nach der Erstellung der Lambda-Funktion in der Lambda-Konsole erfolgen.

Weitere Informationen zu Ausführungsrollen finden Sie unter Lambda-Ausführungsrolle im Entwicklerhandbuch für AWS Lambda .

Verwenden von Kontextschlüsseln mit Object Lambda Access Points

S3 Object Lambda wertet Kontextschlüssel wie s3-object-lambda:TlsVersion oder s3-object-lambda:AuthType im Zusammenhang mit der Verbindung oder dem Signieren der Anfrage aus. Alle anderen Kontextschlüssel, wie z. B. s3:prefix, werden von Amazon S3 ausgewertet.