🥇 AMI Principals.

🍿 Principals

El primer concepto a entender son los principals. Un principal es una entidad de IAM que permite interacturar con los recursos de AWS. Un principal puede ser temporal o permanente, y puede representar un humano o una aplicación. Existen tres tipos de principals: root, user y roles/temporary security tokens.

🥤 Root.

Cuando se crea una cuenta de AWS, se inicia con un usuario que tiene todos los permisos de acceso a los recursos de AWS. Este es llamado root. Mientras tenga una cuenta AWS, este usuario persistira. Este usuario puede ser utilizado en la consola o de forma programatica.

El usuario root es similar al root de Linux o Administrador de Windows, tiene todos los privilegios en la cuenta, incluyendo el cancelar la propia cuenta. Se recomienda enfáticamente que no se use el root para las tareas de diario, incluyendo aquellas que sean adminitrativas. En lugar de ello cree un usuario administrador para estos propósitos.

🍿 Usuarios.

Los usuarios se crean a traves de IAM para representar individuos o aplicaciones. Se pueden crear diferentes usuarios para cada miembro de operaciones de su equipo de tal forma que ellos puedan interactual con la consola y usar CLI. Tammbien es posible crear usuarios dev, test y de produccion para aplicaciones que necesiten acceso a los servicios de AWS.

Los usuarios pueden ser creados por principals que tengan privilegios administrativos y no tienen un periodo de expiración; sin entidades permanentes que existen hasta que el adminstrador los elimine.

Los usuarios son una forma de implementar el principio least privilege qie consiste en permitir a una persona o proceso interactuar con los recuros para realizar exactamente la tarea que ellos necesitan y nada mas. Esto se logra a través de la granularidad de las politicas definidas por los permisos

🍿 Roles y Tokens de Seguridad Temporales.

Los roles y tokens de seguridad temporales son muy importantes para el uso avanzado de IAM.

Los roles se utilizan para garantizar privilegios a los actores específicos durante un tiempo específico. Estos actores se pueden autenticar con AWS o mediante un sistema externo. Cuando asumen un rol, AWS les proporciona un token de seguridad temporal (temporary security token) desde el AWS Security Token Service (STS) que el actor puede utilizar para hacer uso de los servicios de la nube. Para solicitar un token, es necesario especificar el tiempo de vida del token, que va de 15 minutos a 36 horas.

Los roles y tokens de seguridad permiten un numero de casos de uso:

🥤 Amazon EC2 Roles.

Al crear un IAM rol se pueden habilitar los permisos necesarios para hacer uso de recuros desde una instancia, por ejemplo acceder a S3. Cuando la instancia se lanza, el role es asignado a la instancia. Cuando la aplicacione esta ejecutandose en la instancia, utiliza la API para accesar al bucket de S3, asume el rol asignado a la instancia y obtiene un token temporal que es enviado a la API, permitiendo asi que la aplicación pueda realizar llamadas para tener acceso al bucket de S3 sin tener que realizar un proceso de autenticación. Esto elimina cualquier necesidad de almacenar una llave de acceso en archivo de configuración dentro de la instancia. Ademas, como la API usa un acceso al token que es temporal, no hay necesidad de realizar una rotación de credenciales.

🥤 Accesso a traves otras cuentas (Cross-Account Access).

Otro caso de uso común para los roles es garantizar acceso otras cuentas (ya sean propias o de terceros). Entonces estos podran hacer uso de los recursos como si fueran parte de la organización.

🥤 Gobernancia (Federation).

Mjuchas organizaciones tienen un repositorio de identidad fuera de AWS, y podrián aprovechar dicho repositorio para propositos de autenticación y no tener que replicar todas estas cuentas dentro de IAM.

IAM se puede integrar con diferentes tipos de proveedores de proveedores de identidad externos (Identity Providers IdP).

OpenID Connect (IODC) para web identities como Facebook, Google o Login con Amazon.

Security Assertion Markup Language 2.9 (SAML) para gobernancia interna como Active Directory o LDAP.

En todos los casos, la gobernancia funciona regresando tokens temporales asociales a un role para el IdP para hacer llamadas al API.

🍿 Características de los Principals.

AWS Identity and Access Management (IAM). Autenticación (Authentication).
comments powered by Disqus