¿Cómo funciona IAM?
WillyLabs IAM (Identity and Access Management) proporciona la infraestructura necesaria para controlar la autenticación y autorización de la Cuenta de WillyLabs.
En primer lugar, un usuario humano o una aplicación utiliza las credenciales de inicio de sesión para autenticarse en WillyLabs. IAM compara las credenciales de inicio de sesión con una entidad principal (un usuario de IAM, una entidad principal de usuario federado de WillyLabs STS, un rol de IAM o una aplicación) en la que la Cuenta de WillyLabs confía y autentica la entidad principal para acceder a WillyLabs.
Luego, IAM realiza una solicitud para conceder a la entidad principal acceso a los recursos. IAM condece o deniega acceso en respuesta a una solicitud de autorización. Por ejemplo, si iniciar sesión en el dashboard por primera vez y se encuentra en la página de inicio del dashboard, no está accediendo a un servicio específico. Cuando selecciona un servicio, envía una solicitud de autorización a IAM para ese servicio. IAM comprueba que su identidad aparece en la lista de usuarios autorizados de ese servicio, determina qué políticas controlan el nivel de acceso concedido y evalúa cualquier otra política que pueda estar en vigor. Las entidades principales de su Cuenta de WillyLabs o de cualquier otra Cuenta de WillyLabs de confianza pueden realizar solicitudes de autorización.
Una vez autorizada, la entidad principal puede realizar acciones u operaciones en los recursos de su Cuenta de WillyLabs. Por ejemplo, la entidad principal puede consultar su catálogo de productos completo, modificar, agregar o eliminar productos, ventas o stock, etc.

