Cómo funciona IAM - AWS Identity and Access Management

Cómo funciona IAM

IAM proporciona la infraestructura necesaria para controlar la autenticación y la autorización de su Cuenta de AWS. El siguiente diagrama ilustra la infraestructura de IAM:

IntroToIAM_Diagram

En primer lugar, un usuario humano o una aplicación utiliza las credenciales de inicio de sesión para autenticarse en AWS. La autenticación se proporciona cuando coinciden las credenciales de inicio de sesión con una entidad principal (un usuario de IAM, un usuario federado, un rol de IAM o una aplicación) en la que confía la Cuenta de AWS.

Luego, se realiza una solicitud para conceder a la entidad principal acceso a los recursos. El acceso se concede en respuesta a una solicitud de autorización. Por ejemplo, cuando inicia sesión en la consola por primera vez y se encuentra en la página de inicio de la consola, no accede a un servicio específico. Cuando selecciona un servicio, la solicitud de autorización se envía a ese servicio y se comprueba si su identidad aparece en la lista de usuarios autorizados, qué políticas se aplican para controlar el nivel de acceso concedido, y cualquier otra política que pueda estar en vigor. Las entidades principales de su Cuenta de AWS o de cualquier otra Cuenta de AWS de confianza pueden realizar solicitudes de autorización.

Una vez autorizada, la entidad principal puede actuar o llevar a cabo operaciones en los recursos de su Cuenta de AWS. Por ejemplo, la entidad principal puede lanzar una instancia de Amazon Elastic Compute Cloud nueva, modificar las suscripciones a un grupo de IAM o eliminar buckets de Amazon Simple Storage Service.

Términos

Estos términos de IAM se utilizan habitualmente cuando se trabaja con AWS:

Recurso de IAM

Los recursos de IAM se almacenan en IAM. Puede agregarlos, editarlos y eliminarlos de IAM.

  • user

  • grupo

  • role

  • política

  • objeto de proveedor de identidades

Entidad de IAM

Recursos de IAM que AWS utiliza para la autenticación. Las entidades se pueden especificar como entidad principal en una política basada en recursos.

  • user

  • role

Identidad de IAM

Recurso de IAM que se puede autorizar en políticas para realizar acciones y acceder a recursos. Las identidades incluyen usuarios, grupos y roles.

Recurso, identidades y entidades
Entidades principales

Una persona o una aplicación que utiliza el Usuario raíz de la cuenta de AWS, un usuario de IAM o un rol de IAM para iniciar sesión y realizar solicitudes a AWS. Las entidades principales incluyen usuarios federados y roles asumidos.

Usuarios humanos

También conocidas como identidades humanas; las personas, administradores, desarrolladores, operadores y consumidores de sus aplicaciones.

Carga de trabajo

Un conjunto de recursos y código que aporta valor empresarial, como una aplicación o un proceso backend. Puede incluir aplicaciones, herramientas operativas y componentes.

Entidad principal

Una entidad principal es un usuario humano o una carga de trabajo que puede solicitar una acción u operación en un recurso de AWS. Después de la autenticación, la entidad principal de seguridad puede recibir credenciales permanentes o temporales para llevar a cabo solicitudes a AWS, en función del tipo de entidad principal de seguridad. A los usuarios de IAM y al usuario raíz se les otorgan credenciales permanentes, mientras que a los roles se les otorgan credenciales temporales. Como práctica recomendada, le recomendamos que exija a los usuarios humanos y a las cargas de trabajo que accedan a los recursos de AWS mediante credenciales temporales.

Solicitud

Cuando una entidad principal intenta utilizar la AWS Management Console, la API de AWS o la AWS CLI, la entidad principal envía una solicitud a AWS. La solicitud incluye la información siguiente:

  • Acciones u operaciones: las acciones u operaciones que la entidad principal desea realizar. Puede tratarse de una acción en la AWS Management Console o una operación en la AWS CLI o la API de AWS.

  • Recursos: el objeto de recurso de AWS sobre el que se realizan las acciones u operaciones.

  • Principal: persona o aplicación que utilizó una entidad (usuario o rol) para enviar la solicitud. La información sobre el principal incluye las políticas asociada a la entidad que el principal ha utilizado para iniciar sesión.

  • Datos de entorno: información sobre la dirección IP, el agente de usuario, el estado de habilitación de SSL o la hora del día.

  • Datos de recursos: datos relacionados con el recurso que se está solicitando. Esto puede incluir información como, por ejemplo, un nombre de tabla de DynamoDB o una etiqueta de una instancia Amazon EC2.

AWS recopila la información sobre la solicitud en un contexto de solicitud, que se utiliza para evaluar y autorizar la solicitud.

Autenticación

Una entidad principal autenticarse (con sesión iniciada en AWS) utilizando sus credenciales para enviar una solicitud a AWS. Algunos servicios, como, por ejemplo, Amazon S3 y AWS STS, permiten algunas solicitudes de los usuarios anónimos. Sin embargo, son la excepción a la regla.

Para autenticarse desde la consola como usuario raíz, debe iniciar sesión con su dirección de correo electrónico y contraseña. Como usuario federado, su proveedor de identidades le ha autenticado y se le concede acceso a los recursos de AWS con roles de IAM. Como usuario de IAM, proporcione el ID de la cuenta o alias y, a continuación, su nombre de usuario y contraseña. Para autenticar cargas de trabajo desde la API o la AWS CLI, puede utilizar credenciales temporales mediante la asignación de un rol o puede utilizar credenciales a largo plazo proporcionando su clave de acceso y clave secreta. También es posible que tenga que proporcionar información de seguridad adicional. Como práctica recomendada, AWS recomienda que utilice la autenticación multifactor (MFA) y credenciales temporales para aumentar la seguridad de la cuenta. Para obtener más información acerca de las entidades de IAM que AWS puede autenticar, consulte Usuarios de IAM y Roles de IAM.

Autorización

Asimismo, debe ser autorizado (admitido) para completar su solicitud. Durante la autorización, AWS utiliza los valores del contexto de la solicitud para comprobar las políticas que se aplican a la solicitud. A continuación, utiliza las políticas para determinar si se debe permitir o denegar la solicitud. La mayoría de las políticas se almacenan en AWS como documentos JSON y especifican los permisos de las entidades principales. Existen varios tipos de políticas que pueden afectar a la autorización de una solicitud. Para proporcionar a los usuarios los permisos necesarios para tener acceso a los recursos de AWS de su propia cuenta, solo necesitará políticas basadas en identidad. Las políticas basadas en recursos se suelen utilizar para conceder acceso entre cuentas. Los demás tipos de políticas son características avanzadas y deben utilizarse con cuidado.

AWS comprueba cada política que se aplica al contexto de una solicitud. Si una sola política de permisos incluye una acción denegada, AWS deniega toda la solicitud y deja de evaluarla. Esto se denomina una denegación explícita. Dado que las solicitudes se deniegan de forma predeterminada, AWS autoriza una solicitud únicamente si las políticas de permisos aplicables permiten todas las partes de la solicitud. La lógica de evaluación de una solicitud dentro de una cuenta individual se rige por las normas generales siguientes:

  • De forma predeterminada, se deniegan todas las solicitudes. (Por lo general, las solicitudes realizadas con las credenciales de Usuario raíz de la cuenta de AWS para los recursos de la cuenta siempre se autorizan).

  • Un permiso explícito en cualquier política de permisos (basada en identidad o en recursos) anula esta opción predeterminada.

  • La existencia de una SCP de Organizaciones, un límite de permisos de IAM o una política de sesión anula el permiso. Si existen uno o varios de estos tipos de políticas, todos ellos deben permitir la solicitud. De lo contrario, se deniega implícitamente.

  • Una denegación explícita en cualquier política invalida cualquier permiso concedido.

Para obtener más información acerca de cómo se evalúan todos los tipos de políticas, consulte Lógica de evaluación de políticas. Si debe realizar una solicitud referida a otra cuenta, una política de la otra cuenta debe permitirle el acceso al recurso y, además, la entidad de IAM que utilice para realizar la solicitud debe tener una política basada en identidad que permita la solicitud.

Acciones u operaciones

Una vez que la solicitud se ha autenticado y se ha autorizado, AWS aprueba las acciones u operaciones de la solicitud. Las operaciones se definen mediante un servicio e incluyen las cosas que se pueden hacer con un recurso, como visualizar, crear, editar y eliminar dicho recurso. Por ejemplo, IAM admite aproximadamente 40 acciones para un recurso de usuario, incluidas las siguientes:

  • CreateUser

  • DeleteUser

  • GetUser

  • UpdateUser

Para permitir a una entidad principal realizar una operación, debe incluir las acciones necesarias en una política que se aplica a la entidad principal o al recurso afectado. Para ver una lista de acciones, tipos de recursos y claves de condición compatibles con cada servicio, consulte Acciones, Recursos y Claves de condición para servicios deAWS.

Recursos

Después de que AWS aprueba las operaciones de una solicitud, estas se pueden realizar en los recursos relacionados dentro de la cuenta. Un recurso es un objeto que existe dentro de un servicio. Entre los ejemplos se incluyen una instancia Amazon EC2, un usuario de IAM y un bucket de Amazon S3. El servicio define un conjunto de acciones que se pueden llevar a cabo en cada recurso. Si crea una solicitud para llevar a cabo una acción independiente en un recurso, dicha solicitud se deniega. Por ejemplo, si solicita eliminar un rol de IAM, pero proporciona un recurso de grupo de IAM, la solicitud fallará. Para ver tablas de servicio de AWS que identifican qué recursos se ven afectados por una acción, consulte Acciones, Recursos y Claves de condición para servicios de AWS.