Verificando autenticación…

Saltar al contenido principal

Problemas con permisos de autenticación en Cloud Functions

Problemas o Consultas Comunes

  • La Service Account correspondiente al PubSub falla al intentar invocar la Cloud Function.
  • Error de permisos al ejecutar Cloud Functions desde PubSub.
  • ¿Cómo otorgar permisos de "run invoker" a una Service Account?

Solución

Este problema ocurre cuando la Service Account no tiene los permisos necesarios para invocar la Cloud Function:

Diagnóstico del problema:

  1. Verificar la Service Account:

    • Confirma qué SA está intentando invocar la CF
    • Revisa los logs de error para identificar la SA específica
    • Verifica que la SA esté correctamente configurada en PubSub
  2. Revisar permisos actuales:

    • Lista los permisos actuales de la SA
    • Verifica permisos en la Cloud Function
    • Confirma configuración de IAM

Solución paso a paso:

  1. Otorgar permiso "run invoker":

    gcloud functions add-iam-policy-binding FUNCTION_NAME \
    --member="serviceAccount:SA_EMAIL" \
    --role="roles/cloudfunctions.invoker"
  2. Para Cloud Run (si aplica):

    gcloud run services add-iam-policy-binding SERVICE_NAME \
    --member="serviceAccount:SA_EMAIL" \
    --role="roles/run.invoker"
  3. Verificar configuración de PubSub:

    • Confirma que la suscripción use la SA correcta
    • Verifica que el endpoint esté correctamente configurado
    • Asegúrate de que la SA tenga permisos en el topic
  4. Validar la solución:

    • Ejecuta una prueba de invocación
    • Revisa los logs para confirmar que no hay errores
    • Monitorea el funcionamiento por un período

Equipo responsable: ANDES Resources Ticket de referencia: ANDES-496