Usa políticas de SO para mantener configuraciones de software coherentes en instancias de máquinas virtuales (VMs) de Linux y Windows.
Antes de empezar
- Consulta la sección sobre políticas de SO y asignaciones de políticas de SO.
- Consulta las cuotas de OS Config.
- Para generar registros de auditoría de eventos de VM Manager, habilita los registros de auditoría de acceso a datos.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Sistemas operativos compatibles
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.
Permisos
Como puedes usar políticas de SO para instalar y gestionar paquetes de software en una máquina virtual, la creación y gestión de políticas de SO equivale a conceder acceso a la ejecución de código remoto en una máquina virtual. Cuando configuras políticas de SO, los permisos de gestión de identidades y accesos se utilizan para controlar el acceso a los recursos de la política y las actividades se registran en auditorías.
Los propietarios de un proyecto tienen acceso completo para crear y gestionar asignaciones de políticas de SO. En el caso del resto de los usuarios, debes conceder permisos. Puedes conceder uno de los siguientes roles granulares:
- Administrador de asignaciones de políticas de SO (
roles/osconfig.osPolicyAssignmentAdmin
). Contiene permisos para crear, eliminar, actualizar, obtener y enumerar asignaciones de políticas de SO. - Editor de asignaciones de políticas de SO (
roles/osconfig.osPolicyAssignmentEditor
). Contiene permisos para actualizar, obtener y mostrar asignaciones de políticas de SO. - Lector de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Contiene permisos de acceso de solo lectura para obtener y enumerar asignaciones de políticas de SO.
Comando de ejemplo para definir permisos
Para conceder acceso de administrador a un usuario para que pueda asignar políticas de SO, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyectoUSER_ID
: el nombre de usuario de Google Workspace del usuario
Crear una asignación de política de SO
Para crear e implementar una asignación de política de SO, sigue estos pasos:
- Configura VM Manager.
- Asigna los permisos necesarios a los usuarios.
- Consulta Política de SO y asignación de políticas de SO.
- Crea los recursos de la política de SO.
Para crear y lanzar la asignación de política de SO, utiliza uno de los siguientes métodos:
Consola
Para crear e implementar una asignación de política de SO, sigue estos pasos:
- En tu cliente local, crea o descarga una política de SO. Debe ser un archivo JSON o YAML. Para obtener más información sobre cómo crear políticas de SO o ver ejemplos de políticas de SO, consulta Políticas de SO.
En la Google Cloud consola, ve a la página Políticas de SO.
Haz clic en Crear zonal.
En la sección ID de asignación, indica un nombre para la asignación de la política de SO. Consulta Convención de nomenclatura de recursos.
En la sección Políticas de SO, sube el archivo de política de SO.
En la sección Instancias de VM de destino, especifica las VMs de destino.
- Selecciona la zona que contenga las VMs a las que quieras aplicar la política.
- Selecciona las familias de SO.
- Opcional: Puedes filtrar aún más las VMs especificando etiquetas de inclusión y exclusión.
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
Especifica un plan de lanzamiento.
- Especifica el tamaño de la ola (también denominado "presupuesto de interrupción"). Por ejemplo, 10%.
- Especifica el tiempo de espera. Por ejemplo, 15 minutos.
Haz clic en Iniciar lanzamiento.
gcloud
Para crear y lanzar una asignación de política de SO en una zona, sigue estos pasos:
Crea un recurso de asignación de política de SO en formato JSON o YAML. Este archivo define las políticas de SO que quieres aplicar a tus VMs, las VMs de destino a las que quieres aplicar las políticas y la tasa de lanzamiento con la que quieres aplicar las políticas de SO. Para obtener más información sobre este archivo y ver ejemplos de asignaciones, consulta Asignación de políticas de SO.
Usa el comando
os-config os-policy-assignments create
para crear y desplegar la asignación de política de SO en una ubicación especificada.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Haz los cambios siguientes:
OS_POLICY_ASSIGNMENT_ID
: nombre de la asignación de la política del SO. Consulta Convención de nomenclatura de recursos.ZONE
: zona en la que se creará la asignación de política de SO.OS_POLICY_ASSIGNMENT_FILE
: la ruta absoluta al archivo de asignación de política de SO que has creado en el paso anterior.
Ejemplo
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
El resultado debería ser similar al siguiente:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Anota el nombre completo del recurso de la operación. En el ejemplo anterior, el nombre completo del recurso es el siguiente:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Puedes usar este nombre de recurso completo para obtener detalles de un lanzamiento o para cancelarlo. Consulta Lanzamientos.
Terraform
Para crear una asignación de política de SO, usa el recurso
google_os_config_os_policy_assignment
resource.En el siguiente ejemplo se verifica si el servidor web Apache se está ejecutando en VMs CentOS.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
REST
Para crear una asignación de política de SO en tu cliente local, sigue estos pasos:
Crea una asignación de política de SO. Debe ser un archivo JSON. Para obtener más información sobre cómo crear asignaciones de políticas de SO o ver ejemplos de asignaciones de políticas de SO, consulta el artículo Asignación de políticas de SO.
Si quieres usar la asignación de políticas de SO de ejemplo en formato YAML, debes convertirla a JSON.
En la API, crea una solicitud
POST
al métodoprojects.locations.osPolicyAssignments.create
.En el cuerpo de la solicitud, pega las especificaciones de asignación de la política del SO del paso anterior.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/osPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyectoOS_POLICY_ASSIGNMENT_ID
: nombre de la asignación de la política del SOJSON_OS_POLICY
: las especificaciones de la asignación de política de SO creadas en el paso anterior. Debe estar en formato JSON. Para obtener más información sobre los parámetros y el formato, consultaResource: OSPolicyAssignment
.ZONE
: zona en la que se creará la asignación de política de SO
Ejemplo
Por ejemplo, para crear una asignación de política de SO para Google Cloud Observability que instale agentes de monitorización y registro en las VMs seleccionadas mediante la asignación de política de SO de ejemplo, sigue estos pasos:
- Convertir la muestra a JSON
- Haz la siguiente solicitud:
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/osPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { "osPolicies": [ { "id": "setup-repo-and-install-package-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "setup-repo", "repository": { "yum": { "id": "google-cloud-monitoring", "displayName": "Google Cloud Monitoring Agent Repository", "baseUrl": "https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el8-x86_64-all", "gpgKeys": [ "https://packages.cloud.google.com/yum/doc/yum-key.gpg", "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" ] } } }, { "id": "install-pkg", "pkg": { "desiredState": "INSTALLED", "yum": { "name": "stackdriver-agent" } } } ] } ] } ], "instanceFilter": { "inclusionLabels": [ { "labels": { "used_for": "testing" } } ] }, "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": { "seconds": 300 } } }
Implementaciones
Las asignaciones de políticas de SO se implementan según una tasa de lanzamiento. Esto significa que las asignaciones que se dirigen a un conjunto de VMs se pueden implementar gradualmente y no se aplican a todas las VMs inmediatamente. Los cambios se implementan de forma gradual para que tengas la oportunidad de intervenir y cancelar una implementación si los nuevos cambios provocan regresiones.
Cuando las llamadas de método a una API pueden tardar mucho en completarse, la API devuelve una operación de larga duración (LRO). Para obtener más información sobre las operaciones de larga duración, consulta Operaciones de larga duración.
La API OS Config crea un LRO cada vez que creas, actualizas o eliminas una asignación de política de SO. Cada LRO devuelve un recurso de operación. Este recurso de operación es similar al siguiente:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Cada operación de creación, actualización o eliminación también genera una nueva revisión de la asignación de política de SO. Para ver las revisiones de una asignación de política de SO, consulta Listar revisiones de asignaciones de políticas de SO.
Puedes usar la CLI de Google Cloud para obtener los detalles de un lanzamiento o para cancelar un lanzamiento.
Obtener detalles de un lanzamiento
Para obtener información sobre un lanzamiento, usa el comando
os-config os-policy-assignments operations describe
.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Sustituye
FULLY_QUALIFIED_OPERATION_NAME
por el nombre de recurso completo de la operación que se devuelve de la operación de creación, actualización o eliminación.Ejemplo
gcloud compute os-config os-policy-assignments operations describe \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Ejemplo
done: true metadata: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignmentOperationMetadata apiMethod: CREATE osPolicyAssignment: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment@cfb78790-41d8-40d1-b8a1-1eaf6011b909 rolloutStartTime: '2021-04-15T00:53:52.963569Z' rolloutState: SUCCEEDED rolloutUpdateTime: '2021-04-15T00:53:53.094041Z' name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/cfb78790-41d8-40d1-b8a1-1eaf6011b909 response: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignment baseline: true description: My test policy instanceFilter: inclusionLabels: - labels: label-key-not-targeting-instances: label-value-not-targeting-instances name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment osPolicies: - id: q-test-policy mode: ENFORCEMENT resourceGroups: - osFilter: osShortName: centos osVersion: '7' resources: - id: add-repo repository: yum: baseUrl: https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el7-x86_64-all
Cancelar un lanzamiento
Consola
En la Google Cloud consola, ve a la página Políticas de SO.
Haz clic en la pestaña Asignaciones zonales.
En la asignación de la política del SO cuyo lanzamiento quieras cancelar, haz clic en Acción (> Cancelar lanzamiento.
)Haz clic en Cancelar lanzamiento.
gcloud
Para cancelar un lanzamiento, usa el comando
gcloud compute os-config os-policy-assignments operations cancel
.gcloud compute os-config os-policy-assignments operations cancel FULLY_QUALIFIED_OPERATION_NAME
Sustituye
FULLY_QUALIFIED_OPERATION_NAME
por el nombre de recurso completo de la operación que se devuelve de la operación de creación, actualización o eliminación.Ejemplo
gcloud compute os-config os-policy-assignments operations cancel \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Si el comando se ejecuta correctamente, no se devuelve ningún resultado.
Siguientes pasos
- Consulta más información sobre las políticas de SO.
- Gestionar asignaciones de políticas de SO.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-