Con AWS Identity and Access Management (IAM), puede especificar quién o qué puede acceder a los servicios y recursos en AWS, administrar de forma centralizada los permisos específicos y analizar el acceso para perfeccionar los permisos en todo AWS.

Casos de uso

Aplicar permisos específicos y escalar con el control de acceso basado en atributos

Cree permisos detallados en función de los atributos del usuario, como el departamento, el cargo y el nombre del equipo, mediante el control de acceso basado en atributos.

Administrar el acceso por cuenta o escalar el acceso en todas las cuentas y aplicaciones de AWS

Administre identidades por cuenta con IAM o utilice el centro de identidades de AWS IAM para proporcionar acceso a varias cuentas y asignaciones de aplicaciones en todo AWS.

Establecer barreras de protección preventivas y para toda la organización en AWS

Utilice las políticas de control de servicios a fin de establecer barreras de protección de permisos para los roles y usuarios de IAM e implemente un perímetro de datos alrededor de sus cuentas en AWS Organizations.

Establecer, verificar y adaptar los permisos hasta llegar al privilegio mínimo

Agilice la administración de permisos y utilice los resultados de las cuentas cruzadas mientras establece, verifica y perfecciona las políticas en su recorrido hacia el privilegio mínimo.

¿Qué es AWS IAM?

Usas IAM para controlar quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para usar recursos. Piensa en IAM como el centro de control para todos los recursos de AWS. IAM facilita proporcionar a múltiples usuarios acceso seguro a los recursos de AWS.

Cuando creas una cuenta de AWS por primera vez, comienzas con una identidad de inicio de sesión única que tiene acceso completo a todos los servicios y recursos de AWS en la cuenta.

Esta identidad se llama el usuario raíz de la cuenta de AWS y se accede iniciando sesión con la dirección de correo electrónico y la contraseña que usaste para crear la cuenta.

IAM puede ser usado para gestionar:

  • Usuarios.
  • Grupos.
  • Políticas de acceso.
  • Roles.
  • Credenciales de usuario.
  • Políticas de contraseñas de usuario.
  • Autenticación multifactor (MFA).
  • Claves API para acceso programático (CLI).

Puedes trabajar con AWS Identity and Access Management de cualquiera de las siguientes maneras:

  • Consola de administración de AWS.
  • Herramientas de línea de comandos de AWS.
  • SDKs de AWS.
  • API HTTPS de IAM.

IAM proporciona las siguientes características:

  • Acceso compartido a tu cuenta de AWS.
  • Permisos granulares.
  • Acceso seguro a los recursos de AWS para aplicaciones que se ejecutan en Amazon EC2.
  • Autenticación multifactor.
  • Federación de identidad.
  • Información de identidad para seguridad.
  • Cumplimiento con PCI DSS.
  • Integración con muchos servicios de AWS.
  • Consistencia eventual.
  • Uso gratuito.

Métodos de Autenticación

Contraseña de la consola

  • Una contraseña que el usuario puede ingresar para iniciar sesión en sesiones interactivas como la Consola de Administración de AWS.
  • Puedes permitir que los usuarios cambien sus propias contraseñas.
  • Puedes permitir que usuarios seleccionados de IAM cambien sus contraseñas mediante una política de IAM.

Claves de acceso

  • Una combinación de un ID de clave de acceso y una clave de acceso secreta.
  • Puedes asignar dos claves de acceso activas a un usuario al mismo tiempo.
  • Se pueden usar para llamadas programáticas a AWS usando la API o herramientas como AWS CLI o AWS PowerShell.
  • Puedes crear, modificar, ver o rotar claves de acceso.
  • Las claves secretas solo se devuelven al momento de la creación y si se pierden, se debe crear una nueva.
  • Asegúrate de almacenar las claves de acceso de manera segura.
  • Los usuarios pueden cambiar sus propias claves mediante una política de IAM.
  • Puedes desactivar una clave de acceso de un usuario para evitar su uso en llamadas a la API.

Certificados de servidor

  • Certificados SSL/TLS que puedes usar para autenticarse con algunos servicios de AWS.
  • AWS recomienda usar AWS Certificate Manager (ACM) para proporcionar, gestionar y desplegar tus certificados de servidor.
  • Usa IAM solo cuando debas soportar conexiones HTTPS en una región no soportada por ACM.

Usuarios de IAM

Un usuario de IAM es una entidad que representa a una persona o servicio.

Se puede asignar:

  • Un ID de clave de acceso y una clave de acceso secreta para el acceso programático a la API, CLI, SDK y otras herramientas de desarrollo de AWS.
  • Una contraseña para el acceso a la consola de administración.

Por defecto, los usuarios no pueden acceder a nada en tu cuenta.

Las credenciales del usuario raíz de la cuenta son la dirección de correo electrónico utilizada para crear la cuenta y una contraseña.

