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
- 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.
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API de Cloud Run, Artifact Registry, Binary Authorization.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API de Cloud Run, Artifact Registry, Binary Authorization.
- Instala Google Cloud CLI.
-
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:
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.
Haga 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.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron 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 (Vista previa).Configura la política de autorización binaria mediante la consola de Google Cloud o la herramienta de línea de comandos.