¿Para que sirve el servicio Multi-Factor Authentication (MFA)?
Multi-Factor Authentication (MFA) añade una capa extra de seguridad a si infraestructura al añadir un segundo método de identificación mas allá del password o del access key. Con MFA, la identificación también requiere ingresar un One-Time Password (OTP), desde un dispositivo. El MFA puede ser un hardware o software, que lleve con usted, o un dispositivo virtual vía un app en su teléfono inteligente.
MFA requiere verificar la identidad de dos formas… con algo que sabe y algo que lleve.
MFA puede ser asignado a una cuenta de usuario, sea una persona o una aplicación. Cuando una persona utiliza IAM con intentos de MFA para acceder a la consola, después de proveer el password, el sistema solicitará ingresar el código mostrado en el dispositivo MFA.
Es altamente recomendable que los clientes de AWS agreguen protección MFA a sus usuarios root.
¿En que consiste la rotación de llaves (Rotating Keys)?
El riesgo sobre las credenciales incrementa conforme al tiempo. Por ello una recomendación es habilitar rotate access keys (rotación de llaves) para los usuarios de IAM. Este proceso se realiza permitiendo dos llaves de acceso al mismo tiempo, y puede ser realizado mediante la consola, el cli o el SDK.
¿Cuáles son los pasos para asignar una nueva llave a un usuario?
- Cree una nueva key para el usuario.
- Reconfigure todas las aplicaciones para que utilicen la nueva key.
- Deshabilite la key original (deshabilitar en lugar de borrar es un proceso crítico que permite revertir el cambio si se presenta un error).
- Verifique la operación de todas las aplicaciones.
- Borre la key original.
¿Cómo solucionar conflictos entre múltiples permisos?
En ocasiones se aplican múltiples permisos que determinan si un privilegio se otorga o no a una acción. Estos permisos pueden venir en forma de policies asociadas al principal, o policies sobre un recurso. Es importante saber como se conflictuan estos permisos.
- Inicialmente el request es denegado por default.
- Todas las policies son evaluadas; si existe un “deny” explicito en cualquier policy, la petición es denegada y la evaluación se detiene.
- Si no hay un deny explicito y se encuentra un “allow” la petición es aceptada.
- Si no se encuentra ningún “allow” o “deny”, entonces el default “deny” es mantenido y la petición es denegada.
La única excepción a esta regla es si una llamada AssumeRole incluye un rol y una policy, la policy no puede expandir el privilegio del role.