Salta al contingut principal

Introducción a AWS IAM

AWSIAM

Introduction to AWS Identity and Access Management (IAM)

Antes de ponerme a explicar el lab, voy a explicar de forma corta en qué consiste IAM. Es un servicio que nos ayuda a controlar quién y a qué accede en la nube de AWS. Es el que asigna quien entra y qué puede tocar o ver(Permisos para usuarios, roles o servicios). Podemos tener usuarios individuales dentro, que no formen parte de ningún grupo como un administrador. Organizar los usuarios en grupos, para darles permisos conjuntamente. Darle permisos a roles o definir estos permisos escritos en JSON.

Pues vamos allá. Este lab está dividido en 3 tareas.

·La primera dice: Exploración de usuarios y grupos.
1
2
3
Una vez iniciado el Lab. Nos hace entrar en la pestaña de Personas. Ahí vemos 3 usuarios. Si hacemos clic al user-1 en la pestaña permisos vemos que user-1 no tiene permisos. Si vamos a la pestaña “Credenciales de seguridad”, user-1 tiene asignada una contraseña de consola.
Si vamos a Grupos de personas, vemos que están creados 3 grupos: EC2-Admin, EC2-Support y S3-Support.

4
Si hacemos clic a EC2-Support y vamos a la pestaña permisos, vemos que tiene una política llamada AmazonEC2ReadOnlyAccess. Esta política muestra y describe la información de EC2, ELB, Cloudwatch y ASG. No permite modificar, únicamente ver. Nos anima a que miremos la política en su forma JSON.
5
Como ya he dicho antes, las políticas de permisos están escritas en JSON. Que en su estructura tienen Efecto, Acción y Recurso.(Effect, Allow, Resource).
6
Volvemos a Grupos de personas y seleccionamos S3-Support. Este tiene una política AmazonS3ReadOnlyAccess. Vayámonos acordando de los permisos de cada grupo porque luego nos encontraremos con ello. Esta política nos muestra los recursos de Amazon S3.
8
Y finalmente miramos los permisos de EC2-Admin y este grupo tiene una política en línea o según veo una política de cliente insertado que se hace llamar “EC2-Admin-Policy”. Esta, según nos muestra nos da permiso para parar y empezar instancias EC2.
9
Para que lo recordemos nos vuelve a repetir qué hace cada grupo y además en qué grupo deberían ir cada uno de los 3 usuarios. Nos dice que el user-1 debe ir a S3-Support(Acceso sólo lectura S3), el user-2 a EC2-Support(Acceso sólo lectura EC2) y el user-3 a EC2-Admin(Parar/Iniciar/Ver instancias EC2).

·La segunda tarea nos hace colocar como hemos dicho antes, los usuarios en los grupos.
10
11
·La tercera tarea nos hace abrir en un una pestaña privada en mi caso Safari. Y pegamos la URL que se denomina: URL de inicio de sesión para los usuarios IAM de esta cuenta. Copiamos este enlace y lo pegamos en esa pestaña creada.
12
Luego en la parte izquierda de las indicaciones del Lab nos dice varias cosas: la contraseña de administrador(que nos valdrá para los 3 usuarios), la Región en que vamos a trabajar en el caso de tener que buscar las instancias, ya que sinó no sabríamos donde se encuentran y el nombre de un Bucket que luego tendremos que buscar.
14
15
17
·Paso número 1 entramos con el user-1 y la contraseña que nos han dado. Vamos a S3 y como este usuario tiene permisos pues podemos ver todos los buckets incluso podemos entrar a ver los objetos dentro de estos. En cambio, también nos pide que vayamos a EC2 a la región indicada: ap-northeast-1 y nos aparece un mensaje que no nos autoriza ninguna operación con este servicio. Salimos del usuario y copiamos y pegamos otra vez el enlace al inicio de sesión para los usuarios IAM

