Crear un bucket de S3
Muchas veces es necesario hacer un bucket en S3 para no usar bucketeer, sobretodo en productos internos.
Para eso, necesitamos hacer 3 cosas: crear un bucket, crear un usuario para acceder al bucket (y tener las credenciales) y una política de acceso que asocie al usuario con el bucket.
- 1.
- 2.Apretar el botón
Crear bucket
. - 3.Poner el nombre usando la convención
proyecto.platan.us
yproyecto-staging.platan.us
, por ejemplolacatan.platan.us
ylacatan-staging.platan.us
. Seguiré usando lacatan para el ejemplo. - 4.Dejar la región como está.
- 5.Desmarcar las opciones que dicen "Bloquear todo" (aparecerá un warning, aceptarlo).
- 6.Dejar todos los otros campos como están y crear.
Ahora debemos modificar un permiso del bucket. Para eso, seleccionar el bucket recién creado del listado y:
- 1.Ir a la pestaña de permisos
- 2.Ir al fondo y buscar la sección
Uso compartido de recursos entre orígenes (CORS)
. - 3.Seleccionar el botón editar.
- 4.Escribir lo siguiente dentro, cambiando en allowed origins, las urls que correspondan:[{"AllowedHeaders": ["Authorization","x-amz-date","x-amz-content-sha256","content-type"],"AllowedMethods": ["GET","POST","PUT"],"AllowedOrigins": ["https://pl-lacatan-staging.herokuapp.com"],"ExposeHeaders": ["ETag"],"MaxAgeSeconds": 3000}]Nota: En mute por ejemplo, que hay url para staging, se pueden poner dos orígenes:
pl-mute-meetings-staging.herokuapp.com
ystaging.mute.so
- 5.Guardar los cambios
La política es lo que permite que el usuario que vamos a crear después pueda meter cosas al bucket (y nadie más que el)
- 1.
- 2.En la barra lateral ir a "Políticas"
- 3.Apretar crear política
- 4.Seleccionar la pestaña JSON
- 5.Escribir lo siguiente, reemplazando lacatan por el nombre que corresponda:{"Version": "2012-10-17","Statement": [{"Sid": "","Effect": "Allow","Action": "s3:*","Resource": ["arn:aws:s3:::lacatan-staging.platan.us/*","arn:aws:s3:::lacatan-staging.platan.us"]}]}
- 6.Siguiente y revisar (sin agregar etiquetas)
- 7.Poner el nombre, no hay convención dura, pero yo les pongo
s3-lacatan
os3-lacatan-staging
- 8.Guardar (los otros campos dejar como están).
Ahora creamos un usuario (y las correspondientes credenciales) para usar la política y tener lo que poner en las vars de heroku
- 1.
- 2.En la barra lateral ir a usuarios
- 3.Apretar agregar usuarios
- 4.En el nombre poner
lacatan
olacatan-staging
- 5.Seleccionar acceso mediante programación
- 6.En la parte de permisos arriba seleccionar asociar política
- 7.En el buscador buscar la recién creada
s3-lacatan-staging
y marcarla - 8.No añadir etiquetas
- 9.Revisar y crear
- 10.Copiar el access y secret
- 11.Cerrar
- 12.**Bonus: **ir a heroku a las vars de entorno y poner las credenciales correspondientes, junto al nombre del bucket. La región en general siempre es us-east-1.
Última actualización 7mo ago