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
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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:
Hacer clic en Crear servicio para ver el formulario Create service (Crear servicio):
En el formulario que se muestra, haz lo siguiente:
- Selecciona Cloud Run como tu plataforma de desarrollo.
- Selecciona la región donde quieres que se ubique el servicio.
- Especifica el nombre que deseas asignarle al servicio, por ejemplo,
test-service
. Haz clic en Siguiente para ir a la página Configurar la primera revisión del servicio:
En el formulario, haz lo siguiente:
- Selecciona Implementar una revisión desde una imagen de contenedor existente.
Usa
us-docker.pkg.dev/cloudrun/container/hello
como la imagen de contenedor.Expande la sección Configuración avanzada.
Haz clic en la pestaña Seguridad.
Selecciona la casilla de verificación Verificar la implementación del contenedor con la autorización binaria:
De forma predeterminada, la política de autorización binaria permite que se implementen todas las imágenes.
Haz clic en Siguiente para ir a la página Configurar cómo se activa este servicio:
Selecciona Allow unauthenticated invocations (Permitir invocaciones no autenticadas) para poder abrir el resultado en el navegador web.
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:
-
Haz clic en Editar política.
En Regla predeterminada del proyecto, ten en cuenta que la opción Permitir todas las imágenes está seleccionada.
Ahora, modifica la política para bloquear todas las imágenes para que no se implementen, de la siguiente manera:
Ve a la página Autorización binaria (Binary Authorization) en la consola de Google Cloud.
Haz clic en Editar política.
En Regla predeterminada, selecciona No permitir ninguna imagen.
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:
Haz clic en el nombre del servicio que implementaste antes en esta guía.
Haz clic en Editar e implementar nueva revisión.
Haz clic en Implementar.
Podría aparecer un mensaje de error similar a este:
Service update rejected by Binary Authorization policy: RevisionREVISION
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:
Ve a la página Autorización binaria (Binary Authorization) en la consola de Google Cloud.
Haz clic en Editar política.
Selecciona Permitir todas las imágenes.
Para guardar la política, haz clic en Guardar política.
Ahora puedes implementar imágenes.
Libera espacio
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:
Buscar el servicio que deseas borrar en la lista de servicios y hacer clic en su casilla de verificación para seleccionarlo
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?
Usa anulación de emergencia para omitir la aplicación de la autorización binaria.
Usa el certificador
built-by-cloud-build
para implementar solo imágenes compiladas por Cloud Build.Configura la política de autorización binaria mediante la consola de Google Cloud o la herramienta de línea de comandos.