Autorisations du compartiment Amazon S3 pour les journaux de flux - Amazon Virtual Private Cloud

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.

Autorisations du compartiment Amazon S3 pour les journaux de flux

Par défaut, les compartiments Amazon S3 et les objets qu'ils contiennent sont privés. Seul le propriétaire du compartiment peut accéder au compartiment et aux objets qui y sont stockés. Cependant, le propriétaire du compartiment peut accorder l'accès à d'autres ressources et à d'autres utilisateurs en créant une politique d'accès.

Si l'utilisateur qui crée le journal de flux est le propriétaire du compartiment et dispose des autorisations PutBucketPolicy et GetBucketPolicy pour le compartiment, nous attachons automatiquement la stratégie suivante au compartiment. Cette politique remplace toute politique existante attachée au compartiment.

Sinon, le propriétaire du compartiment doit ajouter cette stratégie au compartiment en spécifiant l'ID du compte  AWS du créateur du journal de flux. Sinon, la création du journal de flux échoue. Pour plus d'informations, consultez Utilisation de stratégies de compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "my-s3-arn/*", "Condition": { "StringEquals": { "aws:SourceAccount": account_id, "s3:x-amz-acl": "bucket-owner-full-control" }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:region:account_id:*" } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::bucket_name", "Condition": { "StringEquals": { "aws:SourceAccount": account_id }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:region:account_id:*" } } } ] }

L'ARN que vous spécifiez my-s3-arn dépend de l'utilisation de préfixes S3 compatibles avec Hive ou non.

  • Préfixes par défaut

    arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*
  • Préfixes S3 compatibles avec Hive

    arn:aws:s3:::bucket_name/optional_folder/AWSLogs/aws-account-id=account_id/*

Il est recommandé d'accorder ces autorisations au principal du service de livraison des journaux plutôt qu'à un individu Compte AWS ARNs. Une autre bonne pratique consiste également à utiliser les clés de condition aws:SourceAccount et aws:SourceArn afin de vous protéger contre le problème du député confus. Le compte source est le propriétaire du journal de flux et l'ARN source est l'ARN à caractère générique (*) du service de journaux.

Notez que le service de livraison de journaux appelle l'action d'API HeadBucket Amazon S3 pour vérifier l'existence et l'emplacement du compartiment S3. Vous n'êtes pas obligé d'accorder au service de livraison de journaux l'autorisation d'appeler cette action ; il fournira toujours les journaux de flux VPC même s'il ne peut pas confirmer l'existence du compartiment S3 ni son emplacement. Cependant, il y aura une AccessDenied erreur liée à l'appel HeadBucket dans vos CloudTrail journaux.