Mientras preparaba un entorno multi cuenta y habilitaba AWS Control Tower, me topé con dos errores desconcertantes. Comparto cómo los resolví para que puedas ahorrarte tiempo en tu landing zone de AWS.
- Error de límite de cuentas alcanzado, aun sin haber llegado realmente al tope
- Fallo de despliegue de CloudFormation relacionado con la política de KMS
Problema 1. Límite de cuentas
Al activar Control Tower, el servicio debe crear dos cuentas fundamentales: Log Archive y Audit. En mi caso, solo se creó Audit y apareció un aviso indicando que se había alcanzado el límite de cuentas de la organización, bloqueando la creación de Log Archive.
Al revisar Service Quotas, el máximo predeterminado de cuentas era 10 y el recuento real estaba muy por debajo, apenas 3 incluyendo la cuenta de administración. No encontré la causa raíz, pero lo solucioné solicitando el aumento de cuota a 15. Es posible que Control Tower reserve internamente ranuras de cuenta durante la orquestación y eso dispare la validación del límite.
Problema 2. Fallo de CloudFormation por política de KMS
Tras superar el límite de cuentas, apareció un error de despliegue en CloudFormation en la pila AWSControlTowerBP-BASELINE-CLOUDTRAIL-MASTER. Yo había configurado AWS CloudTrail y AWS Config para cifrar con KMS, pero a ambos servicios les faltaban permisos sobre la clave.
Permisos necesarios mínimos
- Para AWS Config: kms:Decrypt y kms:GenerateDataKey
- Para AWS CloudTrail: kms:GenerateDataKey* y kms:Decrypt, además de condiciones que limiten el uso al trail correspondiente mediante aws:SourceArn y el contexto kms:EncryptionContext:aws:cloudtrail:arn
Acciones que realicé
- Añadí a la política de la clave KMS una declaración que permite a config.amazonaws.com usar kms:Decrypt y kms:GenerateDataKey
- Añadí otra declaración para cloudtrail.amazonaws.com con kms:GenerateDataKey* y kms:Decrypt, condicionada al arn del trail aws-controltower-BaselineCloudTrail y al patrón arn:aws:cloudtrail:*:tu-cuenta:trail/* en el contexto de cifrado
- Eliminé la pila fallida AWSControlTowerBP-BASELINE-CLOUDTRAIL-MASTER en CloudFormation y volví a ejecutar la configuración de Control Tower
Resultado: la landing zone se desplegó correctamente sin errores.
Consejos rápidos
- Verifica el recuento real de cuentas, incluidas suspendidas o en creación, antes de asumir que debes subir la cuota
- Usa la misma región de la clave KMS que usará CloudTrail y Config
- Asegúrate de que la política de la clave KMS permita a la cuenta root y a los servicios implicados administrarla y usarla según el principio de mínimo privilegio
Sobre Q2BSTUDIO
En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure. Acompañamos a tu equipo en el diseño y operación de landing zones con buenas prácticas, gobierno, cumplimiento y automatización. Si buscas acelerar tu adopción de la nube con seguridad y control, descubre nuestros servicios cloud en AWS y Azure.
SEO y capacidades
Diseñamos software a medida y aplicaciones a medida con foco en escalabilidad, incorporamos ia para empresas y agentes IA para automatización inteligente, reforzamos ciberseguridad con auditorías y hardening, y potenciamos la toma de decisiones con servicios inteligencia de negocio y dashboards en power bi. Si necesitas unir datos, IA y cloud para ganar eficiencia, somos tu socio técnico.
Conclusión
El misterio del límite de cuentas sigue abierto, pero aumentar prudentemente la cuota resolvió el bloqueo. El fallo de KMS se corrige asegurando que CloudTrail y Config tengan permisos explícitos en la política de la clave. Si te ha ocurrido algo similar o conoces la causa exacta del límite, será genial leer tu experiencia.
Referencias
Recomendado para profundizar en permisos de KMS con Control Tower y CloudTrail: artículo de Classmethod con detalles de KMS