Políticas de IAM
Qué es: una política (policy) es un documento JSON que dice qué acciones se permiten o se niegan, sobre qué recursos y bajo qué condiciones. Se adjunta a un usuario, a un grupo o a un rol (el bloque siguiente) y define sus permisos.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "cloudformation:CreateStack",
"Resource": "*",
"Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
}]
}
- Effect:
Allow(permitir) oDeny(negar). - Action: las operaciones de la API, con la forma
servicio:Acción. Aquí, crear una pila de CloudFormation. - Resource: sobre qué recursos aplica;
*significa todos los de la cuenta. - Condition (opcional): cuándo vale el permiso. Aquí, solo si la identidad entró con MFA.
Analogía: la lista del portero de un evento. Dice quién entra, a qué salas y con qué condición, como “antes de las 10”; quien no está, no entra. Dónde falla la analogía: el portero lee una sola lista. AWS junta todas las políticas que alcanzan a la identidad, las del usuario y las de sus grupos, y un “no” escrito en cualquiera de ellas anula todos los “sí”.
Ejemplo real: el grupo de desarrolladores de Viajes
Brújula puede crear y borrar pilas de CloudFormation. Durante una
auditoría, la empresa añade al grupo una política con Deny
sobre borrar pilas. Nadie puede borrar mientras esté adjunta.
Úsalo cuando: des cualquier permiso: siempre se hace con políticas, idealmente adjuntas a grupos o a roles. No lo uses cuando: la confundas con una identidad: una política sola no inicia sesión ni hace nada.
En el examen: “documento JSON que define permisos”
es una política de IAM. Allow y
Deny sobre la misma acción: gana el
Deny.
Trampa común: un Allow no “pesa” más
por estar en más políticas. Basta un Deny explícito en una
sola para negar la acción.