18
19
20
·Paso número 2: Nos registramos con user-2 de la misma manera que habíamos hecho con user-1. Si no estamos en la región ap-northeast-1 que puede pasar que nuestro usuario al iniciar esté en otra región por lo que sea. Hacemos clic en la flecha desplegable y lo cambiamos a esta. Abrimos EC2. Con este usuario debemos ver las instancias que existen en esta región, aunque si queremos cambiar el estado de esta, haciendo clic en detener instancia. No nos lo permitirá. Y si vamos al servicio S3, también tendremos denegado el acceso. Salimos y volvemos a pegar el enlace de inicio de sesión.
16
(El desplegable para cambiar de Región)
21
22
·Tercer paso: Accedemos con el user-3>Vamos al servicio EC2>Instancias(Recordamos que en el caso de no estar en la región adecuada no encontraremos la instancia)>La seleccionamos y le damos a detener. Ahora sí que nos lo permite.
Una vez esto, ya habremos acabado la parte práctica. Luego tendremos un cuestionario de esta manera podemos ver nuestros puntos flojos, por ejemplo, yo no estaba familiarizado con la expresión: Identify Federation (Acceso federado), que permite que usuarios sin autentificarse en AWS pueden autenticarse con una cuenta creada en otro sistema de identidad externo, como Microsoft Active Directory, Google Workspace, a través de redes sociales, Auth0… Recordemos que la mejor manera de actuar en IAM es con la regla del mínimo privilegio, que significa que cada usuario tiene que tener los permisos justos y necesarios para funcionar bien, ni uno más, ni uno menos. Lo hacemos y en el caso de haber entendido un 80% lo aprobaremos. Enviamos los resultados y acabamos el lab.

Comentaris

Entrades populars d'aquest blog

Projecte Flask + S3 #3: Del servidor local a S3

  Aquesta és la tercera part que parlo del projecte. Si encara no estàs seguint-lo, et recomano que miris les entrades anteriors dedicades al tema. A la primera part vam configurar l’entorn i decidir les pautes. A la segona , dedicàrem el seu temps a la importància de fer una bona classe S3Client i uns tests de pytest correctes. A l’hora de pensar en desenvolupar l’app , hem de canviar la manera de pensar. Passem d’una filosofia de backend en la que pensem únicament en Python - A una full-stack amb Flask. Què és un full-stack ? La seva traducció literal és una “pila complerta”, es refereix a quan en programació s’escriu un codi des de zero. I disposa de tres parts:  Front-end , la interfície d'usuari, és el que interactua directament des del seu dispositiu i en el nostre cas és HTML/Jinja2. Back-end , el cervell que s'encarrega de processar les peticions del Front-end, executar la lògica de l’aplicació, les autoritzacions i la connexió amb la base de dades. Base de dades , ...

A la vigesimoséptima, va la vencida

  Ayer sentía que estaba bien con Linux Mint pero a la vez lo veía demasiado cerrado y probé OpenSuse Leap(no me convenció) y hoy vuelvo a intentar instalar Fedora Workstation 42. Eh! Y Linux Mint lo recomiendo 100% para todo el mundo. Según yo mismo, la semana pasada no me funcionó Fedora por el tema de la BIOSLegacy. No le voy a dar más vueltas no es un portátil viejo pero por lo que sea ésta BIOS es la única manera que tiene de funcionar con Linux y un disco duro externo. En realidad no pasa nada (mientras nos quede Windows). Equisde que he estado rajando de Fedora cuando va de puta madre solo que no lo configure bien, no haría honor al nombre del blog sinó. De hecho empiezo a pensar que a lo mejor el UEFI sí funcionaría pero la lié al instalar, de momento lo voy a dejar así con MBR. Bof, empecé por la mañana y todo bien, mi error ha sido al querer instalarle los drivers de Nvidia, ha tenido un conflicto con Nouveau. A veces es mejor dejar las cosas como están. Si fuera mi único...

Projecte Flask + S3 #2: El cervell i la xarxa de seguretat

  Aquesta és la segona part del projecte. Si has parat aqui et convido a consultar la primera entrada , on vam configurar l’entorn i vam establir els requisits previs. Ara passem a la implementació del codi. Objectiu d’avui/Introducció Documentar la creació del backend . Tot el desenvolupament del codi i que faré menció el podeu trobar al repositori corresponent al meu perfil de Git , o sigui que pots anar directament allà o obrir-lo a una finestra mentre veus els comentaris que descric. No vull deixar-me a aquesta introducció la importància que ha tingut pel bon i correcte desenvolupament del codi:  La documentació oficial d’ Amazon Web Services de Boto3  i les seves guies de millors pràctiques, per exemple . La Classe S3Client i la seva importància La finalitat de crear una classe S3Client com a façana/embolcall(més conegut com a Wrapper) és que amaga tota la complexitat de boto3. Faig un parèntesi, diguem que:  Estem creant "un embolcall dins d’un altre embol...