Cloud Build te permite definir una política de la organización
(constraints/cloudbuild.allowedIntegrations
) para controlar
qué servicios externos pueden invocar activadores de compilación. Por ejemplo, si tu activador detecta cambios en un repositorio de GitHub y GitHub se rechaza en la política de la organización, no se ejecutará. Puedes especificar cualquier cantidad de valores permitidos o rechazados para tu organización o proyecto.
En esta página, se explica cómo configurar la política de la organización (constraints/cloudbuild.allowedIntegrations
) para las integraciones con la consola de Google Cloud y la herramienta de línea de comandos gcloud
.
Antes de comenzar
-
Enable the Cloud Build and Organization Policy APIs.
Para usar los ejemplos de la línea de comandos de esta guía, instala y configura el SDK de Google Cloud.
Si deseas establecer, cambiar o borrar una política de la organización, debes tener el rol de Administrador de políticas de la organización (
roles/orgpolicy.policyAdmin
). Para obtener información sobre cómo agregar el rol a tu cuenta, consulta Agrega un administrador de políticas de la organización.
Configura la política de la organización para las integraciones permitidas
En esta sección, se explica cómo puedes configurar la política de la organización (constraints/cloudbuild.allowedIntegrations
) para definir compilaciones para las integraciones permitidas.
Console
Abre la página Políticas de la organización en la consola de Google Cloud.
Haz clic en la fila que contiene la política Allowed Integrations (Cloud Build).
Verás la página Detalles de la política.
Para editar la política, haz clic en Editar.
Verás la página Editar política.
En la sección Se aplica a, selecciona Personalizar para establecer la definición de tu política.
En la sección Aplicación de la política, selecciona Reemplazar para definir tus propias reglas para la política. De lo contrario, selecciona Combinar con superior para asegurarte de que las reglas del recurso superior se apliquen a tu configuración. Para obtener más información, consulta Comprende la evaluación de jerarquías.
En la sección Rules, haz clic en Add rule para agregar una regla nueva a tu política.
En Valores de la política, selecciona Permitir todo para permitir compilaciones de todos los servicios, Rechazar todo para rechazar compilaciones de todos los servicios o Personalizado para permitir o rechazar compilaciones de servicios específicos.
Si seleccionas Personalizado como valor, sigue estos pasos:
En la sección Tipo de política, selecciona Permitir o Rechazar.
En la sección Valores personalizados, ingresa la URL del host de la instancia o el repositorio desde el que deseas permitir o denegar compilaciones. Por ejemplo, para permitir o denegar compilaciones desde GitHub, ingresa tu URL como
github.com
owww.github.com
.También puedes ingresar varias URLs separadas por un espacio. Por ejemplo,
github.com ghe.staging-test.com
.Según el evento, la URL del host que especifiques es una de las siguientes:
- Evento de RepoSync: El host es
source.developers.google.com
. - Evento de la app de GitHub: El host se deriva del campo
repository.html_url
en tu carga útil de JSON, que siempre esgithub.com
. - Evento de GitHub Enterprise: El host se deriva del campo
repository.html_url
en tu carga útil de JSON. Por ejemplo,ghe.staging-test.com
- Evento de Pub/Sub: El host se deriva de la fuente especificada en tu activador. Si no se especifica ninguna fuente en el activador, no se realiza ninguna verificación de políticas de la organización.
- Evento de webhook: El host se deriva de la fuente especificada en tu activador. Si no se especifica ninguna fuente en el activador, se realiza una verificación de la política de la organización.
- Evento de RepoSync: El host es
Para guardar la regla, haz clic en Listo.
Para agregar otra regla, haz clic en Agregar regla. De lo contrario, haz clic en Guardar para guardar la política.
gcloud
Abre una ventana de terminal.
Si deseas permitir o denegar compilaciones de todos los servicios, crea un archivo YAML con el siguiente contenido:
name: projects/PROJECT_NUMBER/policies/cloudbuild.allowedIntegrations spec: inheritFromParent: INHERIT rules: - ALLOW_OR_DENY: true
Aquí:
PROJECT_NUMBER
es tu número de proyecto.INHERIT
estrue
si deseas que las reglas de tu política se hereden del recurso superior. De lo contrario,false
.ALLOW_OR_DENY
esallowAll
si deseas permitir compilaciones de todas las URLs de host. De lo contrario, esdenyAll
.HOST_URL
es la URL de tu host. Por ejemplo,github.com
También puedes especificar URLs adicionales en las siguientes líneas.
Si deseas permitir o rechazar compilaciones de servicios seleccionados, crea un archivo YAML con el siguiente contenido:
name: projects/PROJECT_NUMBER/policies/cloudbuild.allowedIntegrations spec: inheritFromParent: INHERIT rules: - values: ALLOW_OR_DENY: HOST_URL ...
Aquí:
PROJECT_NUMBER
es tu número de proyecto.INHERIT
estrue
si deseas que las reglas de tu política se hereden del recurso superior. De lo contrario,false
.ALLOW_OR_DENY
esallowedValues
si deseas especificar URLs de host desde las que se permiten compilaciones. De lo contrario,deniedValues
.HOST_URL
es la URL de tu host. Por ejemplo,github.com
También puedes especificar URLs adicionales en las siguientes líneas.
Ejecuta el siguiente comando para establecer la política de tu organización, en el que FILE_NAME es el nombre de tu archivo YAML:
gcloud org-policies set-policy FILE_NAME
Para confirmar que se configuró tu política, ejecuta el siguiente comando, en el que PROJECT_ID es el ID de tu proyecto:
gcloud org-policies describe cloudbuild.allowedIntegrations --effective --project PROJECT_ID
Prueba la política de la organización para las integraciones permitidas
En esta sección, se explica cómo puedes probar la política de tu organización (constraints/cloudbuild.allowedIntegrations
) con activadores de compilación.
Si aún no lo hiciste, crea un activador de compilación.
Envía un cambio a tu fuente.
Si tu política está configurada para permitir compilaciones desde tu fuente, podrás ver las ejecuciones de compilación desde tu activador en la página Historial de compilaciones. De lo contrario, no se ejecutará la compilación. Para ver el historial de compilaciones restringidas por la definición de tu política, consulta la página Explorador de registros y busca el motivo de la carga útil de JSON y el motivo del rechazo.
¿Qué sigue?
- Aprende a crear y administrar activadores de compilación.
- Obtén información para limitar compilaciones en la aprobación.
- Obtén más información sobre los permisos necesarios para ver los registros de compilación.
- Obtén más información sobre los registros de auditoría creados por Cloud Build.