python - Forsøger at få adgang til en s3 bucket ved hjælp af boto3, men at få 403

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skrev et python script til at downloade nogle filer fra en s3 bucket. Scriptet fungerer fint på en maskine, men bryder på en anden.
Her er undtagelsen, jeg får: botocore.exceptions.ClientError: En fejl opstod (403), når du kalder HeadObject-operationen: Forbudt.


Jeg er temmelig sikker på, at den er relateret til nogle systemkonfigurationer eller noget relateret til registreringsdatabasen, men ved ikke, hvad der er præcist. Begge maskiner kører Windows 7 og Python 3.5.
Nogen forslag.

Bedste reference


Problemet blev faktisk forårsaget af, at systemtiden var forkert. Jeg fastsatte systemtiden og problemet er løst.

Andre referencer 1


Så forbudt betyder, at du ikke har adgang til at udføre operationen. Kontroller, at du har tilladelse til at udføre læsning på den pågældende bucket, og du har også leveret gyldige IAM-nøgler. Nedenfor er prøvepolitikken for at få læst og liste adgang til bucket.


{
 "Version":"2012-10-17",
 "Statement":[
  {
     "Sid":"statement1",

     "Effect":"Allow",
     "Action":[
        "s3:List*",
        "s3:GetObject"
     ],
     "Resource":[
        "arn:aws:s3:::bucketname/*"
     ]
   }
]
}


Mere info her:



  • [2] Angivelse af tilladelser i en politik

  • [3] Skrivning af IAM-politikker: Sådan giver du adgang til en Amazon S3 Bucket