No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
21 Hrs
35 Min
36 Seg

IAM ilustrado

9/15
Recursos

Identity and Access Management (IAM) es un servicio gratuito que nos ayuda a administrar los accesos a los servicios y recursos de tu cuenta en AWS. A su vez, puedes crear usuarios, grupos y establecer permisos de acceso a los recursos mediante el uso de políticas.

Usuarios y grupos de usuarios de IAM

Los usuarios y grupos de usuarios son de los principales componentes de IAM. Al crear tu cuenta de AWS te proporcionan un usuario Root que tiene acceso a todos los recursos,

Este usuario puede generar otros perfiles y cada uno con un acceso único a distintos recursos de AWS. Además, Root también puede configurar grupos de usuarios, donde cada miembro tiene y puede compartir permisos de acceso.

Ejemplos de políticas de IAM

El acceso a recursos se otorga mediante políticas. Este es un ejemplo de una política que otorga acceso de administrador.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

También está este ejemplo de políticas de acceso a un bucket de S3 (almacenamiento)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:53 ::: bucket-name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3: GetObject",
                "s3: PutObject",
            ],
            "Resource": "arn:aws:53 ::: bucket-name /*"
        }
    ]
}

IAM Roles

Además de todas estas funciones, IAM de AWS permite asumir roles y otorgar permisos a otras tecnologías. Por ejemplo, podemos conceder a una máquina virtual el acceso a una base de datos mediante un rol de IAM.

Contribución creada con los aportes de: Ciro Villafraz.

Aportes 35

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Un bucket es donde se almacenan los archivos en S3

Como feedback al profesor, deberia de intentar hacer mas interactiva la clase, lo que estoy viendo es unicamente como alguien lee diapositivas,

IAM

  • Nos ayuda a administrar quién puede acceder a qué en los servicios y recursos de tu cuenta en AWS

  • Puedes crear usuarios y grupos

  • Establecer permisos permitir o denegar el acceso a los recursos de AWS mediante el uso de políticas

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:53 ::: bucket-name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3: GetObject",
                "s3: PutObject",
            ],
            "Resource": "arn:aws:53 ::: bucket-name /*"
        }
    ]
}

Los usuarios de Linux: daaa eso ya existe!!! 😛

Políticas IAM

Estructura del Statement

  • Effect: Allow (Permitir) o Deny (Denegar)
  • Action: A qué servicios de AWS se aplica esta política (Permite usar la wildcard “*” que significa aplicar a todos)
  • Resource: Identificador de dónde está almacenado el servicio al que se le aplicará la política (Permite usar la wildcard “*” que significa aplicar a todos)

iam

nos ayuda a administrar quien puede acceder a que en los servicios y recursos de tu cuenta en aws

*puedes crear usuarios y grupos

*establecer permisos para permitir o denegar el acceso a los recursos de aws mediante el uso de politicas

DIFERENCIA ENTRE USUARIO Y ROL de IAM en aws:
Un rol de IAM es similar a un usuario de IAM, ya que es una identidad de AWS con políticas de permisos que determinan lo que la identidad puede y no puede hacer en AWS. Sin embargo, en lugar de asociarse únicamente con una persona, se pretende que un rol sea asumido por cualquier persona que lo necesite. Además, un rol no tiene credenciales estándar a largo plazo, como una contraseña o claves de acceso asociadas. En cambio, cuando asume un rol, le proporciona credenciales de seguridad temporales para su sesión de rol.

Siendo sincero, me está costando seguir el curso. Más que leer de las diapositivas, me gustaría ver más al profesor Alexis hablando desde sus propios conocimientos, ya que estoy seguro de que posee un gran abanico. Creo que esto mejoraría sustancialmente las clases.
No estoy seguro de si mas adelante las clases muestran cosas practicas pero por ahora la dinamica es solo explicar diapositivas y parte de la informacion esta incompleta. :)
**AWS Identity and Access Management (IAM)** es un servicio web que te permite controlar de forma segura el acceso a los recursos de AWS. Con IAM, puedes crear y administrar usuarios y grupos, y asignar permisos específicos para acceder a los recursos de AWS

IAM funciona mediante la creación de usuarios, grupos y políticas de acceso. Los usuarios son las entidades que interactúan con los recursos de AWS, y pueden ser personas o aplicaciones. Los grupos son conjuntos de usuarios que comparten las mismas políticas de acceso. Las políticas son documentos de texto plano que especifican qué acciones pueden realizar los usuarios o grupos en qué recursos de AWS.

Para dar acceso a un recurso, se asigna una política a un usuario o grupo. Esta política puede permitir o denegar acceso a ciertas acciones en un recurso específico.

Además, IAM también proporciona un mecanismo de autenticación para asegurar que solo los usuarios autorizados puedan interactuar con los recursos de AWS. Por ejemplo, se puede utilizar la autenticación de contraseñas o la autenticación basada en tokens (por ejemplo, OAuth) para asegurar que solo los usuarios legítimos puedan obtener acceso a los recursos de AWS.

En resumen, IAM es un servicio de AWS que permite a los administradores controlar quién tiene acceso a los recursos de AWS, y qué acciones pueden realizar en ellos. Utilizando usuarios, grupos y políticas de acceso, se puede crear una estrategia de seguridad robusta para proteger los recursos de AWS.

Un bucket en Amazon S3 (Simple Storage Service) es un contenedor de objetos, donde los objetos son los archivos que almacenamos en la nube. Un bucket de S3 tiene un nombre globalmente único, lo que significa que no puede haber dos buckets con el mismo nombre en todo S3. Los objetos en un bucket de S3 pueden ser públicos o privados, y se puede configurar diferentes permisos de acceso a los objetos. Los buckets de S3 se pueden utilizar para almacenar y distribuir contenido estático como imágenes, videos, archivos de audio, páginas web, entre otros.

Muy bueno lo de los IAM Roles! Además de expandir las funcionalidades de permisos, abre un abanico de vulnerabilidades interesantes para auditar desde el punto de vista del ethical hacking.
Ej:
Permitir todos los “principals” al asumir un rol. Un “principal”, una entidad principal del servicio, es un identificador de un servicio. La vulnerabilidad: las políticas de confianza del rol de IAM permiten que todos los “principals” asuman el rol.

Por qué es peligroso: Permitir que cualquier usuario de IAM de cualquier cuenta de AWS asuma un rol en SU cuenta les otorga a ellos acceso a todos los permisos en ese rol de IAM, lo que podría ser catastrófico y conducir a un escalamiento de privilegios, exfiltración de datos y demás. Se debe asegurar que las políticas de confianza de los roles no contengan todos los siguientes elementos:

Effect: “Allow”
Principal: "*"
Accion:sts:AssumeRole”

Cómo solucionarlo: reemplazar el comodín con un principal específico.

Aquí vemos un ejemplo de cómo se puede solicitar el permiso del rol para un principal arbitrario root:

\

Fuentes:
https://www.praetorian.com/blog/aws-iam-assume-role-vulnerabilities/
https://docs.fugue.co/FG_R00219.html
https://www.fugue.co/blog/6-big-aws-iam-vulnerabilities-and-how-to-avoid-them
https://www.velotio.com/engineering-blog/hacking-your-way-around-aws-iam-roles

Información resumida de esta clase
#EstudiantesDePlatzi

  • IAM: Identity access Management

  • IAM: Es un servicio para administrar quien puede acceder a que en los servicios y recursos de nuestra cuenta AWS

  • Allí podemos crear usuarios y grupos

  • Dentro de usuarios IAM existen varios usuarios y roles

  • El usuario raíz es la cuenta principal que tendrá acceso a todos los servicios de AWS

  • Podemos crear grupos para asignar permisos

  • Es importante aprender a crear políticas en archivos j.son

  • Un servicio puede asumir un rol

IAM ~ normalmente pronunciado /ai am/ como “yo soy/estoy” en inglés, un módulo común en los servicios de la nube (de identidad y administración de acceso)🚀🤟

Esta muy interesante todo este mundo de AWS