La cuenta raíz tiene permisos administrativos completos que no se pueden restringir.

Prácticas recomendadas para cuentas raíz

  • No uses las credenciales del usuario raíz.
  • No compartas las credenciales del usuario raíz.
  • Crea un usuario de IAM y asigna permisos administrativos según sea necesario.
  • Habilita la MFA.

Los usuarios de IAM pueden ser creados para representar aplicaciones, conocidas como «cuentas de servicio».

Puedes tener hasta 5000 usuarios por cuenta de AWS.

Cada cuenta de usuario tiene un nombre amigable y un ARN que identifica de manera única al usuario en AWS.

También se crea un ID único que se devuelve solo cuando creas el usuario usando la API, las herramientas de PowerShell para Windows o la AWS CLI.

Debes crear cuentas IAM individuales para cada usuario (mejor práctica no compartir cuentas).

El ID de clave de acceso y la clave de acceso secreta no son lo mismo que una contraseña y no se pueden usar para iniciar sesión en la consola de AWS.

El ID de clave de acceso y la clave de acceso secreta solo se pueden usar una vez y deben regenerarse si se pierden.

Se puede definir una política de contraseñas para exigir longitud, complejidad, etc. (aplica a todos los usuarios).

Puedes permitir o prohibir la capacidad de cambiar contraseñas mediante una política de IAM.

Las claves de acceso y las contraseñas deben cambiarse regularmente.

Grupos

Los grupos son colecciones de usuarios y tienen políticas adjuntas a ellos.

Un grupo no es una identidad y no puede ser identificado como un principal en una política de IAM.

Usa grupos para asignar permisos a usuarios.

Aplica el principio de privilegios mínimos al asignar permisos.

No puedes anidar grupos (grupos dentro de grupos).

Roles

Los roles son creados y luego «asumidos» por entidades de confianza y definen un conjunto de permisos para realizar solicitudes de servicios de AWS.

Con los roles de IAM puedes delegar permisos a recursos para usuarios y servicios sin usar credenciales permanentes (por ejemplo, nombre de usuario y contraseña).

Los usuarios de IAM o los servicios de AWS pueden asumir un rol para obtener credenciales de seguridad temporales que se pueden usar para hacer llamadas a la API de AWS.

Puedes delegar usando roles.

No hay credenciales asociadas con un rol (contraseña o claves de acceso).

Los usuarios de IAM pueden asumir temporalmente un rol para obtener permisos para una tarea específica.

Un rol puede ser asignado a un usuario federado que inicia sesión usando un proveedor de identidad externo.

Las credenciales temporales se usan principalmente con roles de IAM y expiran automáticamente.

Los roles pueden ser asumidos temporalmente a través de la consola o programáticamente con la AWS CLI, las herramientas de PowerShell para Windows, o la API.

Roles de IAM con instancias EC2

  • Los roles de IAM pueden ser usados para otorgar permisos a aplicaciones que se ejecutan en instancias EC2 usando perfiles de instancia.
  • Solo un rol puede ser asignado a una instancia EC2 a la vez.
  • Un rol puede ser asignado en el momento de la creación de la instancia EC2 o en cualquier momento posterior.
  • Al usar la AWS CLI o la API, los perfiles de instancia deben ser creados manualmente (es automático y transparente a través de la consola).
  • Las aplicaciones recuperan credenciales de seguridad temporales de los metadatos de la instancia.

Delegación de roles

  • Crea un rol de IAM con dos políticas:
    • Política de permisos: otorga al usuario del rol los permisos necesarios en un recurso.
    • Política de confianza: especifica las cuentas de confianza que pueden asumir el rol.
  • Los comodines (*) no pueden ser especificados como principal.
  • Una política de permisos también debe estar adjunta al usuario en la cuenta de confianza.

Políticas

Las políticas son documentos que definen permisos y se pueden aplicar a usuarios, grupos y roles.

Los documentos de políticas están escritos en JSON (par clave-valor que consiste en un atributo y un valor).

Todos los permisos son implícitamente denegados por defecto.

La política más restrictiva se aplica.

El simulador de políticas de IAM es una herramienta que te ayuda a entender, probar y validar los efectos de las políticas de control de acceso.

El elemento de condición se puede usar para aplicar lógica condicional adicional.

Puedes encontrar más detalles y una lista completa de preguntas en la página oficial de preguntas frecuentes de AWS IAM.

Características

  • Control de acceso preciso
    • Los permisos brindan la posibilidad de especificar y controlar el acceso a los servicios y los recursos de AWS. Para otorgar permisos a los roles de IAM, puede adjuntar una política que especifique el tipo de acceso, las acciones que se pueden realizar y los recursos en los que se pueden efectuar las acciones.
      Mediante el uso de políticas de IAM, puede otorgar acceso a las API y los recursos de servicios de AWS específicos. También puede definir condiciones específicas en las que se concede el acceso, como otorgar el acceso a las identidades de una organización de AWS específica u otorgar el acceso a través de un servicio de AWS específico. 
  • Delegar el acceso mediante el uso de roles de IAM
    • Con los roles de IAM, delega el acceso a los usuarios o los servicios de AWS para que operen dentro de su cuenta de AWS. Los usuarios de su proveedor de identidades o los servicios de AWS pueden asumir un rol para obtener credenciales de seguridad temporales que se pueden utilizar para realizar una solicitud de AWS en la cuenta del rol de IAM. En consecuencia, los roles de IAM proporcionan una forma de confiar en las credenciales de corto plazo para usuarios, cargas de trabajo y servicios de AWS que deban llevar a cabo acciones en sus cuentas de AWS. 
  • Funciones de IAM en cualquier lugar
    • Las funciones de IAM en cualquier lugar permiten que las cargas de trabajo que se ejecutan fuera de AWS, como los entornos locales, híbridos y multinube, accedan a los recursos de AWS mediante certificados digitales X.509 emitidos por autoridades de certificación registradas. Con las funciones de IAM en cualquier lugar, puede obtener credenciales temporales de AWS y usar las mismas políticas y roles de IAM que configuró para que las cargas de trabajo de AWS accedieran a los recursos de AWS.
  • IAM Access Analyzer
    • Lograr el privilegio mínimo es un ciclo continuo para otorgar los permisos precisos adecuados a medida que evolucionan sus requisitos. El analizador de acceso de IAM lo ayuda a optimizar la administración de permisos a medida que establece, verifica y ajusta los permisos.
  • Barreras de protección de permisos
    • Con AWS Organizations, puede utilizar políticas de control de servicios (SCP) para establecer barreras de protección de permisos que cumplen todas las funciones y los usuarios de IAM de las cuentas de una organización. Si recién está comenzando a utilizar SCP o tiene SCP existentes, puede utilizar el análisis de acceso de IAM para que lo ayude a restringir los permisos con seguridad en toda su organización de AWS.
  • Control de acceso basado en los atributos
    • El control de acceso basado en atributos (ABAC) se trata de una estrategia de autorización que puede utilizar para crear permisos precisos en función de los atributos de los usuarios, como el departamento, el rol de trabajo y el nombre del equipo. Mediante el uso del ABAC, puede reducir la cantidad de permisos diferentes que necesita para crear controles precisos en su cuenta de AWS.

Preguntas frecuentes sobre AWS IAM

Aspectos Generales

¿Qué es AWS Identity and Access Management (IAM)?

IAM proporciona un control de acceso detallado en todo AWS, permitiendo controlar el acceso a los servicios y recursos mediante condiciones específicas. IAM se ofrece sin cargo adicional.

¿Cómo funciona IAM y qué puedo hacer con este servicio?

IAM proporciona autenticación y autorización para acceder a los servicios de AWS. Controla el acceso mediante políticas que se adjuntan a roles y recursos, permitiendo o denegando solicitudes explícitamente.

¿Cuáles son los permisos con privilegios mínimos?

Los permisos con privilegios mínimos son aquellos que conceden solo los permisos necesarios para realizar una tarea específica. Esto se logra mediante políticas de IAM que definen acciones específicas permitidas en determinados recursos bajo ciertas condiciones.

¿Cómo comienzo a utilizar IAM?

Para empezar a usar IAM, crea un rol de IAM y concédele permisos. Puedes usar roles para personal o sistemas, y adjuntarles políticas que definan los permisos necesarios.

Recursos de IAM

¿Qué son los roles de IAM y cómo funcionan?

Los roles de IAM son una forma de acceso a AWS basado en credenciales de seguridad temporales. Permiten realizar solicitudes de servicios de AWS sin estar asociados a un usuario o grupo específico.

¿Por qué debo utilizar roles de IAM?

Usa roles de IAM para conceder acceso con credenciales a corto plazo, una práctica de seguridad recomendada. Permiten a servicios y usuarios autorizados asumir roles para realizar solicitudes a AWS.

¿Qué son las políticas de IAM?

Las políticas de IAM definen permisos para las entidades a las que se adjuntan. Determinan si las solicitudes a AWS son permitidas o denegadas y se pueden adjuntar a roles, recursos, y organizaciones.

Restricción del Acceso

¿Cómo puedo restringir el acceso con IAM?

Se deniega cualquier acceso por defecto en IAM. Para restringir el acceso, especifica una declaración de denegación en las políticas, que siempre prevalece sobre las declaraciones de permiso.

¿Qué son las políticas de control de servicios (SCP) de AWS Organizations y en qué casos debo utilizarlas?

Las SCP permiten o deniegan el acceso a servicios de AWS a cuentas individuales o unidades organizativas dentro de AWS Organizations. No conceden permisos, sino que establecen restricciones.

Tags:

Descubre más desde BlockStellart

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo