Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

314
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda