Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

313
Views
Acceso a AWS S3 denegado al eliminar

Tengo un cubo en el que puedo escribir sin problema. Sin embargo, cuando intento eliminar un objeto, aparece un error...

 AccessDeniedException in NamespaceExceptionFactory.php line 91

Siguiendo el ejemplo muy básico aquí , se me ocurrió este comando...

 $result = $s3->deleteObject(array( 'Bucket' => $bucket, 'Key' => $keyname ));

He probado variaciones de esto basadas en otros tutoriales y preguntas que he encontrado.

 $result = $s3->deleteObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'Content-Type' => $contentType, 'Content-Length' => 0 ));

Pero todo produce el mismo error. ¿Alguna sugerencia?

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Es bastante común tener permiso de escritura (un usuario que solo escribe los datos en S3) y un permiso de eliminación por separado con otro usuario (para evitar eliminaciones accidentales).

Puede verificar si realmente tiene acceso a las acciones específicas del depósito, use la API iam get-role-policy para ver los permisos que tiene para el rol que está usando para intentar eliminar. Aquí hay un ejemplo:

 $ aws iam get-role-policy --role-name <<your-role-name>> --policy-name <<your-policy-name>> { "RoleName": "myrolename, "PolicyDocument": { "Version": "yyyy-mm-dd", "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:Get*", "s3:List*", "s3:ListBucket", "s3:PutObject*" ], "Resource": [ "arn:aws:s3:::bucket1/*", "arn:aws:s3:::bucket2/*" ], "Effect": "Allow", "Sid": "yyyy" } ] }, "PolicyName": "mypolicyname" }

Lo más probable es que en su caso no tenga la acción "s3:DeleteObject" para ese recurso (depósito/prefijo)

about 4 years ago · Santiago Trujillo Report

0

El hecho de que el usuario pueda crear un objeto en un depósito no implica necesariamente que el mismo usuario pueda eliminar el objeto que pudo haber creado.

El permiso de S3 puede ser granular en el nivel de recursos (depósito/prefijo), donde la acción que puede realizar su función puede ser uno o varios de los permisos (consulte: http://docs.aws.amazon.com/AmazonS3/latest/dev /usando-con-acciones-s3.html )

Parece que tiene permiso s3:PutObject pero no s3:DeleteObject.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!