Configuration des politiques IAM 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 politiques IAM pour les points d’accès Object Lambda

Les points d'accès Amazon S3 prennent en charge les politiques de ressources AWS Identity and Access Management (IAM) 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 etDidacticiel : Détecter et expurger des DPI 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’identité IAM, telle que l’utilisateur ou le rôle. Pour obtenir plus d’informations sur les identités IAM et sur les bonnes pratiques, consultez Identités IAM (utilisateurs, groupes d’utilisateurs et rôles) dans le Guide de l’utilisateur IAM.

  • 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. IAM Access Analyzer exécute des vérifications de politiques pour valider votre politique par rapport à la grammaire de politique et aux bonnes pratiques IAM. 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’IAM Access Analyzer, consultez Validation de politique IAM Access Analyzer dans le Guide de l’utilisateur IAM. Pour afficher la liste des avertissements, erreurs et suggestions renvoyés par IAM Access Analyzer, consultez la Référence de vérification de politique IAM Access Analyzer.

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

  • Un compartiment Amazon S3 avec l’Amazon Resource Name (ARN) suivant :

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

  • Un point d’accès Amazon S3 Standard sur ce compartiment avec l’ARN suivant :

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

  • Un point d’accès Object Lambda avec l’ARN suivant :

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

  • Une AWS Lambda fonction avec l'ARN suivant :

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

Note

Si vous utilisez une fonction Lambda de votre compte, vous devez inclure la version de cette fonction dans votre déclaration de politique. Dans l'exemple d'ARN suivant, 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 politiques IAM à 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 invoquées via des points d’accès. Pour de plus amples informations, veuillez consulter 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  : politique IAM qui accorde à un utilisateur les autorisations nécessaires pour utiliser un point d’accès Object Lambda

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

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

Quand des demandes GET sont adressées à un point d’accès Object Lambda, votre fonction Lambda a besoin d’une autorisation pour envoyer les données au point d’accès S3 Object Lambda. 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 console IAM
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

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

  3. Sélectionnez 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).