Configuration des IAM politiques pour les points d'accès Object Lambda - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des IAM politiques pour les points d'accès Object Lambda

Les points d'accès Amazon S3 prennent en charge AWS Identity and Access Management (IAM) des politiques de ressources que vous pouvez utiliser pour contrôler l'utilisation du point d'accès par ressource, par utilisateur ou selon d'autres conditions. Vous pouvez contrôler l'accès par le biais d'une politique de ressources facultative sur votre point d'accès Object Lambda ou d'une politique de ressources sur le point d'accès de prise en charge. Pour step-by-step des exemples, voir Didacticiel : Transformation de données pour votre application avec S3 Object Lambda etTutoriel : Détection et rédaction de PII données avec S3 Object Lambda et Amazon Comprehend.

Les quatre ressources suivantes doivent disposer d'autorisations pour utiliser les points d'accès Object Lambda :

  • L'IAMidentité, telle que l'utilisateur ou le rôle. Pour plus d'informations sur les IAM identités et les meilleures pratiques, consultez la section IAMIdentités (utilisateurs, groupes d'utilisateurs et rôles) dans le Guide de IAM l'utilisateur.

  • Le compartiment et le point d'accès standard associé. Lorsque vous utilisez des points d'accès Object Lambda, ce point d'accès standard est appelé point d'accès de prise en charge.

  • Le point d'accès Object Lambda.

  • La AWS Lambda fonction.

Important

Avant d'enregistrer votre politique, assurez-vous de résoudre les avertissements de sécurité, les erreurs, les avertissements généraux et les suggestions de AWS Identity and Access Management Access Analyzer. IAMAccess Analyzer effectue des vérifications de politique pour valider votre politique par rapport à la grammaire des IAM politiques et aux meilleures pratiques. Ces vérifications génèrent des résultats et fournissent des recommandations exploitables pour vous aider à créer des stratégies fonctionnelles et conformes aux bonnes pratiques en matière de sécurité.

Pour en savoir plus sur la validation des politiques à l'aide d'IAMAccess Analyzer, consultez la section Validation des politiques IAM Access Analyzer dans le guide de l'IAMutilisateur. Pour consulter la liste des avertissements, des erreurs et des suggestions renvoyés par IAM Access Analyzer, consultez la référence de vérification des politiques IAM d'Access Analyzer.

Les exemples de politique suivants supposent que vous disposez des ressources suivantes :

  • Un compartiment Amazon S3 portant le nom de ressource Amazon suivant (ARN) :

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

  • Un point d'accès standard Amazon S3 sur ce compartiment avec les éléments suivants ARN :

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

  • Un point d'accès Object Lambda avec les éléments suivants : ARN

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

  • Une AWS Lambda fonction présentant les caractéristiques suivantes ARN :

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

Note

Si vous utilisez une fonction Lambda depuis votre compte, vous devez inclure la version de la fonction spécifique dans votre déclaration de politique. Dans l'exemple suivantARN, la version est indiquée par 1:

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

Lambda ne prend pas en charge l'ajout de IAM politiques à la version. $LATEST Pour plus d'informations sur les versions des fonctions Lambda, consultez Versions de fonctions Lambda dans le Guide du développeur AWS Lambda .

Exemple – Politique de compartiment qui délègue le contrôle d'accès aux points d'accès standard

L'exemple de politique de compartiment S3 suivant délègue le contrôle d'accès pour un compartiment aux points d'accès standard du compartiment. Cette politique permet un accès complet à tous les points d'accès appartenant au compte du propriétaire du compartiment. Ainsi, tous les accès à ce compartiment sont contrôlés par les politiques attachées à ses points d'accès. Les utilisateurs peuvent lire à partir du compartiment uniquement via un point d'accès, ce qui signifie que les opérations peuvent uniquement être appelées via des points d'accès. Pour plus d’informations, consultez Délégation du contrôle d'accès aux points d'accès.

{ "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" } } }] }
Exemple — IAM politique qui accorde à un utilisateur les autorisations nécessaires pour utiliser un point d'accès Object Lambda

La IAM politique suivante accorde à un utilisateur des autorisations sur la fonction Lambda, le point d'accès standard et le point d'accès Lambda Object.

{ "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" } ] }

Activation des autorisations pour les rôles d'exécution Lambda

Lorsque des GET demandes sont adressées à un point d'accès Lambda d'objets, votre fonction Lambda a besoin d'une autorisation pour envoyer des données au point d'accès Lambda d'objets S3. Cette autorisation est fournie en activant l'autorisation s3-object-lambda:WriteGetObjectResponse sur le rôle d'exécution de votre fonction Lambda. Vous pouvez créer un rôle d'exécution ou mettre à jour un rôle existant.

Note

Votre fonction a besoin de l'autorisation s3-object-lambda:WriteGetObjectResponse uniquement si vous réalisez une requête GET.

Pour créer un rôle d'exécution dans la IAM console
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de gauche, choisissez Rôles.

  3. Sélectionnez Create role (Créer un rôle).

  4. Sous Cas d'utilisation courants, choisissez Lambda.

  5. Choisissez Suivant.

  6. Sur la page Ajouter des autorisations, recherchez la stratégie AWS gérée AmazonS3ObjectLambdaExecutionRolePolicy, puis cochez la case à côté du nom de la stratégie.

    Cette politique doit contenir l'action s3-object-lambda:WriteGetObjectResponse.

  7. Choisissez Suivant.

  8. Sur la page Name, review, and create (Nommer, vérifier et créer), pour Role name (Nom du rôle), saisissez s3-object-lambda-role.

  9. (Facultatif) Ajoutez une description et des balises pour ce rôle.

  10. Sélectionnez Créer un rôle.

  11. Appliquez l'objet récemment créé s3-object-lambda-role comme rôle d'exécution de votre fonction Lambda. Cela peut être fait pendant ou après la création de la fonction Lambda dans la console Lambda.

Pour plus d'informations sur les rôles d'exécution, consultez Rôle d'exécution Lambda dans le Guide du développeur AWS Lambda .

Utilisation des clés de contexte avec des points d'accès Object Lambda

S3 Object Lambda évaluera les clés de contexte telles que s3-object-lambda:TlsVersion ou s3-object-lambda:AuthType qui sont liées à la connexion ou à la signature de la demande. Toutes les autres clés de contexte, telles que s3:prefix, sont évaluées par Simple Storage Service (Amazon S3).