Pourquoi ne puis-je pas générer un rapport Amazon S3 Inventory ?
J'ai configuré un rapport Amazon Simple Storage Service (Amazon S3) Inventory, mais il n'a pas été livré et j'ai reçu le message d'erreur « Accès refusé ».
Brève description
Vous recevez le message d’erreur suivant :
« Access denied Inventory export for 2021-02-19 failed because S3 doesn't have access to the destination bucket or KMS key. Ask the owner of the destination bucket or KMS key to grant the necessary access and then try again. »
Pour générer un rapport Amazon S3 Inventory et éviter le message d'erreur précédent, vous devez remplir les conditions suivantes :
- Autorisez le compartiment source à charger le rapport Amazon S3 Inventory vers le compartiment de destination.
- Conservez le compartiment de destination et le compartiment source dans la même région AWS que celle dans laquelle vous avez configuré Amazon S3 Inventory.
- Accordez à Amazon S3 l'accès à la clé AWS Key Management Service (AWS KMS) utilisée pour chiffrer le fichier de rapport d'inventaire.
Remarque : Amazon S3 peut prendre jusqu'à 48 heures pour livrer le premier rapport d'inventaire.
Résolution
Autoriser le compartiment source à charger le rapport d'inventaire Amazon S3 vers le compartiment de destination
Vérifiez que votre politique de compartiment autorise le chargement du compartiment source vers le compartiment de destination.
Exemple de politique de compartiment qui inclut l'action PutObject :
{ "Version": "2012-10-17", "Id": "S3PolicyId", "Statement": [ { "Sid": "InventoryAndAnalyticsExamplePolicy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::destinationbucket/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" }, "StringEquals": { "aws:SourceAccount": "123456789012", "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
Excluez s3.amazonaws.com de chaque instruction de rejet susceptible d'affecter une action PutObject. Un refus explicite a la priorité sur les instructions d’autorisation.
L'exemple de politique de compartiment suivant refuse l'accès à s3.amazonaws.com et n'autorise l'accès qu'à une plage d'adresses IP spécifiée :
{ "Version": "2012-10-17", "Id": "S3PolicyId", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::destinationbucket", "arn:aws:s3:::destinationbucket/*" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24" } } } ] }
La version suivante est une version mise à jour de la politique de compartiment précédente qui autorise l'accès à s3.amazonaws.com :
{ "Version": "2012-10-17", "Id": "S3PolicyId", "Statement": [ { "Sid": "IPAllow", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::destinationbucket", "arn:aws:s3:::destinationbucket/*" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24" }, "ArnNotLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" } }, "Principal": "*" }, { "Sid": "InventoryAndAnalyticsExamplePolicy", "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::destinationbucket/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" }, "StringEquals": { "aws:SourceAccount": "123456789012", "s3:x-amz-acl": "bucket-owner-full-control" } }, "Principal": { "AWS": [ "s3.amazonaws.com" ] } } ] }
Vérifier que votre compartiment de destination se trouve dans la même région que le compartiment source
Ouvrez la console Amazon S3. Accédez à votre liste de compartiments et consultez la colonne Régions pour déterminer si votre compartiment de destination et votre compartiment source se trouvent dans la même région.
Si votre compartiment source et votre compartiment de destination se trouvent dans des régions différentes, créez ou choisissez un nouveau compartiment.
Remarque : Jusqu'à ce que vous transfériez des objets, les objets appartenant au compartiment demeurent dans la région dans laquelle vous avez créé le compartiment. Pour plus d'informations, consultez la section Présentation des compartiments.
Accorder l'accès à la clé AWS KMS qui a été utilisée pour chiffrer le fichier du rapport d'inventaire
Si vous avez chiffré votre compartiment Amazon S3 avec une clé AWS KMS, accordez à Amazon S3 l'accès à votre clé AWS KMS.
Procédez comme suit :
-
Ouvrez la console AWS KMS.
Remarque : Utilisez le compte AWS qui détient la clé AWS KMS pour vous connecter. -
Dans le volet de navigation, sélectionnez Clés gérées par le client.
-
Sous Clés gérées par le client, sélectionnez la clé AWS KMS que vous utilisez pour chiffrer le fichier du rapport d'inventaire.
-
Sous Politique de clé, sélectionnez Passer à la vue de politique.
-
Sélectionnez Modifier.
-
Sous Modifier la politique de clé, ajoutez la politique de clé suivante à la politique clé existante.
{ "Sid": "Allow Amazon S3 use of the KMS key", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "source-account-id" }, "ArnLike": { "aws:SourceARN": "arn:aws:s3:::source-bucket-name" } } }
-
Sélectionnez Enregistrer les modifications.
Remarque : Vérifiez la colonne Dernière exportation sous Configurations d'inventaire dans la console Amazon S3. Une colonne Dernière exportation vide peut indiquer qu'Amazon S3 n'a pas livré le rapport d'inventaire. Si Amazon S3 a livré le rapport d'inventaire, vous pouvez le trouver dans le chemin spécifié dans le compartiment de destination.
Consulter les journaux d'accès à votre serveur et l'historique CloudTrail
Consultez les journaux d'accès de votre serveur pour déterminer si des modifications ont été apportées à vos politiques de compartiment qui ont interrompu la livraison. Pour des exemples de formats de journal, consultez la section Format de journal d'accès au serveur Amazon S3.
Voici un exemple d'entrée de journal qui indique qu'une modification a été apportée à votre politique de compartiment :
REST.PUT.BUCKETPOLICY
Vous pouvez également rechercher l'action d’API PutBucketPolicy dans l'historique des événements AWS CloudTrail. Si l'action PutBucketPolicy a été effectuée il y a plus de 90 jours, vous devez interroger les journaux CloudTrail dans Amazon S3. Pour plus d'informations, consultez la page Informations relatives à Amazon S3 dans CloudTrail sur le site Web de GitHub AWS Docs.
Vérifier le filtre de préfixe pour la portée de l'inventaire
Si vous avez configuré un filtre de préfixe et que votre rapport d'inventaire n'est pas livré après 48 heures, vérifiez la configuration de votre préfixe. Assurez-vous que le filtre de préfixe correspond à un préfixe existant dans le compartiment inventorié. Supprimez les espaces vides, les fautes de frappe et les barres obliques.
Informations connexes
Activation de la journalisation des événements CloudTrail pour les compartiments et les objets S3
Gestion des autorisations pour les rapports S3 Inventory, S3 Analytics et S3 Inventory

Contenus pertinents
- demandé il y a 7 moislg...
- demandé il y a 2 anslg...
- demandé il y a 2 anslg...
- demandé il y a 8 moislg...
- AWS OFFICIELA mis à jour il y a 4 mois
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a un an