Usa la autenticación con destinos de HTTP

Cloud Scheduler puede llamar a objetivos HTTP que requieren autenticación si configuras una cuenta de servicio asociada que tiene las credenciales adecuadas.

Configurar una cuenta de servicio

Una cuenta de servicio suele ser utilizada por una aplicación o carga de trabajo de procesamiento, y se identifica por su dirección de correo electrónico, que es única para la cuenta.

Las aplicaciones pueden usar cuentas de servicio para realizar llamadas autorizadas a la API autenticándose como la cuenta de servicio en sí y accediendo a todos los recursos a los que la cuenta de servicio tiene permiso para acceder.

La forma más común de permitir que una aplicación se autentique como una cuenta de servicio es conectar una cuenta de servicio al recurso que ejecuta la aplicación. Luego, puedes otorgar roles de Identity and Access Management (IAM) a la cuenta de servicio para permitir que la cuenta de servicio acceda a los Google Cloud recursos.

  1. Si aún no tienes una cuenta de servicio que quieras usar para los trabajos de Cloud Scheduler con destinos HTTP, crea una nueva. Ten en cuenta la siguiente información:

    • La cuenta de servicio debe pertenecer al proyecto en el que se crea el trabajo de Cloud Scheduler.

    • No uses el agente de servicio de Cloud Scheduler (service-PROJECT_NUMBER@gcp-sa-cloudscheduler.iam.gserviceaccount.com). No se puede usar para este propósito.

    • No revoques el rol de agente de servicio de Cloud Scheduler (roles/cloudscheduler.serviceAgent) del agente de servicio de Cloud Scheduler en tu proyecto. Si lo haces, se generarán respuestas 403 en los extremos que requieran autenticación, incluso si la cuenta de servicio de tu trabajo tiene el rol adecuado.

  2. Si tu objetivo está dentro de Google Cloud, otorga los roles de IAM necesarios a tu cuenta de servicio. Cada servicio dentro de Google Cloud requiere un rol específico, y el servicio receptor verifica automáticamente el token generado.

    Por ejemplo, para Cloud Run y la versión más reciente de Cloud Run Functions, debes otorgar el rol de Invocador de Cloud Run (roles/run.invoker), mientras que, para Cloud Run Functions (1ª gen.), debes otorgar el rol de Invocador de Cloud Functions (roles/cloudfunctions.invoker).

    Para obtener el permiso que necesitas para vincular una cuenta de servicio a un recurso, pídele a tu administrador que te otorgue el rol de IAM de Usuario de cuenta de servicio (roles/iam.serviceAccountUser) en la cuenta de servicio. Este rol predefinido contiene el permiso iam.serviceAccounts.actAs, que se requiere para conectar una cuenta de servicio a un recurso. (Si creaste la cuenta de servicio, se te otorga este permiso de forma automática).

    En el paso anterior, si creaste específicamente una cuenta de servicio para invocar el servicio al que se dirige tu trabajo de Cloud Scheduler, puedes seguir el principio de privilegio mínimo vinculando la cuenta y su permiso de invocador a tu servicio de destino:

    Console

    1. En la consola de Google Cloud , en la página del selector de proyectos, selecciona un proyecto deGoogle Cloud .