Ya conoces las capacidades de AWS S3, ¡ahora ponte manos a la obra! Vamos a crear nuestro primer bucket de S3 para guardar objetos.
Inicia sesión en AWS, ve al servicio de S3 y sigue las instrucciones.
Crea tu bucket
Una vez en la página de S3, haz click en Crear Bucket. Te aparecerá un menú como el siguiente:
Deberás escoger un nombre único para el bucket. Por ejemplo, test-[tu-numbre]-[números aleatorios]. Puedes dejar la región por defecto. En la parte de propiedad de objetos, deja ACL deshabilitadas (recomendado).
Acto seguido, en la sección ""Configuración de bloqueo de acceso público para este bucket"", desactiva la casilla de Bloquear todo el acceso público, y activa la de reconocimiento de configuración actual.
Habilita el control de versiones de buckets (lo vamos a necesitar para el próximo laboratorio). Finalmente, haz click en Crear Bucket.
Sube tu primer objeto
Una vez creado, haz click en el nombre de tu bucket, y luego en Cargar. Puedes hacer click en Agregar archivos, o arrastrar el archivo que quieres subir. Una vez subido, haz click en Cargar.
Cuando termine de cargar, podrás hacer click en el nombre del objeto, lo cual te mostrará sus propiedades, entre ellas la URL del objeto. Si intentas acceder desde tu navegador, es posible que te salga una página de acceso denegado.
Si bien cuando creamos el bucket desploqueamos el acceso público, esto es a nivel de bucket. A nivel de objeto, debemos permitir este acceso.
Tenemos dos alternativas: permitirlo desde los permisos del objeto, o crear una política a nivel de bucket para permitir el acceso público a los archivos
Cambiar los permisos del objeto
Si nos vamos al apartado de permisos, nos saldrá un recuadro indicando que como dejamos el ACL (lista de control de acceso) deshabilitado durante la creación del bucket, debemos cambiar los permisos del objeto mediante políticas a nivel de bucket. Podemos cambiar esto habilitando el ACL en el apartado de permisos del bucket, en la sección de ""Propiedad de objetos"".
Cuando habilitemos el ACL, simplemente volvemos a la página del objeto, al apartado de permisos. Hacemos click en Editar, y habilitamos la lectura del objeto a todo el mundo.
Implementar política de acceso a nivel de bucket
Para crear una política de acceso, podemos apoyarnos de AWS Policy Generator, una herramienta que nos permite generar políticas de acceso de AWS.
Estando en la herramienta, en Select Policy Type, seleccionamos S3 Bucket Policy. En Principal, escribimos un asterisco (*). En Actions, ubicamos la acción getObject. En Amazon Resource Name (ARN), colocamos el ARN de nuestro bucket seguido de slash y asterisco (/*). El ARN lo podemos obtener en bucket -> propiedades -> Información general sobre el bucket -> Nombre de recurso de Amazon (ARN).
Entonces hacemos click en Add Statement, y luego en Generate policy. Copiamos el JSON que nos aparece en pantalla. Debería ser similar a esto.
Nos dirigimos a la parte de Permisos del bucket -> Política del bucket. Hacemos click en editar, pegamos el código JSON generado por la herramienta, y guardamos cambios.
Si hiciste todo bien, te debería salir ""Accesible públicamente"" justo debajo del nombre de tu bucket.
¡Felicidades! Creaste tu primer bucket de S3, añadiste tu primer objeto y lo hiciste públicamente accesible.
Yo creé una página web estática en mi bucket de S3, compré un dominio y usé Route 53 para redireccionar el dominio comprado al bucket de S3
PD: Esto se hizo en un Platzi Live
Genial!
Hola que tal yo lo hice igual pero ahora me aparecen algunos gastos y no entiendo por qué:
Me gusto mucho, la explicación y el uso del manejo de las políticas para dar acceso a todos los objetos almacenados en un bucket. Esa parte del manejo de políticas y de permisos es bastante importante.
Es correcto, siempre este tipo de practicas seguras basadas en otorgar el minimo privilegio, AWS lo hace muy sencillo.
sii es geniarl!
Aporte
Objetos: Archivos que vamos a almacenar dentro de nuestro bucket S3
ACL: Access Control List
Cumpleaños de Alexis, giño giño! 🤓
All set.
--
La utilización del bucket que armamos, tiene algún costo??
Sip todo tiene un costo, pero si eres nuevo usuario de ASW puedes usar la versión de prueba que te dan por un tiempo o cantidad de almacenamiento limitado. 🤓
claro qiue si, pero dentro de la capa gratuita puedes usarñla con espacio limitado pero suficiente para hacer pruebas.
Una pregunta dejar activo este servicio de visualizar estos archivos por ejemplo un PDF tiene costos en aws?
bacan me podrias decir en que pagina hiciste tu cv ? gracias esta super cool .
No se compartio el archivo para subir en el bucket de S3 asi que use el pdf de mi diploma del primer curso para uso practico.
¿El suyo aparece bien?, es que mi nombre está arriba y creo que no debería
Tengo el mismo problema con el certificado
Cuando es recomendable crear un segundo bucket?
Hola @ederson creo que esto depende mucho de tu organizacion, veelo de la siguiente manera, cuantos folder y subfolder tienes en tu computadora, depende mucho de la organizacion cierto, es lo mismo con el servicio de S3.
¿Donde esta el pdf?
¡Hola! :D
Se encuentra debajo del reproductor en la pestaña de Recursos. Cuéntanos si pudiste descargarlo por favor. 👌
¡Nunca pares de aprender! 💚
no se muestra (o no está) el PDF, solo la descripción de la clase y un enlace al AWS Policy Generator
Tengo problema para generar la política, no me deja dar click en add statement, me aparece un error que dice "Resource field is not valid. You must enter a valid ARN."
tengo el mismo problema!! alguna sugerencia?
te recomiendo leer este documento de AWS donde explican en profundidad el uso de ARN.
Toda la explicación ha sido excelente, aunque lo de las políticas no me quedó claro por qué se debe hacer en una web aparte. Subí un documento técnico de música (otra de mis pasiones) y subió sin problemas.
Hola, si estamos en la pestaña de Permisos y le das click en Editar Políticas. Me aparecen dos opciones para clickear: Ejemplos de políticas y Generador de políticas. Si clickeo sobre la segunda, me abre el AWS Policy Generator, que es la misma página que compartió el profe Alexis.
Genial no sabía que lo de las políticas aplicaba en el almacenamiento S3, nunca me había puesto a cacharrear esa parte, ahora gastaré menos tiempo 🤩
El Resource Name está en Properties del Bucket, no hace falta ir a editar los permisos para obtenerlo