Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

506
Visualizações
AWS S3 y Django devuelven "Se produjo un error (Acceso denegado) al llamar a la operación PutObject"

Estoy tratando de configurar el almacenamiento de archivos multimedia y estáticos en un depósito de AWS S3, en una aplicación de Django, y aparece el siguiente error cuando intento ejecutar python manage.py collectstatic para colocar los archivos estáticos en el depósito:

botocore.exceptions.ClientError: Se produjo un error (Acceso denegado) al llamar a la operación PutObject: Acceso denegado

Estoy ejecutando almacenamientos boto3 y django. Revisé las otras respuestas aquí y probé las ideas allí primero. Mi clave de acceso, etc. es correcta, ya que puedo conectarme a SES OK. Tengo CORS configurado en el depósito.

Mi política de depósitos es

 { "Id": "Policyxxx", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmtxxx", "Action": "s3:*", "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucketname/*", "arn:aws:s3:::bucketname" ], "Principal": { "AWS": [ "arn:aws:iam::xxxx:user/xxxx" ] } } ] }

Mi usuario de IAM tiene AmazonS3FullAccess como se muestra a continuación:

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

También intenté crear mi propia política y adjuntarla al usuario de IAM de la siguiente manera:

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucketname", "arn:aws:s3:::bucketname/*" ] } ] }

Ninguno de estos funciona, así que claramente me estoy perdiendo algo.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Yo tenía el mismo error. Y, a diferencia de usted, estaba usando el usuario correcto con las políticas de IAM adecuadas.

En la salida de:

 python manage.py collectstatic

antes del error de pila AccessDenied, pude leer este mensaje de django-storage lib :

Advertencia para el usuario: el comportamiento predeterminado de S3Boto3Storage no es seguro y cambiará en django-storages 2.0. De forma predeterminada, los archivos y los cubos nuevos se guardan con una ACL de 'lectura pública' (lectura pública global). La versión 2.0 usará de manera predeterminada la ACL del depósito. Para optar por el nuevo comportamiento, establezca AWS_DEFAULT_ACL = Ninguno; de lo contrario, para silenciar esta advertencia, establezca explícitamente AWS_DEFAULT_ACL. "El comportamiento predeterminado de S3Boto3Storage no es seguro y cambiará"

Esto me llevó a intentarlo.

Configurando :

 AWS_DEFAULT_ACL = None

Luego, los archivos estáticos se recopilaron en el cubo.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda