Para empezar a utilizar S3 de Amazon en Laravel es muy fácil.
Lo primero es crear un usuario en el apartado de IAM con permisos de s3full
Después creamos unas credenciales para acceder desde fuera y el KEY y el SECRET es lo que tenemos que poner en el .env
OJO hay que poner en el .env también el bucket y la region (ojo a esto).
Por ejemplo:
AWS_ACCESS_KEY_ID=A**************
AWS_SECRET_ACCESS_KEY=z****************************
AWS_DEFAULT_REGION=eu-west-1
AWS_BUCKET=exports-tentless-chaps-nerine ( el nombre de tu bucket )
AWS_USE_PATH_STYLE_ENDPOINT=false
Muy importante, por defecto aunque se ponga a público el bucket, cada vez que se sube un objeto por defecto se pone privado, hay que meter esta política específicamente para que cada vez que se haga una subida por defecto el fichero/foto se muestre sin problemas usando el Storage::disk(‘s3’)->url($row->imagen).
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "ARNDELBUCKET QUE SE VE EN LA PANTALLA DE AWA ARRIBA/*"
}
]
}