Preguntas frecuentes sobre AWS Identity and Access Management (IAM)

Aspectos generales

IAM proporciona un control de acceso detallado en todo AWS. Con IAM, puede controlar el acceso a los servicios y recursos a partir de condiciones específicas. Utilice las políticas de IAM para administrar los permisos del personal y los sistemas a fin de garantizar el privilegio mínimo. IAM se ofrece sin cargo adicional. Para obtener más información, consulte ¿Qué es IAM?

IAM proporciona autenticación y autorización para acceder a los servicios de AWS. Un servicio evalúa si se permite o se deniega una solicitud de AWS. El acceso se deniega de forma predeterminada y solo se permite cuando una política concede el acceso de forma explícita. Puede adjuntar políticas a roles y recursos para controlar el acceso en todo AWS. Para obtener más información, consulte Entender cómo funciona IAM.

Al configurar permisos con políticas de IAM, se deben conceder solo los permisos necesarios para realizar una tarea. Esta práctica se conoce como concesión de privilegio mínimo. Puede aplicar permisos con privilegios mínimos en IAM mediante la definición de medidas que se pueden tomar en recursos determinados a partir de condiciones específicas. Para obtener más información, consulte Administración del acceso a recursos de AWS.

Para comenzar a utilizar IAM a fin de administrar permisos para servicios y recursos de AWS, cree un rol de IAM y concédale permisos. Para los usuarios del personal, cree un rol que el proveedor de identidad pueda asumir. Para los sistemas, cree un rol que el servicio que utiliza pueda asumir, como Amazon EC2 o AWS Lambda. Después de crear el rol, puede adjuntarle una política para conceder permisos que respondan a sus necesidades. Es posible que al principio no sepa qué permisos específicos necesita, por lo que puede empezar con permisos más amplios. Las políticas administradas por AWS proporcionan permisos para ayudarlo a empezar y están disponibles en todas las cuentas AWS. Luego, puede reducir aún más los permisos mediante la definición de políticas administradas por el cliente, específicas para los casos de uso. Puede crear y administrar políticas y roles en la consola de IAM o a través de las API de AWS o la AWS CLI. Para obtener más información, consulte Introducción a IAM.

Recursos de IAM

Los roles de AWS Identity and Access Management (IAM) son una forma de acceso a AWS basada en credenciales de seguridad temporales. Cada rol cuenta con un conjunto de permisos para realizar solicitudes de servicios de AWS y los roles no están asociados a un usuario o grupo específico. En lugar de eso, las entidades, como los proveedores de identidad o los servicios de AWS, asumen los roles. Para obtener más información, consulte Roles de IAM.

Debe utilizar roles de IAM para conceder acceso a cuentas de AWS que dependan de credenciales a corto plazo, una práctica de seguridad recomendada. Las identidades autorizadas, como los servicios o usuarios de AWS del proveedor de identidad, pueden asumir roles para realizar solicitudes a AWS. Para conceder permisos a un rol, adjúntele una política de IAM. Para obtener más información, consulte Situaciones habituales con los roles.

Los usuarios de IAM son identidades con credenciales a largo plazo. Puede utilizar los usuarios de IAM para los usuarios del personal. En este caso, AWS recomienda utilizar un proveedor de identidad y federarlo en AWS mediante la asunción de roles. También puede emplear roles para conceder el acceso entre cuentas a servicios y características, como las funciones de AWS Lambda. En algunas situaciones, puede necesitar usuarios de IAM con claves de acceso, que tengan credenciales a largo plazo con acceso a su cuenta de AWS. En esas situaciones, AWS recomienda utilizar la última información de acceso a IAM para rotar las credenciales con frecuencia y eliminar aquellas que ya no se utilizan. Para obtener más información, consulte Información general sobre la administración de identidades de AWS: los usuarios.

Las políticas de IAM definen permisos para las entidades a las que los adjunta. Por ejemplo, para conceder acceso a un rol de IAM, debe adjuntarle una política. Los permisos definidos en la política determinan si las solicitudes se permiten o se deniegan. También puede adjuntar políticas a algunos recursos, como los buckets de Amazon S3, para conceder un acceso directo entre cuentas. También puede adjuntar políticas a una organización o unidad organizativa de AWS para restringir el acceso entre varias cuentas. AWS evalúa esas políticas cuando un rol de IAM realiza una solicitud. Para obtener más información, consulte Políticas basadas en identidad.

Concesión de acceso

Para conceder acceso a servicios y recursos con AWS Identity and Access Management (IAM), adjunte políticas de IAM a los roles y recursos. Puede comenzar por adjuntar políticas administradas por AWS, que son propiedad de AWS y que AWS actualiza, las cuales están disponibles en todas las cuentas de AWS. Si sabe cuáles son los permisos específicos necesarios para los casos de uso, puede crear políticas administradas por el cliente y adjuntarlas a roles. Algunos recursos de AWS proporcionan un medio para conceder acceso mediante la definición de una política adjunta a recursos, como los buckets de Amazon S3. Esas políticas basadas en recursos permiten conceder acceso entre cuentas directo a los recursos a los cuales se adjuntaron. Para obtener más información, consulte Administración del acceso a recursos de AWS.

Para asignar permisos a un rol o recurso, cree una política, que es un documento de notación de objetos JavaScript (JSON) en el que se definen los permisos. Este documento incluye declaraciones de permisos que conceden o deniegan el acceso a acciones del servicio, recursos y condiciones específicos. Después de crear una política, puede adjuntarla a uno o más roles de IAM para conceder permisos a su cuenta AWS. Para conceder un acceso directo entre cuentas a recursos, como los buckets de Amazon S3, utilice políticas basadas en recursos. Cree políticas en la consola de IAM o a través de las API de AWS o la AWS CLI. Para obtener más información, consulte Crear políticas de IAM.

Las políticas administradas por AWS son creadas y administradas por AWS y abarcan la mayoría de los casos de uso. Al principio, puede conceder permisos más amplios mediante el uso de políticas administradas por AWS que están disponibles en su cuenta de AWS y son frecuentes en todas las cuentas de AWS. Luego, a medida que define sus requisitos, puede reducir los permisos mediante la definición de políticas administradas por el cliente, específicas para sus casos de uso, hasta llegar a los permisos con privilegios mínimos. Para obtener más información, consulte Políticas administradas por AWS.

A fin de conceder solo los permisos necesarios para realizar tareas, puede crear políticas administradas por el cliente, específicas para sus casos de uso y recursos. Utilice políticas administradas por el cliente para seguir refinando los permisos en función de sus requisitos específicos. Para obtener más información, consulte Políticas administradas por el cliente.

Las políticas insertadas están integradas y son inherentes a roles de IAM específicos. Utilice políticas insertadas si desea mantener una estricta relación unívoca entre una política y la identidad a la cual se aplica. Por ejemplo, puede conceder permisos administrativos para garantizar que no se adjunten a otros roles. Para obtener más información, consulte Políticas insertadas.

Las políticas basadas en recursos son políticas de permisos que se adjuntan a recursos. Por ejemplo, puede adjuntar políticas basadas en recursos a buckets de Amazon S3, colas de Amazon SQS, puntos de conexión de VPC y claves de cifrado de AWS Key Management Service. Para obtener una lista de los servicios que admiten políticas basadas en recursos, consulte Servicios de AWS que funcionan con IAM. Utilice políticas basadas en recursos para conceder un acceso directo entre cuentas. Con las políticas basadas en recursos, puede definir quién tiene acceso a un recurso y qué acciones puede realizar. Para obtener más información, consulte Políticas basadas en identidad y políticas basadas en recursos.

RBAC proporciona un medio para asignar permisos en función del puesto de trabajo de una persona, lo que se conoce como rol fuera de AWS. IAM proporciona RBAC mediante la definición de roles de IAM con permisos adaptados a los puestos de trabajo. Luego, puede conceder acceso individual para poder asumir esos roles y realizar trabajos específicos. Con RBAC, puede auditar el acceso mediante la observación de cada rol de IAM y los permisos adjuntos. Para obtener más información, consulte Comparación de ABAC con el modelo de RBAC tradicional.

Una práctica recomendada es conceder acceso solo a las acciones y recursos de servicio específicos, necesarios para realizar una tarea. Esto se conoce como concesión de privilegios mínimos. Cuando los empleados agregan nuevos recursos, debe actualizar las políticas para permitir el acceso a estos.

ABAC es una estrategia de autorización que define permisos con base en los atributos. En AWS, esos atributos se llaman etiquetas y puede definirlas en recursos de AWS, roles de IAM y sesiones de rol. Con ABAC, define un conjunto de permisos basados en el valor de la etiqueta. Puede conceder permisos detallados a recursos específicos al solicitar que las etiquetas del rol o la sesión coincidan con las etiquetas del recurso. Por ejemplo, puede crear una política que conceda acceso a los desarrolladores a recursos etiquetados con el cargo “desarrolladores”. ABAC es útil en entornos que crecen con rapidez, ya que concede permisos a recursos a medida que estos se crean con etiquetas específicas. Para obtener más información, consulte Control de acceso basado en atributos para AWS.

Para conceder acceso con ABAC, primero debe definir las claves y los valores de las etiquetas que desea utilizar para controlar el acceso. Luego, debe asegurarse de que el rol de IAM posea las claves y los valores de las etiquetas adecuados. Si varias identidades utilizan este rol, también puede definir las claves y los valores de las etiquetas de la sesión. A continuación, debe asegurarse de que los recursos posean las claves y los valores de las etiquetas adecuados. También puede solicitar a los usuarios que creen recursos con las etiquetas adecuadas y restrinjan el acceso para modificarlas. Después de colocar las etiquetas, defina una política que conceda acceso a acciones y tipos de recursos específicos, pero solo si las etiquetas del rol o de la sesión coinciden con las etiquetas del recurso. Para ver un tutorial detallado en el que se explica cómo utilizar ABAC en AWS, consulte Tutorial de IAM: Definición de permisos para acceder a los recursos de AWS en función de etiquetas.

Restricción del acceso

Con AWS Identity and Access Management (IAM), se deniega cualquier acceso de forma predeterminada y se necesita una política que conceda un acceso. A medida que administra permisos a escala, es posible que necesite implementar barreras de protección para los permisos y restringir el acceso entre cuentas. Para restringir el acceso, especifique una declaración de denegación en cualquiera de las políticas. Si se aplica una declaración de denegación a una solicitud de acceso, aquella siempre prevalece sobre la declaración de permiso. Por ejemplo, si permite el acceso a todas las acciones en AWS pero deniega el acceso a IAM, se denegarán todas las solicitudes a IAM. Puede incluir una declaración de denegación en cualquier tipo de política, incluidas las políticas basadas en identidad, basadas en recursos y de control de servicios con AWS Organizations. Para obtener más información, consulte Controlar el acceso con AWS Identity and Access Management.

Las SCP son similares a las políticas de IAM y utilizan prácticamente la misma sintaxis. Sin embargo, las SCP no conceden permisos. En vez de esto, las SCP permiten o deniegan el acceso a los servicios de AWS a cuentas de AWS individuales con cuentas miembro de Organizations o a grupos de cuentas de una unidad organizativa. Las acciones específicas de una SCP afectan a todos los usuarios y roles de IAM, incluido el miembro raíz de la cuenta miembro. Para obtener más información, consulte Lógica de la evaluación de políticas

Análisis del acceso

Al comenzar a conceder permisos, puede utilizar permisos más amplios, a medida que explora y experimenta. A medida que los casos de uso se vuelven más complejos, AWS recomienda refinar los permisos para conceder solo aquellos que sean necesarios, con el objetivo de llegar a los permisos con privilegios mínimos. AWS proporciona herramientas para ayudar a refinar los permisos. Puede comenzar con políticas administradas por AWS, creadas y administradas por AWS, e incluir permisos para los casos de uso frecuentes. A medida que refina los permisos, defina permisos específicos en las políticas administradas por el cliente. Para ayudar a determinar los permisos específicos necesarios, utilice AWS Identity and Access Management (IAM) Access Analyzer, revise los registros de AWS CloudTrail e inspeccione la información de acceso más reciente. También puede utilizar el simulador de política de IAM para probar y resolver los problemas relacionados con las políticas.

Lograr privilegios mínimos implica un ciclo continuo de concesión de permisos detallados adecuados, a medida que sus requisitos evolucionan. IAM Access Analyzer ayuda a optimizar la administración de permisos en cada paso de este ciclo. La generación de políticas con el Analizador de acceso de IAM genera una política detallada basada en la actividad de acceso guardada en sus registros. Esto significa que después de crear y ejecutar una aplicación, puede generar políticas que concedan solo los permisos necesarios para operar la aplicación. La validación de políticas con el Analizador de acceso de IAM lo guía para crear y validar políticas seguras y funcionales con más de 100 verificaciones de políticas. Puede utilizar estas verificaciones al crear nuevas políticas o para validar políticas existentes. Los hallazgos públicos y entre cuentas con el Analizador de acceso de IAM lo ayudan a verificar y refinar el acceso permitido por sus políticas de recursos desde fuera de su organización o cuenta de AWS. Para obtener más información, consulte Cómo utilizar el Analizador de acceso de IAM.

Es posible que haya usuarios, roles y permisos de IAM que ya no necesite tener en la cuenta de AWS. Recomendamos eliminarlos para lograr un acceso con privilegios mínimos. Para los usuarios de IAM, puede revisar la información sobre el último uso de contraseñas y claves de acceso. Para los roles, puede revisar la información sobre el último uso del rol. Esta información está disponible en la consola, las API y los SDK de IAM. La información sobre el último uso lo ayuda a identificar aquellos usuarios y roles que ya no se utilizan y que es seguro eliminar. También puede refinar los permisos mediante la revisión del servicio y la última información consultada para identificar aquellos permisos que no se utilizan. Para obtener más información, consulte Perfeccionar los permisos con la información sobre los últimos accesos en AWS.

El simulador de políticas de IAM evalúa las políticas que elige y determina los permisos efectivos para cada acción especificada. Utilice el simulador de políticas para probar y resolver problemas asociados a políticas basadas en identidad y en recursos, límites de permisos IAM y SCP. Para obtener más información, consulte Probar las políticas de IAM con el simulador de políticas de IAM.

Las comprobaciones de políticas personalizadas del analizador de acceso de IAM validan que las políticas de IAM cumplan sus estándares de seguridad antes de los despliegues. Las comprobaciones de políticas personalizadas utilizan el poder del razonamiento automatizado (una garantía de seguridad demostrable respaldada por pruebas matemáticas) para permitir a los equipos de seguridad detectar de forma proactiva las actualizaciones no conformes de las políticas. Por ejemplo, los cambios en la política de IAM que son más permisivos que en la versión anterior. Los equipos de seguridad pueden usar estas comprobaciones para agilizar sus revisiones, aprobar automáticamente políticas que se ajusten a sus estándares de seguridad e inspeccionar más a fondo cuando no lo hacen. Este nuevo tipo de validación proporciona una mayor garantía de seguridad en la nube. Los equipos de seguridad y desarrollo pueden automatizar las revisiones de políticas a escala al integrar estas comprobaciones de políticas personalizadas en las herramientas y los entornos en los que los desarrolladores crean sus políticas, como los procesos de CI/CD.

IAM Access Analyzer simplifica la inspección del acceso no utilizado para guiarlo hacia los privilegios mínimos. Los equipos de seguridad pueden usar IAM Access Analyzer para obtener visibilidad del acceso no utilizado en toda su organización de AWS y automatizar la forma en que modifican los permisos. Cuando se habilita el analizador de acceso no utilizado, el analizador de acceso de IAM analiza continuamente sus cuentas para identificar el acceso no utilizado y crea un panel centralizado con los resultados. El panel de control ayuda a los equipos de seguridad a revisar los resultados de forma centralizada y a priorizar las cuentas en función del volumen de resultados. Los equipos de seguridad pueden usar el panel de control para revisar los resultados de manera centralizada y priorizar qué cuentas revisar en función del volumen de hallazgos. Los resultados destacan las funciones no utilizadas, las claves de acceso no utilizadas para los usuarios de IAM y las contraseñas no utilizadas para los usuarios de IAM. Para los usuarios y roles de IAM activos, los resultados proporcionan visibilidad de los servicios y acciones no utilizados.