Restringe la entrada a Cloud Run (completamente administrado)

En esta página, se describe cómo usar la configuración de entrada para restringir el acceso de red a tu servicio de Cloud Run. De forma predeterminada, cualquier recurso de Internet puede acceder a tu servicio Cloud Run (completamente administrado) en su URL run.app o en un dominio personalizado configurado en Cloud Run. Puedes cambiar este valor predeterminado si especificas una configuración diferente para la entrada.

Ten en cuenta que puedes usar esta característica junto con los métodos de autenticación de IAM para administrar el acceso a un servicio.

Opciones de configuración de entrada disponibles

Podrás configurar los siguientes parámetros:

Configuración Descripción
todas Permite que se pueda acceder a tu servicio desde la Internet pública. Aún se sigue aplicando el permiso para invocar de IAM.
interna Hace que tu servicio sea privado, lo que permite que solo las solicitudes internas del proyecto accedan a tu servicio. Aún se sigue aplicando el permiso para invocar de IAM.

Actualmente, solo las solicitudes que se originan en las redes de VPC del proyecto se consideran internas.

No hay asistencia para multiusuarios, es decir, varios dominios de confianza dentro del mismo proyecto.
balanceo de cargas interno y en la nube Permite que se pueda acceder a tu servicio desde la Internet pública, pero solo acepta las solicitudes internas y las que llegan a través del balanceo de cargas de HTTP(S). El permiso de Invocador de IAM se seguirá aplicando.

Si usas Identity-Aware Proxy, Google Cloud Armor o Cloud CDN, esto también evitará las omisiones de estos servicios, ya que se accederá a la URL predeterminada.

Información sobre el acceso a servicios internos

Cuando accedes a los servicios internos, llámalos como lo harías con sus URL públicas, ya sea la URL run.app predeterminada o un dominio personalizado configurado en Cloud Run.

Para solicitudes de instancias de VM de Compute Engine o de algún otro recurso que se ejecute dentro de una red de VPC en el mismo proyecto, no se requiere ninguna configuración adicional.

Para solicitudes de otros servicios de Cloud Run o de Cloud Functions en el mismo proyecto, conecta el servicio o la función a una red de VPC y enruta todo el tráfico de salida a través del conector, como se describe enConectarse a una red de VPC. Ten en cuenta que se sigue aplicando el permiso de invocador de IAM.

Las solicitudes de recursos dentro de las redes de VPC en el mismo proyecto se clasifican como internas, incluso si el recurso desde el que se originan tiene una dirección IP pública.

Configura la entrada

Puedes configurar la entrada con cualquiera de los métodos admitidos en las siguientes pestañas:

Console

Si implementas un servicio nuevo, sigue estos pasos:

  1. Ir a Cloud Run

  2. Haz clic en Crear servicio y configura el primer paso (Configuración del servicio) como desees y, luego, haz clic en Siguiente.

  3. Configura el segundo paso (Configura la primera revisión del servicio) como desees y haz clic en Siguiente.

  4. En el tercer paso, Configura cómo se activa este servicio, que se encuentra en la etiqueta Ingress*, selecciona el tráfico de entrada que deseas permitir:

    image

Si estás configurando un servicio existente, haz lo siguiente:

  1. Haz clic en el servicio.

  2. Hacer clic en la pestaña Activadores

  3. En la etiqueta Ingress, selecciona el tráfico de entrada que deseas permitir:

    image

  4. Haz clic en Guardar.

Línea de comandos

  1. Si implementas un servicio nuevo, impleméntalo con la marca --ingress:

    gcloud beta run deploy SERVICE --image IMAGE_URL --platform managed --ingress INGRESS

    Reemplazar

    • INGRESS por una de las configuraciones de entrada disponibles
      • all
      • internal
      • internal-and-cloud-load-balancing
    • SERVICE el nombre de tu servicio.
    • IMAGE_URL por una referencia a la imagen de contenedor, como gcr.io/myproject/my-image:latest
  2. Si cambias una entrada de servicio existente:

    gcloud beta run services update SERVICE --platform managed --ingress INGRESS

    Reemplazar

YAML

Puedes descargar y ver la configuración del servicio existente mediante el comando gcloud run services describe --format export, que genera resultados limpios en formato YAML. Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud beta run services replace. Asegúrate de modificar los campos tal como se indica en la documentación.

  1. Para ver y descargar la configuración:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Actualiza la anotación run.googleapis.com/ingress::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      annotations:
        run.googleapis.com/ingress: INGRESS

    Reemplazar

  3. Reemplaza el servicio por la configuración nueva mediante el comando siguiente:

    gcloud beta run services replace service.yaml

¿Qué sigue?

Puedes usar el Acceso a VPC sin servidores para conectar un servicio de Cloud Run (completamente administrado) directamente a tu red de VPC mediante la configuración de salida.

También puedes usar el balanceo de cargas de HTTP(S) con Cloud Run (completamente administrado).