Configura una política de autorización binaria con Cloud Run

En esta guía de inicio rápido, se muestra cómo configurar y probar una regla básica en una política de autorización binaria con Cloud Run.

En esta guía de inicio rápido, usarás la autorización binaria para controlar la implementación de un servicio de Cloud Run.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita las API de Cloud Run, Artifact Registry, Binary Authorization.

    Habilita las API

  5. Instala Google Cloud CLI.
  6. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  7. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  8. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  9. Habilita las API de Cloud Run, Artifact Registry, Binary Authorization.

    Habilita las API

  10. Instala Google Cloud CLI.
  11. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init

Crea un servicio con la autorización binaria habilitada

Para crear un servicio de Cloud Run con la autorización binaria habilitada, sigue estos pasos:

  1. Ir a Cloud Run

  2. Hacer clic en Crear servicio para ver el formulario Create service (Crear servicio):

    imagen

    En el formulario que se muestra, haz lo siguiente:

    1. Selecciona Cloud Run como tu plataforma de desarrollo.
    2. Selecciona la región donde quieres que se ubique el servicio.
    3. Especifica el nombre que deseas asignarle al servicio, por ejemplo, test-service.
    4. Haz clic en Siguiente para ir a la página Configurar la primera revisión del servicio:

      En el formulario, haz lo siguiente:

      1. Selecciona Implementar una revisión desde una imagen de contenedor existente.
      2. Usa us-docker.pkg.dev/cloudrun/container/hello como la imagen de contenedor.

      3. Expande la sección Configuración avanzada.

      4. Haz clic en la pestaña Seguridad.

      5. Selecciona la casilla de verificación Verificar la implementación del contenedor con la autorización binaria:

        imagen

        De forma predeterminada, la política de autorización binaria permite que se implementen todas las imágenes.

      6. Haz clic en Siguiente para ir a la página Configurar cómo se activa este servicio:

        imagen

      7. Selecciona Allow unauthenticated invocations (Permitir invocaciones no autenticadas) para poder abrir el resultado en el navegador web.

      8. Haz clic en Crear para implementar la imagen en Cloud Run y espera a que termine la implementación.

      Se implementó tu servicio. Las revisiones están sujetas a la aplicación de la política de autorización binaria.

Actualiza la política de autorización binaria para inhabilitar todas las imágenes

La política de autorización binaria contiene una regla predeterminada. Esta regla rige la implementación del servicio de Cloud Run que acabas de crear.

De forma predeterminada, la regla permite que se implementen todas las imágenes de contenedor.

Para ver la política predeterminada, haz lo siguiente:

  1. Ve a Autorización binaria

    Captura de pantalla de la pestaña de la política que muestra la regla predeterminada

  2. Haz clic en Editar política.

  3. En Regla predeterminada del proyecto, ten en cuenta que la opción Permitir todas las imágenes está seleccionada.

    Captura de pantalla de la opción para elegir un tipo de regla predeterminado

Ahora, modifica la política para bloquear todas las imágenes para que no se implementen, de la siguiente manera:

  1. Ve a la página Autorización binaria (Binary Authorization) en la consola de Google Cloud.

    Ve a Autorización binaria

  2. Haz clic en Editar política.

  3. En Regla predeterminada, selecciona No permitir ninguna imagen.

    Captura de pantalla de la opción para elegir un tipo de regla predeterminado

  4. Haga clic en Save Policy.

Vuelve a implementar el servicio

Prueba la política actualizada mediante la implementación de una revisión nueva

Para implementar la imagen, haz lo siguiente:

  1. Ir a Cloud Run

  2. Haz clic en el nombre del servicio que implementaste antes en esta guía.

  3. Haz clic en Editar e implementar nueva revisión.

  4. Haz clic en Implementar.

Podría aparecer un mensaje de error similar a este:

Service update rejected by Binary Authorization policy: Revision
REVISION uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA' is not authorized by policy. Denied by an ALWAYS_DENY admission rule

Restablece la política para permitir todas las imágenes

Para restablecer la política a fin de permitir todas las imágenes, haz lo siguiente:

  1. Ve a la página Autorización binaria (Binary Authorization) en la consola de Google Cloud.

    Ve a Autorización binaria

  2. Haz clic en Editar política.

  3. Selecciona Permitir todas las imágenes.

  4. Para guardar la política, haz clic en Guardar política.

Ahora puedes implementar imágenes.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

Para borrar el servicio que creaste en Cloud Run, haz lo siguiente:

  1. Ir a Cloud Run

  2. Buscar el servicio que deseas borrar en la lista de servicios y hacer clic en su casilla de verificación para seleccionarlo

  3. Haz clic en Borrar. Esta acción borra todas las revisiones del servicio

Para inhabilitar la autorización binaria, consulta Inhabilita la autorización binaria.

¿Qué sigue?