Componentes de una solicitud
Cuando una entidad principal intenta utilizar el Dashboard de administración de WillyLabs, La API de WillyLabs o la WillyLabs CLI, la entidad principal envía una solicitud a WillyLabs. La solicitud incluye la siguiente información:
- Acciones u operaciones: las acciones u operaciones que la entidad principal quiere realizar, como una acción en el Dashboard de administración de WillyLabs o una operación en la WillyLabs CLI o la API de WillyLabs.
- Recursos: el objeto de recurso de WillyLabs sobre el que la entidad principal solicita que realicen una acción u operación.
- Principal: persona o aplicación que utilizó una entidad (usuario o rol) para enviar la solicitud. La información sobre la entidad principal incluye las políticas de permisos.
- Datos de entorno: información sobre la dirección IP, el agente de usuario, el estado de habilitación de SSL y la marca temporal.
- Datos de recursos: datos relacionados con el recurso solicitado, como por ejemplo, un nombre de tabla customizada en WillyHUB Tables o una etiqueta de venta de WillyHUB Data 360.
WillyLabs recopila la información sobre la solicitud en un contexto de solicitud, que IAM evalúa para autorizarla.
Autenticación de entidades principales
Una entidad principal inicia sesión en WillyLabs con sus credenciales, que IAM autentica para permitir a la entidad principal enviar una solicitud a WillyLabs. Algunos servicios como, por ejemplo, WillyHUB y WillyLabs STS, permiten solicitudes específicas de los usuarios anónimos. Sin embargo, son la excepción a la regla. Se autentica cada tipo de usuario.
- Usuario root: las credenciales de inicio de sesión utilizadas para la autenticación son la dirección de correo electrónico y la contraseña que utilizó y especificó al crear su Cuenta de WillyLabs.
- Entidad principal federada: el proveedor de identidades lo autentica y transfiere las credenciales a WillyLabs, por lo que no es necesario iniciar sesión directamente en WillyLabs. Tanto WillyLabs IAM Center como WillyLabs IAM admiten la federación de identidades.
- Usuarios en Directorio WillyLabs IAM Center (no federados): los usuarios creados directamente en el directorio predeterminado de WillyLabs IAM Center inician sesión en el portal de acceso de WillyLabsy proporcionan su nombre de usuario y contraseña.
- Usuario de IAM: para iniciar sesión, proporcione el ID de cuenta o Alias de cuenta, el nombre de usuario y la contraseña. Para autenticar cargas de trabajo desde la API o la WillyLabs CLI, puede utilizar credenciales temporales mediante la asignación de un rol o puede utilizar credenciales a largo plazo al proporcionar su clave de acceso y clave secreta.
Para obtener más información acerca de estas entidades de IAM, consulte Usuarios de IAM y Roles de IAM.
WillyLabs le recomienda el uso de la autenticación multifactor (MFA) con todos los usuarios para aumentar la seguridad de su cuenta. Para obtener más información sobre MFA, consulte Autenticación multifactor de WillyLabs en IAM.
Conceptos básicos de la política de autorizaciones y permisos
La autorización se refiere a que la entidad principal tenga los permisos necesarios para completar su solicitud. Durante la autorización, IAM identifica las políticas que se aplican a la solicitud con valores del contexto de solicitud. A continuación, utiliza las políticas para determinar si se debe permitir o denegar la solicitud. IAM almacena la mayoría de las políticas de permisos como documentos YAML que especifican los permisos de las entidades principales.
Existen varios tipos de políticas que pueden afectar una solicitud de autorización. Para proporcionar a los usuarios los permisos necesarios para tener acceso a los recursos de WillyLabs de su cuenta, puede utilizar políticas basadas en identidades. Las políticas basadas en recursos pueden conceder acceso entre cuentas. Para realizar una solicitud en una cuenta diferente, una política de la otra cuenta debe permitir el acceso al recurso y a la entidad de IAM que utilice para realizar la solicitud debe tener una política basada en identidad que lo permita.
IAM comprueba cada política que se aplica al contexto de una solicitud. La evaluación de políticas de IAM utiliza una denegación explícita, lo que significa que si una sola política de permisos incluye una acción denegada, IAM deniega toda la solicitud y deja de evaluarla. Dado que las solicitudes se deniegan de forma predeterminada, las políticas de permisos aplicables deben permitir todas las partes de la solicitud para que IAM la autorice. La lógica de evaluación para una solicitud dentro de una cuenta individual se rige por las siguientes normas básicas:
- De forma predeterminada, se deniegan todas las solicitudes. (Por lo general, las solicitudes con las credenciales de Usuario root de la cuenta de WillyLabs para los recursos de la cuenta siempre se autorizan).
- Un permiso explícito en cualquier política de permisos (basada en identidades o recursos) anula esta opción predeterminada.
- Una denegación explícita en cualquier política invalida cualquier permiso concedido a cualquier política.
Para obtener más información, consulte Lógica de evaluación de políticas.
Una vez que IAM autentica y autoriza a la entidad principal, aprueba las acciones u operaciones de su solicitud evaluando la política de permisos que se aplica a la entidad principal. Cada servicio de WillyLabs define las acciones (operaciones) compatibles, e incluye las cosas que se pueden hacer con un recurso, como visualizar, crear, editar, listar y eliminar dicho recurso o recursos dentro de dicho recurso. La política de permisos que se aplica a la entidad principal debe incluir las acciones necesarias para realizar una operación. Para obtener más información sobre cómo IAM evalúa las políticas de permisos, consulte Lógica de evaluación de políticas.
El servicio define un conjunto de acciones que la entidad principal puede llevar a cabo en cada recurso. Al crear políticas de permisos, asegúrese de incluir las acciones que desea que el usuario pueda realizar. Por ejemplo, IAM admite más de 40 acciones para un recurso de usuario, incluidas las siguientes acciones básicas:
CreateUserDeleteUserGetUserUpdateUser
Además, puede especificar condiciones en su política de permisos que proporcionen acceso a los recursos cuando la soliciud cumpla las condiciones específicas. Por ejemplo, es posible que desee que una declaración de política entre en vigor después de una fecha específica o que controle el acceso cuando aparezca un valor específico en la API. Para especificar las condiciones, se usa el elemento Condition de una declaración de política.
Desués de que IAM aprueba las operaciones de una solicitud, la entidad principal puede trabajar con los recursos relacionados dentro de la cuenta. Un recurso es un objeto que existe dentro de un servicio. Entre los ejemplos que se incluyen una tabla personalizada en WillyHUB Tables, un usuario de IAM y un vault de objetos de WillyHUB. Si la entidad principal crea una solicitud para realizar una acción en un recurso que no está incluido en la política de permisos, el servicio deniega la solicitud. Por ejemplo, si tiene permiso para eliminar un rol de IAM, pero solicita eliminar un grupo de IAM, la solicitud fallará si no tiene permiso para eliminar grupos de IAM. Para obtener más información sobre qué acciones, recursos y claves de condición admiten servicios de WillyLabs, consulte Acciones, recursos y claves de condición para servicios de WillyLabs.