Skip to content

Latest commit

 

History

History

lab-00

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Laboratorio 0 - Seguridad y Utilidades

Contenido

En este capítulo trataremos dos prerequisitos para poder realizar el resto de los laboratorios:

  • El usuario de acceso para crear los servicios.
  • Las herramientas utilizadas en las actividades.

Usuario Formación Accenture/AWS

Para poder utilizar AWS es necesario disponer de un usuario con las autorizaciones necesarias para hacerlo. A los asistentes a este Openathon se les proveerá de un usuario en la cuenta de formación de Accenture, que dispondrá de dichas autorizaciones. Si te has inscrito, deberías haber recibido un correo con las creedenciales de dicho usuario, si no es así por favor contacta con los organizadores para que te lo hagan llegar.

Este usuario será eliminado al finalizar las actividades y por razones de seguridad realizará de manera limitada alguno de los laboratorios.

¿Cómo me conecto haciendo uso del usuario de formación?

Para acceder con nuestro usuario de formación, el enlace está en la Wiki del grupo de Teams.

Deberás acceder directamente, aunque si ya tenías un rol previo aparecerá una ventana de selección de rol. Seleccionaremos el rol DevOpenathon. Este es el rol que tendremos todos asignado.

Una vez seleccionado el rol, accederemos a la consola de AWS con nuestro usuario.

Esto es todo, ¡Ya podemos comenzar a realizar las prácticas!

Usuario propio AWS

Aunque es perfectamente posible realizar y comprender todas las actividades con el usuario de formación, si los asistentes lo desean pueden darse de alta en AWS, lo que les permitirá el uso de la capa gratuita de AWS, y por tanto el acceso completo y permanente a todos los servicios utilizados en este Openathon.

Utilizar un usuario propio de AWS supone asumir el control y administración de una cuenta REAL que puede incurrir en gastos REALES. Por ello es imprescindible establecer una serie de controles y limitaciones que lo impidan.

Para utilizar nuestra propia cuenta, por razones de seguridad crearemos dos usuarios:

  • Usuario raiz. Usuario nominal con el que creamos la cuenta AWS, tiene acceso a todos los servicios sin limitación.
  • Usuario IAM. Usuario creado desde el usuario raiz con un conjunto de permisos administrativos para acceder de manera limitada a los servicios de AWS. Como práctica recomendada, un usuario solo debe acceder a aquellos servicios imprescindibles para realizar el trabajo que le es asignado.

Así, una vez creado el usuario raiz y que este halla creado el usuario IAM, todos las actividades del Openathon las realizaremos con este último.

A continuación explicamos paso a paso como:

  1. Crear una cuenta raiz en AWS.
  2. Control de gastos de la cuenta raiz.
  3. Creación del usuario IAM.

¿Cómo se crea una cuenta raiz en AWS?

Aunque en la web de ayuda amazon podemos encontrar información sobre los pasos a seguir para crear una cuenta, vamos a dar detalle sobre los mismos e intentar ampliar esa información.

Para crear una cuenta, será necesario abrir la página principal de amazon webservices. En ella se hará clic sobre el enlace Create an AWS account.

Será necesario informar los siguientes valores de la nueva cuenta:

En la siguiente ventana se completarán los datos de contacto.

Lo siguiente será introducir los valores de pago. Hay que tener en cuenta que Amazon puede realizar un cobro de 1$ para verificar la tarjeta.

A continuación, es necesario validar el número de teléfono. Se podrá hacer mediante llamada telefónica o sms. Este paso nos permite verificar la identidad.

Finalmente seleccionaremos un plan, el plan básico.

Control de Gastos

Todos los servicios de los que vamos a hacer uso en esta Openathon están cubiertos en su totalidad por el free tier con unos límites de recursos gratuitos muy por encima de los esperados de un ejercicio como este.

Limites del Free Tier para los servicios usados:

  • Api Gateway: 1 Million api calls per month (only first 12 months on free tier)
  • Lambda: 1 Million free requests per month (up to 3.2 million seconds of compute time per month) (no time limit on free tier)
  • DynamoDB: 25 Gb storage and 25 WCU and 25 RCU Capacity units. (no time limit on free tier)
  • S3: 5 Gb storage, 20.000 get Requests 2.000 put requests (only first 12 months on free tier)

Para conocer el gasto que tenemos pendiente en nuestra cuenta y permitir recibir alertas sobre los mismos. Para ello nos logaremos como root en AWS y en el menú services escribiremos Billing.

Localizaremos las secciones “Spend summary” y "Month-to-Date" y validaremos que son cero.

Adicionalmente, en el Menú Billing>Bills podemos ver un resumen de los servicios usados y su coste.

