He escrito políticas de KMS docenas de veces. Sigo cometiendo los mismos tres errores.
Error 1: olvidar el principal raíz
Una política de clave KMS que no incluye el principal raíz (arn:aws:iam::ACCOUNT_ID:root) puede dejarte sin acceso a la clave. El principal raíz permite que las políticas de IAM deleguen acceso a la clave — sin él, solo la política de la clave misma puede otorgar acceso.
Esto no es lo mismo que darle acceso ilimitado a root. Habilita la delegación de IAM. Omítelo una vez y nunca más lo olvidarás.
Error 2: usar kms:* en políticas de servicio
Al otorgar permiso a un servicio de AWS para usar una clave, el alcance de kms:* es casi siempre demasiado amplio. El servicio necesita kms:GenerateDataKey y kms:Decrypt. Nada más.