Aws iam: el control central de identidades y permisos en la nube
Sin un control adecuado de identidades y permisos, cualquier persona o servicio con acceso a la cuenta podría crear, modificar o eliminar recursos de forma no autorizada. IAM resuelve este problema al separar la autenticación de la autorización.
Componentes principales de IAM
IAM se organiza en torno a cuatro elementos básicos:- Usuarios: identidades permanentes asociadas generalmente a personas.
- Grupos: conjuntos de usuarios que comparten los mismos permisos.
- Roles: identidades temporales que pueden ser asumidas por usuarios, aplicaciones o servicios de AWS.
- Políticas: documentos que definen los permisos concretos.
Cómo funcionan las políticas
Cada política contiene una o varias declaraciones. Cada declaración indica:- El efecto (Allow o Deny).
- Las acciones permitidas o denegadas.
- Los recursos sobre los que se aplica.
- Condiciones opcionales, por ejemplo, restricción por dirección IP o por etiquetas.
Ejemplos
Política que permite solo la lectura de información de instancias EC2:{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeTags"
],
"Resource": "*"
}
]
}
Ejemplo de una política que permite a un rol asumir permisos temporales:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::123456789012:role/NombreDelRol"
}
]
}
Principio de mínimo privilegio
La práctica más importante en IAM consiste en conceder únicamente los permisos estrictamente necesarios para realizar una tarea. Otorgar permisos amplios, por ejemplo, acceso de administrador, aumenta el riesgo en caso de compromiso de credenciales. Los roles temporales, las políticas con condiciones y la revisión periódica de permisos ayudan a mantener este principio.Buenas prácticas generales
- Preferir roles frente a usuarios con claves de acceso de larga duración.
- Utilizar la autenticación multifactor, o MFA, en cuentas privilegiadas.
- Revisar de forma periódica las políticas y los accesos no utilizados.
- Aplicar el principio de mínimo privilegio desde el diseño inicial.
- Separar entornos (desarrollo, pruebas y producción) mediante cuentas distintas o unidades organizativas cuando sea posible.
Roles en IAM
Los roles en IAM son identidades temporales que permiten a personas, aplicaciones o servicios de AWS obtener permisos de forma segura durante un tiempo limitado.Diferencia clave con los usuariosz
- Un usuario IAM es una identidad permanente (normalmente asociada a una persona) que suele tener credenciales de larga duración, como usuario/contraseña o claves de acceso.
- Un rol IAM no tiene credenciales permanentes. En su lugar, se “asume” (se toma prestado) durante un periodo de tiempo y recibe credenciales temporales.