En la consola de Amazon S3 solo veo una opción de permiso para "cargar/eliminar". ¿Hay alguna manera de permitir la carga pero no eliminar?Cómo eliminar el permiso "eliminar" en Amazon S3
Respuesta
Los permisos que está viendo en la AWS Management Console directamente se basan en la inicial y comparativamente simple Access Control Lists (ACL) disponible para S3, que esencialmente diferenciada LEA y WRITE permisos, consulte Specifying a Permission:
- LEER - Permite al concesionario enumerar los objetos en el cubo
- ESCRIBIR - permite concesionario para crear, sobrescribir, y eliminar cualquier objeto en el cubo
Estas limitaciones se han abordado mediante la adición de Bucket Policies (permisos aplicados en el nivel de cubo) y IAM Policies (permisos aplican sobre el nivel de usuario), y los tres también se pueden usar juntos (lo que puede volverse bastante complejo, como se explica a continuación), ver Access Control para ver la imagen completa.
Su caso de uso probablemente solicite una política de cubeta respectiva, que también puede agregar directamente desde la consola S3. Al hacer clic en Agregar política de segmento, se abre el Editor de política de cubo, que presenta enlaces a un par de muestras, así como la muy recomendada AWS Policy Generator, que le permite ensamblar una política que aborde su caso de uso.
Para un cubo de otro modo bloqueado, la forma más simple podría ser similar (por favor, asegúrese de ajustar principal y Recursos a sus necesidades):
{
"Statement": [
{
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::<bucket_name>/<key_name>",
"Principal": {
"AWS": [
"*"
]
}
}
]
}
Dependiendo de su caso de uso, se puede Componga fácilmente políticas bastante complejas combinando varias Permitir y Denegar acciones, etc., esto obviamente también puede dar lugar a permisos inadvertidos, por lo que las pruebas adecuadas son la clave habitual; en consecuencia, tenga en cuenta las implicaciones al usar Using ACLs and Bucket Policies Together o IAM and Bucket Policies Together.
Finalmente, es posible que desee echar un vistazo a mi respuesta al Problems specifying a single bucket in a simple AWS user policy también, que aborda otro inconveniente comúnmente encontrado con las políticas.
Sí, s3:DeleteObject
es una opción:
http://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
Sin embargo, no existe una diferenciación entre el cambio de un objeto existente (lo que permitiría borrar efectivamente) y la creación de un nuevo objeto.
Puede adjuntar una política de no eliminación a su depósito s3.Por ejemplo, si no desea que este usuario de IAM para llevar a cabo cualquier operación de eliminación de los cubos o cualquier objeto, se puede establecer algo como esto:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1480692207000",
"Effect": "Deny",
"Action": [
"s3:DeleteBucket",
"s3:DeleteBucketPolicy",
"s3:DeleteBucketWebsite",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
Además, puede revisar su política con el simulador de la política https://policysim.aws.amazon.com para comprobar si su configuración es lo que esperaba o no.
Espero que esto ayude!
Esto funcionó perfecto. Gracias a Pung Worathiti Manosroi. combinó su política mencionada como por debajo:
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectAcl",
"s3:PutObjectAcl",
"s3:ListBucket",
"s3:GetBucketAcl",
"s3:PutBucketAcl",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::mybucketname/*",
"Condition": {}
},
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*",
"Condition": {}
},
{
"Effect": "Deny",
"Action": [
"s3:DeleteBucket",
"s3:DeleteBucketPolicy",
"s3:DeleteBucketWebsite",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": "arn:aws:s3:::mybucketname/*",
"Condition": {}
}
]
}
- 1. cómo eliminar archivos de Amazon S3 Bucket?
- 2. Amazon S3 boto - cómo eliminar la carpeta?
- 3. Paperclip: ¿eliminar un archivo de Amazon S3?
- 4. Cómo eliminar archivos en amazon S3 desde ruby
- 5. Cómo definir permisos en Amazon S3
- 6. Concurrencia en Amazon S3
- 7. Amazon S3 boto: ¿cómo crear una carpeta?
- 8. zcat en amazon s3
- 9. rm: no se puede eliminar: Permiso denegado
- 10. Permisos de Amazon S3
- 11. Uso de Amazon S3 junto con Amazon RDS
- 12. "Error al eliminar el archivo: Permiso denegado" con eliminar en C++
- 13. Amazon S3 y Checksum
- 14. Iniciar sesión en Amazon S3
- 15. SignatureDoesNotMatch - Amazon S3 API
- 16. Arquitectura de Amazon S3
- 17. Encabezados personalizados en Amazon S3
- 18. Sin conexión Amazon S3
- 19. Archivo duplicado en Amazon S3
- 20. git y Amazon s3
- 21. Cómo enumerar _todos_ objetos en el cubo de Amazon S3?
- 22. ¿Cómo escribir una cadena en el cubo de Amazon S3?
- 23. Transferir archivos entre Amazon EC2 y S3
- 24. ¿Cómo combinar JS/CSS para Amazon S3?
- 25. Amazon S3 CORS PUT falla
- 26. Amazon EC2 Permiso denegado (publickey)
- 27. Paperclip y Amazon S3 ¿cómo hacer rutas?
- 28. Cómo servir activos comprimidos desde Amazon S3
- 29. Duplicity, Amazon S3 excepción backend
- 30. Hacer un depósito público en Amazon S3