Si tuviesemos algún coste, podemos localizarlo viendo el menú Cost Managment>Cost Explorer. En él podremos determinar que servicio está activo y generando costes y proceder como correponda(si no es necesario es posible eliminar).

Alarma de Gastos

Adicionalmente, y para una mayor tranquilidad Amazon posibilita la generación de alarmas de gastos. En este enlace podemos encontrar detalle de como proceder. Básicamente es necesario:

  • Habilitar billing alerts.
  • Crear billing alarm.

Creación usuario IAM.

Lo primero que hay que hacer es logarnos con nuestra nueva cuenta de AWS.

A continuación, haremos clic en el menú services y teclearemos IAM, seleccionando el servicio Identity and Access Management (IAM).

Sobre el menú de la izquierda, haremos clic sobre Users. No debemos tener ningún usuario creado todavía, por lo que vamos a proceder a crear uno, para ello se hace clic sobre Add User. En la siguiente ventana informamos el nombre del usuario, marcamos las checks de Programmatic access y AWS Management Console access. También marcamos la opción de establecer nuestra password. Una vez se haya completado hacemos clic sobre Next:Permissions.

Lo siguiente será asignar a este nuevo usuario a un grupo. Como no existe ningún grupo creado previamente clicamos sobre Create Group. Como nombre de grupo introducimos developers. En las policies marcamos AdministratorAccess.

Con ello ya podemos hacer clic sobre Create group.

Podemos hacer clic sobre Next:Tags, donde podrán asignársele etiquetas.

Y Next:Review donde se mostrará un resumen de nuestro nuevo usuario:

Finalmente, el usuario se ha creado. Si queréis hacer uso del plugin de eclipse puede ser buena idea hacer clic sobre download.csv para configurar el usuario en eclipse.

Para poder logarnos ahora con nuestro nuevo usuario, podemos ir al usuario, en la pestaña Security Credentials tenemos una url con el acceso.

Al introducir esa url en el navegador, directamente tendremos nuestro id y username. Faltará introducir la password que seteamos al crear el usuario.

Herramientas adicionales

Postman

A lo largo del ejercicio, se crearán servicios que pueden ser consumidos vía REST. Para realizar pruebas sobre los mismos será necesario el uso de alguna aplicación (PostMan, JaSON, etc). Si no tienes ninguna instalada aquí tienes una guía de como instalar Postman HTTP Client Lo primero es abrir el navegador y acceder a la web de postman.

Se hace clic en el botón "Download the App" que nos abrirá una página con un enlace de descarga. Esta página detectará nuestro sistema operativo y nos proporcionará el enlace adecuado.

Una vez descargada e instalada la aplicación, la primera vez solicitará la creación de un usuario. Esto es gratuito. Una vez logado en la aplicación veremos lo siguiente:

Aunque no es obligatorio, una buena práctica es comenzar creado una colección, para en ella crear todas las peticiones HTTP relacionadas con un proyecto. Para ello, hacemos clic sobre New Collection, establecemos un nombre y volvemos a hacer clic sobre Create.

Para crear una Request(necesario para probar nuestras funciones lambdas a traves de la API) se hará clic sobre ... y Add Request.

Será necesario establecer un nombre. Una vez hecho esto podremos determinar el tipo de petición, la url y los parámetros, autorización y cabeceras. Para ejecutar la petición habrá que pulsar sobre el botón Send.

AWS Toolkit for Eclipse

La implementación de las funciones lambda se puede realizar el python o en java. Si deseas hacerlo en este último lenguaje, será necesario que instales una serie de herramientas que te facilitarán el desarrollo.

Lo primero es descargar la última versión de eclipse.

A continuación tienes que el instalar el plugin de AWS Toolkit para eclipse. Para ello, desde el Marketplace de Eclipse escribiremos AWS.

Para instalarlo bastará con hacer clic sorbre Install. En la siguiente ventana confirmaremos todos los componentes adicionales y aceptaremos las licencias. Cuando haya finalizado la instalación nos pedirá reiniciar Eclipse.

Al reinicar, se abrirá la ventana de configuración de AWS ToolKit, donde tendremos que configurar nuestra cuenta de AWS.

Si esta ventana no aparece, es posible abrirla desde el nuevo icono de AWS ToolKit for Eclipse, haciendo clic sobre el y seleccionando el menú Preferences.

En esta ventana debemos informar los datos del usuario que realizará el upload de la función lambda a AWS. En el caso de utilizar la cuenta de formación, esta información habrá sido remitida a cada usuario por los organizadores. En el caso de utilizar la cuenta personal creada, se informará con los datos de nuestro usuario IAM creado(no root). Los datos de clave y secret pueden obtenerse del fichero download.csv que descargamos al crear el usuario.

< Introducción | Lab 01 >