Una política de SO es un archivo que contiene la configuración declarativa de los recursos del SO, como paquetes, repositorios, archivos o recursos personalizados definidos por secuencias de comandos. Para obtener más información, consulta la definición de recursos de OSPolicy
.
Una asignación de políticas de SO es un recurso de API que usa Gestor de VMs para aplicar políticas de SO a las VMs. Para obtener más información, consulta la definición de recursos de OSPolicyAssignment
.
Política de SO
Una política de SO es un archivo JSON o YAML que tiene tres secciones:
Modo. El comportamiento de la política. Están disponibles los dos modos siguientes:
Validation
: en este modo, la política comprueba si los recursos están en el estado elegido, pero no toma ninguna medida.Enforcement
: en este modo, la política comprueba si los recursos se encuentran en el estado elegido y, si no es así, realiza las acciones necesarias para que alcancen ese estado.
En ambos modos, VM Manager informa del cumplimiento de la política de SO y de los recursos asociados.
Grupos de recursos El nombre y la versión del sistema operativo al que se aplican las especificaciones de recursos asociadas. Por ejemplo, puedes definir una sola política para instalar o implementar un agente en diferentes distribuciones y versiones de sistemas operativos.
Recursos: Las especificaciones necesarias para que la VM alcance la configuración seleccionada. Puedes especificar un máximo de 10 IDs de recursos en cada grupo de recursos. Se admiten los siguientes tipos de recursos:
pkg
: se usa para instalar o quitar paquetes de Linux y Windows.repository
: se usa para especificar desde qué repositorio se pueden instalar paquetes de software.exec
: se usa para habilitar la ejecución de una shell ad hoc (/bin/sh
) o una secuencia de comandos de PowerShell.
.file
: se usa para gestionar archivos en el sistema.
Ejemplos de políticas de SO
En los siguientes ejemplos se muestra cómo crear políticas de SO. Puedes subir estas políticas de SO a la consola al crear una asignación de política de SO. Google Cloud
- Ejemplo 1: instala un paquete.
- Ejemplo 2: ejecuta una secuencia de comandos.
- Ejemplo 3: ejecuta una secuencia de comandos almacenada en un segmento de Cloud Storage y copia el archivo de salida en un segmento de Cloud Storage.
- Ejemplo 4: especifica un repositorio de descargas e instala paquetes de ese repositorio.
- Ejemplo 5: configura el análisis de la prueba comparativa de CIS en máquinas virtuales que ejecutan Container-Optimized OS (COS). Para obtener más información sobre cómo usar la política de SO para analizar las comparativas del CIS, consulta Automatizar la habilitación y la comprobación del estado de cumplimiento del CIS.
Para ver una lista completa de políticas de SO de ejemplo que puedes aplicar en tu entorno, consulta el repositorio de GitHub GoogleCloudPlatform/osconfig.
Ejemplo 1
Crea una política de SO que instale un archivo MSI de Windows descargado de un segmento de Cloud Storage.
Ejemplo 2
Crea una política de SO que verifique si el servidor web Apache se está ejecutando en tus máquinas virtuales Linux.
Ejemplo 3
Crea una política de SO que verifique si el servidor web Apache se está ejecutando en tus máquinas virtuales Linux. En este ejemplo, la secuencia de comandos apache-validate.sh
se almacena en un segmento de Cloud Storage. Para copiar la salida en un segmento de Cloud Storage, la secuencia de comandos apache-enforce.sh
debe incluir un comando similar al siguiente:
gcsutil cp my-exec-output-file gs://my-gcs-bucket
Ejemplo 4
Crea una política de SO que instale agentes de Google Cloud Observability en máquinas virtuales CentOS.
Ejemplo 5
Configura la comprobación periódica de nivel 1 de CIS con el periodo predeterminado de una vez al día.
Asignación de política de SO
Una asignación de política de SO tiene las siguientes secciones:
Políticas de SO. Una o varias políticas de SO que quieras aplicar a tu VM. Para descargar o crear una política, consulta Políticas de SO.
Máquinas virtuales de destino. Un conjunto de VMs de una sola zona a las que quieras aplicar la política. En una zona, puedes limitar o restringir las VMs mediante familias de SO e incluir o excluir etiquetas. Puedes seleccionar una combinación de las siguientes opciones:
- Familias de SO: especifica los sistemas operativos de destino a los que se aplica la política de SO. Para ver una lista completa de los sistemas operativos y las versiones que admiten las políticas de SO, consulta los detalles del sistema operativo.
- Incluir conjunto: especifica las VMs a las que se aplica la política de SO en función de las etiquetas de VM o del sistema.
- Conjunto de exclusión: especifica las VMs que debe ignorar la política de SO en función de las etiquetas de VM o del sistema.
En el caso de los conjuntos de etiquetas de inclusión y exclusión, se acepta una sola etiqueta de cadena si coincide con la convención de nomenclatura que usa el sistema. Sin embargo, la mayoría de las etiquetas se especifican en pares
key:value
. Para obtener más información sobre las etiquetas, consulta el artículo Etiquetar recursos.Por ejemplo, puedes seleccionar todas las máquinas virtuales de Ubuntu de tu entorno de pruebas y excluir las que ejecutan Google Kubernetes Engine especificando lo siguiente:
- Familia del SO:
ubuntu
- Incluye:
env:test
,env:staging
- Excluir:
goog-gke-node
Una tasa de lanzamiento. Especifica el ritmo al que se aplican las políticas del SO a las VMs. Las políticas del SO se implementan gradualmente para que puedas monitorizar el estado del sistema y hacer modificaciones si las actualizaciones provocan regresiones en tu entorno. Un plan de lanzamiento tiene los siguientes componentes:
- Tamaño de la oleada (presupuesto de interrupción): número fijo o porcentaje de las VMs que pueden experimentar un lanzamiento a la vez. Esto significa que, en cualquier momento del lanzamiento, solo se segmenta un número específico de VMs.
- Tiempo de espera: tiempo que transcurre entre el momento en que el servicio aplica las políticas a la VM y el momento en que se elimina la VM del umbral de interrupción. Por ejemplo, si el tiempo de espera es de 15 minutos, el proceso de lanzamiento debe esperar 15 minutos después de aplicar las políticas a una VM para poder eliminarla del umbral de interrupción y continuar con el lanzamiento. El tiempo de espera ayuda a controlar la velocidad de un lanzamiento y también te permite detectar y resolver posibles problemas de lanzamiento con antelación. Selecciona un periodo lo suficientemente largo como para monitorizar el estado de tus lanzamientos.
Por ejemplo, si define un objetivo de 10 VMs, un umbral de interrupción del 20 % y un tiempo de estabilización de 15 minutos, en cualquier momento solo se programarán 2 VMs para que se actualicen. Después de actualizar cada VM, deben transcurrir 15 minutos antes de que se elimine del umbral de interrupción y se añada otra VM a la implementación.
Para obtener más información sobre los lanzamientos, consulta Lanzamientos.
Ejemplo de asignación de política de SO
En los siguientes ejemplos se muestra cómo crear asignaciones de políticas de SO. Puedes usar estos ejemplos para crear asignaciones de políticas de SO desde la CLI de Google Cloud o la API OS Config.
- Ejemplo 1: instala un paquete.
- Ejemplo 2: ejecuta una secuencia de comandos.
- Ejemplo 3: especifica un repositorio de descargas e instala paquetes de ese repositorio.
Para ver una lista de asignaciones de políticas de SO de ejemplo que puedes aplicar en tu entorno, consulta el repositorio de GitHub GoogleCloudPlatform/osconfig.
Ejemplo 1
Crea una asignación de política de SO que instale un archivo MSI de Windows descargado de un segmento de Cloud Storage.
Ejemplo 2
Crea una asignación de políticas de SO que verifique si el servidor web Apache se está ejecutando en todas tus VMs Linux.
Ejemplo 3
Crea una asignación de política de SO que instala agentes de observabilidad de Google Cloud en máquinas virtuales CentOS.
Siguientes pasos
- Más información sobre las políticas de SO
- Crea una asignación de política de SO.
- Gestionar políticas de SO.