Soluciona problemas de errores de autorización
Esta página forma parte de Prepárate para los próximos cambios en la autorización. En él, se explican los errores que podrías ver y cómo corregirlos.
Una acción rechazada tiene una de dos causas, y vale la pena distinguirlas:
- La cuenta de servicio de ejecución: No puedes actuar como ella o no puede acceder a lo que necesita una tarea. Consulta Errores de la cuenta de servicio de ejecución.
- Tu propio rol de IAM: No tienes permiso para realizar la acción. Consulta Errores de roles de IAM.
Ambas verificaciones se aplican, por lo que corregir una no corrige la otra.
Errores de la cuenta de servicio de ejecución como
Algunas de estas verificaciones aún se están implementando, por lo que es posible que aún no veas todos los errores. En los mensajes, PRINCIPAL es la cuenta que se verificó. Se lee The caller cuando no se puede nombrar esa cuenta.
| Situación | Lo que verá: | Qué hacer |
|---|---|---|
| Una persona, una automatización o un activador inician una integración, pero no pueden actuar como su cuenta de servicio de ejecución como | Se rechaza la ejecución con el siguiente error:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to run this integration.
|
Otorga el rol de usuario de cuenta de servicio a quien lo inicie. En el caso de un activador, es la cuenta de servicio del activador. |
| Una integración creada a partir del 15 de octubre de 2026 con un activador que no sea de API o privado no tiene una cuenta de servicio de ejecución como. | La publicación y las pruebas fallan con el siguiente error:
Set a run-as service account. These triggers run with no caller:
TRIGGERS. Required for integrations created on or after October 15,
2026 (UTC). |
Configura una cuenta de servicio de ejecución como |
| Una ejecución sin credenciales de usuario no tiene una cuenta de servicio de ejecución como. | Si la administración de la integración está habilitada para la región, la publicación y las pruebas fallarán
con el siguiente error, independientemente de la fecha de creación de la integración:
Your project requires a run-as service account. Set one before publish or
test.
La administración es el parámetro de configuración Habilitar administración que se describe en
Editar
región.
En el caso de las regiones sin administración, el sistema no rechazará estas ejecuciones a partir del
15 de octubre de 2026. Sin embargo, se prevé que los siguientes elementos fallen en una versión futura:
|
Configura una cuenta de servicio de ejecución como |
| Una tarea de Integración de llamadas no puede iniciar su subintegración | La tarea Integración de llamadas de la integración de llamadas falla por uno de los siguientes motivos:
|
Configura una cuenta de servicio de ejecución en la integración secundaria o llámala de forma síncrona. Luego, otorga el rol de usuario de cuenta de servicio. |
| Alguien publica o prueba una integración que usa un perfil de autenticación cuya cuenta de servicio no puede suplantar, o bien una ejecución llega a una tarea que lo usa. | La publicación o la prueba fallan, o la tarea falla, con el siguiente error:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to use auth config
"AUTH_PROFILE_NAME". Si el resto de la ejecución continúa
depende de cómo la tarea maneja los errores. |
Otorga el rol de Usuario de cuenta de servicio en la cuenta que se menciona en el perfil. |
| Alguien crea o edita un perfil de autenticación de cuenta de servicio o token de OIDC sin permiso para actuar como su cuenta de servicio | No se puede guardar el perfil y se muestra el siguiente error:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to save this auth config. |
Otorga el rol de usuario de cuenta de servicio en la cuenta mencionada en el perfil a quien la administre. |
| Un responsable de aprobación no puede actuar como la cuenta de servicio de ejecución | La aprobación o la reanudación de la ejecución fallan con el siguiente error:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to resume this execution.
La ejecución permanece en pausa hasta que vence, por lo que es posible que las aprobaciones parezcan haber dejado de funcionar. |
Otorga el rol de usuario de cuenta de servicio a todas las personas que puedan aprobar la solicitud. |
| Alguien publica o prueba una integración sin permiso para actuar como su cuenta de servicio de ejecución | PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to publish or test this
integration. Todo lo que ya se haya publicado seguirá ejecutándose. Si la automatización publica por ti, esto se muestra en tu canalización de implementación en lugar de en la consola. |
Otorga el rol de usuario de cuenta de servicio a publicadores, verificadores y automatización |
| Una tarea se ejecuta como la persona que la activó, y esa persona no puede acceder al recurso. En una integración nueva y, a partir del 15 de octubre de 2026, en una prueba de cualquier integración, las tareas de JavaScript, Secuencia de comandos del transformador de datos y Asignación de datos se ejecutan de esta manera. | La ejecución comienza normalmente y, luego, falla una tarea que nombra un recurso, aunque no cambió nada en la integración. | Otorga acceso al recurso a esas personas o mueve la integración a una cuenta de servicio de ejecución como que ya lo tenga (por lo general, esta es la mejor respuesta, ya que evita que el acceso de la integración varíe según quién la ejecute). |
Para ver la lista completa de códigos de error de Application Integration, consulta Códigos de error.
Errores de roles de IAM
Además de la cuenta de servicio de ejecución, Application Integration verifica los permisos de IAM del usuario para cada acción. Si encuentras un error de PERMISSION_DENIED cuando interactúas con una integración o si no se cargan los registros de ejecución, asegúrate de tener un rol que otorgue los permisos necesarios:
| Para ello, sigue estos pasos: | Necesitas uno de estos roles |
|---|---|
| Cómo ver y abrir integraciones | roles/integrations.integrationViewer |
| Cómo ver los registros y detalles de ejecución | roles/integrations.integrationViewer o
roles/integrations.integrationInvoker |
| Ejecuta una integración | roles/integrations.integrationInvoker o
roles/integrations.integrationEditor |
| Crea y edita integraciones | roles/integrations.integrationEditor |
| Publica una integración | roles/integrations.integrationDeployer o
roles/integrations.integrationEditor |
| Cómo aprobar o reanudar una ejecución suspendida | roles/integrations.suspensionResolver o
roles/integrations.integrationAdmin |
| Acceso completo a todas las integraciones | roles/integrations.integrationAdmin |
Para otorgar un rol, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:PRINCIPAL' \
--role='ROLE'
Para obtener más información, consulta lo siguiente:
- Roles de IAM predefinidos, para ver la lista completa de roles y los permisos que contiene cada uno
- Control de acceso, para saber cómo Application Integration usa IAM
Un subsidio no corrigió el error
- El subsidio se destinó al proyecto incorrecto. Se debe realizar en el proyecto que posee la cuenta de servicio, que no necesariamente es el que posee la integración.
- Aún no se aplica. Espera unos minutos. Las decisiones de autorización se almacenan en caché brevemente, además de la demora normal de propagación de IAM.
- Hay una segunda cuenta de servicio involucrada. Tu cuenta de servicio de ejecución, la cuenta de servicio de cada perfil de autenticación y la cuenta de servicio de ejecución de cada subintegración son independientes, y cada una necesita su propia concesión.
- El otorgamiento se realizó al principal incorrecto. En el caso de un activador de eventos de Cloud Scheduler, Cloud Pub/Sub, Eventarc o Integration Connectors, la principal que necesita el otorgamiento es la cuenta de servicio del activador, no tú. Consulta Quién necesita la función de usuario de cuenta de servicio.
- El bloqueo es tu propio rol, no la cuenta de servicio. Usuario de cuenta de servicio se refiere a si puedes actuar como la cuenta de servicio de ejecución; un rol de IAM independiente rige si tienes permiso para realizar la acción. Consulta Errores de roles de IAM.