La guia de platanus
Buscar…
⌃K

Crear un bucket de S3

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.

Crear el bucket

  1. 1.
    Ir directo a https://s3.console.aws.amazon.com/s3/home o ir a S3 en el menú del sitio de AWS.
  2. 2.
    Apretar el botón Crear bucket.
  3. 3.
    Poner el nombre usando la convención proyecto.platan.us y proyecto-staging.platan.us, por ejemplo lacatan.platan.us y lacatan-staging.platan.us. Seguiré usando lacatan para el ejemplo.
  4. 4.
    Dejar la región como está.
  5. 5.
    Desmarcar las opciones que dicen "Bloquear todo" (aparecerá un warning, aceptarlo).
  6. 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. 1.
    Ir a la pestaña de permisos
  2. 2.
    Ir al fondo y buscar la sección Uso compartido de recursos entre orígenes (CORS).
  3. 3.
    Seleccionar el botón editar.
  4. 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 y staging.mute.so
  5. 5.
    Guardar los cambios

Crear una política de acceso

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. 1.
    Ir a https://console.aws.amazon.com/iam/home o a IAM en el menú del sito de AWS
  2. 2.
    En la barra lateral ir a "Políticas"
  3. 3.
    Apretar crear política
  4. 4.
    Seleccionar la pestaña JSON
  5. 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. 6.
    Siguiente y revisar (sin agregar etiquetas)
  7. 7.
    Poner el nombre, no hay convención dura, pero yo les pongo s3-lacatan o s3-lacatan-staging
  8. 8.
    Guardar (los otros campos dejar como están).

Crear un usuario para acceder al bucket

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
  2. 3.
    Apretar agregar usuarios
  3. 4.
    En el nombre poner lacatan o lacatan-staging
  4. 5.
    Seleccionar acceso mediante programación
  5. 6.
    En la parte de permisos arriba seleccionar asociar política
  6. 7.
    En el buscador buscar la recién creada s3-lacatan-staging y marcarla
  7. 8.
    No añadir etiquetas
  8. 9.
    Revisar y crear
  9. 10.
    Copiar el access y secret
  10. 11.
    Cerrar
  11. 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 1mo ago