Autentica a desarrolladores

Además de las acciones administrativas, como crear, actualizar y borrar servicios, los desarrolladores quieren probar los servicios de forma privada antes de publicarlos. Esta opción es para los servicios de Cloud Run, no los trabajos de Cloud Run.

Antes de comenzar

Asegúrate de otorgar permisos para acceder a los servicios a los que te autenticas. Debes otorgar la función de invocador de Cloud Run al desarrollador o al grupo de desarrolladores:

IU de Console

  1. Ve a la consola de Google Cloud:

    Ir a la consola de Google Cloud

  2. Selecciona el servicio, pero no hagas clic en él.

  3. Haz clic en la pestaña Permisos en el panel lateral derecho. (Es posible que primero debas hacer clic en Mostrar panel de información en la esquina superior derecha).

  4. Haz clic en Agregar miembros.

  5. En el campo Agregar miembros, ingresa el correo electrónico de la cuenta del desarrollador.

  6. Selecciona la función de Cloud Run Invoker en el menú desplegable Seleccionar una función.

  7. Haz clic en Guardar.

gcloud

Usa el comando gcloud run services add-iam-policy-binding:

gcloud run services add-iam-policy-binding SERVICE \
  --member='USER:EMAIL' \
  --role='roles/run.invoker'

En el ejemplo anterior, se ilustra lo siguiente:

  • SERVICE es el nombre del servicio.
  • USER es el valor user o group, según si autorizas a un solo desarrollador o a un grupo.
  • EMAIL es la cuenta de correo electrónico.

    Por ejemplo:

    gcloud run services add-iam-policy-binding myservice \
    --member='user:test-user@gmail.com' \
    --role='roles/run.invoker'
    

Prueba tu servicio privado

Usa el proxy de Cloud Run en Google Cloud CLI

La forma más fácil de probar los servicios privados es usar el proxy de Cloud Run en Google Cloud CLI. De esta forma, se envía mediante proxy el servicio privado a http://localhost:8080 (o al puerto especificado con --port) y se proporciona el token de la cuenta activa o cualquier otro token que especifiques. Esto te permite usar un navegador web o una herramienta como curl.
Esta es la forma recomendada de probar de manera privada un sitio web o una API en el navegador.

Puedes enviar un proxy de un servicio de forma local con el siguiente comando:

gcloud beta run services proxy SERVICE --project PROJECT-ID

Usa curl

Como alternativa, puedes probar servicios privados sin el proxy mediante una herramienta como curl y pasando un token de autenticación en el encabezado Authorization:

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

A fin de que el comando curl funcione, debes pasar un token de identidad válido para un usuario con el permiso run.routes.invoke, como administrador de Cloud Run o invocador de Cloud Run. Consulta las funciones de IAM de Cloud Run para ver la lista completa de las funciones y los permisos asociados con estas.

Como se muestra en el ejemplo, a fin de obtener un token de identidad válido para la identidad que accedió a gcloud y se encuentra activa, puedes usar gcloud auth print-identity-token. Ten en cuenta que los tokens de ID generados con el comando gcloud se deben usar solo en una configuración de desarrollo, ya que no requiere que se especifique el “público”. Exigir audience reduce el riesgo de ataques de repetición. Por el contrario, audience es obligatorio cuando se generan tokens a partir de cuentas de servicio.