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 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 — 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
-
Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation de gauche, choisissez Rôles.
-
Sélectionnez Créer un rôle.
-
Sous Cas d'utilisation courants, choisissez Lambda.
-
Choisissez Suivant.
-
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
. -
Choisissez Suivant.
-
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
. -
(Facultatif) Ajoutez une description et des balises pour ce rôle.
-
Sélectionnez Créer un rôle.
-
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).