![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-11-22%20201003-34396312-8a65-450f-a9e3-493aa261ef58.jpg)
# 📝 Notas IAM (Identity and Access Management) **Servicio que ayuda a administrar** * quién puede acceder * a qué servicios puede acceder * y qué acciones puede realizar en cada servicio **Lo logra a través de** * creación de **usuarios** * creación de **grupos** * establecer permisos o denegar accesos a recursos mediante **políticas** Es gratuito y está incuido en todas las cuentas de AWS Recordar el principio de **Least Privileg**e en el que se establece que cada usuario debe tener acceso solo a los servicios, recursos y acciones estrctamente necesarios. El usuario root tendrá que crear a los **usuarios** y **roles** necesarios, darles accesos y privilegios apropiados (a través de **Políticas**) de acuerdo a las actividades que van a desempeñar. Es posible crear Grupos para agregar varios usuarios a estos y poder aplicar las políticas más fácilmente a un conjunto de usuarios. ## Principales elementos ### Usuarios * **Usuario Root**: es el usuario principal asignado a nosotros cuando creamos la cuenta. Tiene acceso a todos los recursos y acciones de la cuenta. Y puede crear más usuarios y roles ### Policies * Conjunto de reglas que se aplican a usuarios individuales o en grupo, o a roles individuales. * Se editan en la consola (portal web) de AWS * Son documentos JSON que se pueden editar visualmente * Puden volverse muy complejas Ejemplo 1 de una policy IAM para un usuario que debe tener acceso a todo del servidor de desarrollo: ```js { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] } ``` Ejemplo 2 de una policy de IAM para acceder a un Bucket S3 (servicio de almacenamiento de archivos) ```js { "Version": "2012-10-17", <- versión del documento de la policy "Statement": [ <- Conjunto de reglas { ----- Primera regla "Effect": "Allow", <- Permitir o denegar. Esta Permite "Action": [ "s3:ListBucket" <- Qué tipo de acción se permite o deniega ], "Resource": "arn:aws:s3:::bucket-name" <- Nombre del servicio al que se aplica el statement (se encuentra en la consola/panel web) }, { ------ Segunda regla "Effect": "Allow", <- Permitir o denegar. Esta Permite "Action": [ "s3:GetObject", "s3:PutObject", ], "Resource": "arn:aws:s3:::bucket-name/*" <- con el * al final se refiere a que el statement se aplica a todos los objetos dentro del bucket } ] } ```Roles Funcionan de manera similar a las políticas. Permiten administrar accesos para usuarios o servicios. Son una herramienta flexible y segura para otorgar permisos temporales a diferentes entidades sin necesidad de compartir credenciales permanentes. También son una capa extra de seguridad porque no es solo un usuario y contraseña. **Sin credenciales fijas**: A diferencia de los usuarios de IAM, los roles no tienen credenciales permanentes (como contraseñas o claves de acceso) **Asunción de roles**: Los roles son diseñados para ser "asumidos". Esto significa que una entidad (un usuario, una aplicación, un servicio) puede temporalmente tomar los permisos de un rol cuando necesite realizar ciertas acciones. La entidad asume el rol usando el servicio **AWS Security Token Service (STS)** **Delegación de permisos**: Los roles permiten delegar permisos a: * **Usuarios** dentro de la misma cuenta de AWS o en otra cuenta. * **Servicios de AWS** que necesitan permisos para interactuar con otros servicios de AWS en tu nombre, como un rol para EC2 que le permite acceder a S3. * **Aplicaciones o sistemas externos** que necesitan permisos para interactuar con los recursos de AWS sin compartir claves de acceso o contraseñas. **Políticas adjuntas**: Los roles pueden tener políticas adjuntas (similares a los usuarios de IAM) que definen qué acciones puede realizar el rol y sobre qué recursos. Cuando una entidad asume un rol, obtiene temporalmente esos permisos. ![](https://static.platzi.com/media/user_upload/image-9e35349f-3cf2-42d7-b067-b42d72c38c8b.jpg)
```js # Create the JSON structure as described in the prompt iam_structure = { "Groups": [ { "GroupName": "Desarrollo", "Users": ["User_Dev1", "User_Dev2"], "Policies": ["Política_Desarrollo"] }, { "GroupName": "Operaciones", "Users": ["User_Ops1", "User_Ops2"], "Policies": ["Política_Operaciones"] }, { "GroupName": "Marketing", "Users": ["User_Mkt1", "User_Mkt2"], "Policies": ["Política_Marketing"] } ], "Roles": [ { "RoleName": "Aplicación Web", "Permissions": ["RDS"], "AssumedBy": ["App_Web1"] }, { "RoleName": "Auditoría", "Permissions": ["Auditoría"], "AssumedBy": ["External_Audit"] } ] } import json # Save the JSON structure to a file file_path = '/mnt/data/iam_structure.json' with open(file_path, 'w') as file: json.dump(iam_structure, file, indent=4) file_path ```# Create the JSON structure as described in the prompt iam\_structure = { "Groups": \[ { "GroupName": "Desarrollo", "Users": \["User\_Dev1", "User\_Dev2"], "Policies": \["Política\_Desarrollo"] }, { "GroupName": "Operaciones", "Users": \["User\_Ops1", "User\_Ops2"], "Policies": \["Política\_Operaciones"] }, { "GroupName": "Marketing", "Users": \["User\_Mkt1", "User\_Mkt2"], "Policies": \["Política\_Marketing"] } ], "Roles": \[ { "RoleName": "Aplicación Web", "Permissions": \["RDS"], "AssumedBy": \["App\_Web1"] }, { "RoleName": "Auditoría", "Permissions": \["Auditoría"], "AssumedBy": \["External\_Audit"] } ] } import json \# Save the JSON structure to a file file\_path = '/mnt/data/iam\_structure.json' with open(file\_path, 'w') as file: json.dump(iam\_structure, file, indent=4) file\_path
`# Create the JSON structure as described in the prompt` `iam_structure = {` ` "Groups": [` ` {` ` "GroupName": "Desarrollo",` ` "Users": ["User_Dev1", "User_Dev2"],` ` "Policies": ["Política_Desarrollo"]` ` },` ` {` ` "GroupName": "Operaciones",` ` "Users": ["User_Ops1", "User_Ops2"],` ` "Policies": ["Política_Operaciones"]` ` },` ` {` ` "GroupName": "Marketing",` ` "Users": ["User_Mkt1", "User_Mkt2"],` ` "Policies": ["Política_Marketing"]` ` }` ` ],` ` "Roles": [` ` {` ` "RoleName": "Aplicación Web",` ` "Permissions": ["RDS"],` ` "AssumedBy": ["App_Web1"]` ` },` ` {` ` "RoleName": "Auditoría",` ` "Permissions": ["Auditoría"],` ` "AssumedBy": ["External_Audit"]` ` }` ` ]` `}` `import json` `# Save the JSON structure to a file` `file_path = '/mnt/data/iam_structure.json'` `with open(file_path, 'w') as file:` ` json.dump(iam_structure, file, indent=4)` `file_path`
Que buena explicación sobre IAM en AWS
Link en el que podras encontrar una ampliación al servicio de administración de acceso a recursos: <https://docs.aws.amazon.com/es_es/IAM/latest/UserGuide/introduction.html>

Su estructura puede ser la siguiente:

 {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["service:Action"],
      "Resource": ["resource-arn"]
    },
    {
      "Effect": "Deny",
      "Action": ["service:Action"],
      "Resource": ["resource-arn"]
    }
  ]
}

En la política, “Version” especifica la versión del lenguaje de política, “Statement” contiene una o más declaraciones que definen los permisos y restricciones, “Effect” puede ser “Allow” (permitir) o “Deny” (denegar), “Action” indica la acción o acciones permitidas o denegadas, y “Resource” especifica el recurso o recursos en los que se aplican los permisos

Usuarios IAM

Excelente la clase, como detalle estaría muy bien que las fuentes en el video fueran más grandes… cuesta leerlas.

interesante, para todo podemso usar vscode jajaj 😃

Super interesante y se debe de conocer los comandos que limitan o proponen servicios en AWS

Roles IAM:

Ejemplo de política IAM con acceso al bucket de S3:

Ejemplo de política IAM:

Caso de uso, usuarios IAM:

Tipos de usuarios IAM:

¿Que es IAM (Identity and Access Management)?