Hola, comunidad. Buen día.
Estoy buscando apoyo con un problema que llevo intentando resolver en Firebase y que me está impidiendo actualizar las reglas de seguridad de Cloud Firestore de un ERP en producción.
He probado diferentes alternativas, tanto desde Firebase Console como desde PowerShell con Firebase CLI, pero sigo recibiendo:
HTTP 503 — The service is currently unavailable
El error aparece al validar o intentar publicar las reglas en:
POST https://firebaserules.googleapis.com/v1/projects/PROJECT_ID:test
También he observado el mismo error en el endpoint de creación de Rulesets.
¿Qué he probado hasta ahora?
1. Verificar autenticación y conexión
Firebase CLI versión 15.25.1.
Node.js versión 24.14.0.
Windows PowerShell.
Autenticación válida.
Acceso a la base de datos Firestore confirmado con HTTP 200.
Puedo consultar y respaldar las reglas actualmente activas.
2. Compilar un archivo mínimo de reglas
Creé un archivo pequeño, con una sola regla de acceso denegado, y ejecuté:
firebase deploy --only firestore:rules --project PROJECT_ID --config firebase.json --dry-run
Resultado: HTTP 200. Compilación correcta.
Esto demuestra que el proyecto puede validar al menos un Ruleset sencillo.
3. Compilar mis reglas completas
Mi archivo original tiene aproximadamente 204 KB e incluye permisos por roles, almacenes, auditoría y validaciones de distintos módulos del ERP.
Resultado: HTTP 503.
4. Eliminar comentarios y líneas vacías
Reduje el archivo de 204,061 a 142,952 bytes, conservando las instrucciones de las reglas.
Resultado: HTTP 503 nuevamente.
5. Recompilar exactamente las reglas que YA están activas en producción
Consulté la release activa mediante Firebase Rules API, descargué su contenido y ejecuté nuevamente la validación con --dry-run.
El archivo activo tiene 202,654 bytes.
Resultado: HTTP 503.
Este último punto es el que más me preocupa: las reglas que Firebase ya tiene publicadas tampoco pueden volver a compilarse.
6. Intentarlo directamente desde Firebase Console
Intenté editar y publicar manualmente las reglas, pero aparece el mismo problema.
Resumen de resultados
| Prueba | Resultado |
|---|
| Reglas mínimas | HTTP 200 |
| Reglas completas (204 KB) | HTTP 503 |
| Reglas sin comentarios (143 KB) | HTTP 503 |
| Reglas actualmente activas (203 KB) | HTTP 503 |
| Publicación desde Firebase Console | Fallida |
No se ha publicado ningún cambio y las reglas productivas continúan activas.
¿En qué punto estoy?
Estoy considerando que el problema podría estar relacionado con los límites internos del compilador de Firebase Rules, la complejidad de funciones y expresiones, o algún problema del servicio al procesar archivos extensos.
Sin embargo, todavía no tengo evidencia suficiente para confirmar la causa.
El archivo contiene numerosas funciones auxiliares, validaciones RBAC y bloques match. Necesito mantener esas restricciones porque protegen información financiera y operativa del ERP.
También he intentado obtener soporte oficial, pero todavía no he conseguido una solución.
¿Alguien ha experimentado algo similar?
Quisiera preguntarles:
¿Han recibido HTTP 503 al compilar reglas grandes de Firestore, aunque las reglas mínimas funcionen?
¿Conocen límites de complejidad del compilador que puedan provocar este comportamiento?
¿Existe alguna metodología recomendada para identificar qué función o bloque ocasiona el problema?
¿Han conseguido solucionarlo reorganizando funciones o simplificando expresiones sin alterar los permisos?
¿Conocen alguna forma de escalar este problema al equipo técnico de Firebase cuando no se recibe respuesta de soporte?
No quiero reemplazar las reglas productivas por unas simplificadas sin comprobar su equivalencia de seguridad.
Agradecería mucho cualquier orientación, experiencia similar, documentación técnica o solución que hayan aplicado.
Puedo compartir fragmentos relevantes de las reglas y registros del error, sin exponer información sensible.
¡Muchas gracias por su tiempo y apoyo!