Utilice políticas de sistema operativo para mantener configuraciones de software coherentes en instancias de máquinas virtuales (VM) de Linux y Windows.
Antes de comenzar
- Revise la política del sistema operativo y la asignación de políticas del sistema operativo .
- Revise las cuotas de configuración del sistema operativo .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Administrador de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentAdmin
). Contiene permisos para crear, eliminar, actualizar, obtener y enumerar asignaciones de políticas del sistema operativo. - Editor de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
). Contiene permisos para actualizar, obtener y enumerar asignaciones de políticas del sistema operativo. - Visor de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Contiene permisos de acceso de solo lectura para obtener y enumerar asignaciones de políticas del sistema operativo. -
PROJECT_ID
: el ID del proyecto -
USER_ID
: el nombre de usuario de Google Workspace del usuario - Configure el Administrador de VM .
- Asigne los permisos necesarios a los usuarios.
- Revise la política del sistema operativo y la asignación de políticas del sistema operativo .
- Cree los recursos de política del sistema operativo .
Para crear e implementar la asignación de política del sistema operativo, utilice uno de los siguientes métodos:
Consola
Para crear e implementar una asignación de política de sistema operativo, complete los siguientes pasos:
- En su cliente local, cree o descargue una política de sistema operativo. Debe ser un archivo JSON o YAML. Para obtener más información sobre la creación de políticas de sistema operativo o para ver ejemplos de políticas de sistema operativo, consulte Políticas de sistema operativo .
En la consola de Google Cloud, vaya a la página de políticas del sistema operativo .
Haga clic en Crear asignación de política de sistema operativo .
En la sección ID de asignación , proporcione un nombre para la asignación de política del sistema operativo. Consulte Convención de nomenclatura de recursos .
En la sección de políticas del sistema operativo , cargue el archivo de políticas del sistema operativo.
En la sección Instancias de VM de destino , especifique las VM de destino.
- Seleccione la zona que contiene las máquinas virtuales a las que desea aplicar la política.
- Seleccione las familias de sistemas operativos.
- Opcional: puede filtrar aún más las máquinas virtuales especificando etiquetas de inclusión y exclusión.
Por ejemplo, puede seleccionar todas las máquinas virtuales de Ubuntu en su entorno de prueba y excluir aquellas que ejecutan Google Kubernetes Engine, especificando lo siguiente:
- Familia de sistemas operativos:
ubuntu
- Incluye:
env:test
,env:staging
- Excluir:
goog-gke-node
Especifique un plan de implementación.
- Especifique el tamaño de la ola (también conocido como presupuesto de interrupción). Por ejemplo, el 10%.
- Especifique el tiempo de espera. Por ejemplo, 15 minutos.
Haga clic en Iniciar implementación .
nube de gcloud
Para crear e implementar una asignación de política de sistema operativo en una zona, complete los siguientes pasos:
Cree un recurso de asignación de políticas del sistema operativo en formato JSON o YAML. Este archivo define las políticas del sistema operativo que desea aplicar a sus máquinas virtuales, las máquinas virtuales de destino a las que desea aplicar las políticas y la tasa de implementación a la que aplicar las políticas del sistema operativo. Para obtener más información sobre este archivo y asignaciones de muestra, consulte Asignación de política del sistema operativo .
Utilice el comando
os-config os-policy-assignments create
para crear e implementar la asignación de política del sistema operativo en una ubicación específica.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Reemplace lo siguiente:
-
OS_POLICY_ASSIGNMENT_ID
: nombre de la asignación de política del sistema operativo. Consulte Convención de nomenclatura de recursos . -
ZONE
: zona en la que crear la asignación de política del sistema operativo. -
OS_POLICY_ASSIGNMENT_FILE
: la ruta absoluta al archivo de asignación de políticas del sistema operativo que creó 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 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.
-
Tome nota del nombre completo del recurso para la operación. En el ejemplo anterior, el nombre de recurso completo es:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Puede utilizar este nombre de recurso completo para obtener detalles para una implementación o para cancelar una implementación. Consulte Implementaciones .
Terraformar
Para crear una asignación de política de sistema operativo, utilice el recurso
google_os_config_os_policy_assignment
.El siguiente ejemplo verifica si el servidor web Apache se ejecuta en máquinas virtuales CentOS.
Para aprender cómo aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .
DESCANSAR
Para crear una asignación de política de sistema operativo en su cliente local, complete los siguientes pasos:
Cree una asignación de política de sistema operativo. Debe ser un archivo JSON. Para obtener más información sobre cómo crear asignaciones de políticas de sistema operativo o ver ejemplos de asignaciones de políticas de sistema operativo, consulte Asignación de políticas de sistema operativo .
Si desea utilizar la asignación de política del sistema operativo YAML de muestra, debe convertirla a JSON.
En la API, cree una solicitud
POST
para el métodoprojects.locations.osPolicyAssignments.create
.En el cuerpo de la solicitud, pegue las especificaciones de asignación de políticas del sistema operativo del paso anterior.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Reemplace lo siguiente:
-
PROJECT_ID
: ID de tu proyecto -
OS_POLICY_ASSIGNMENT_ID
: nombre para la asignación de política del sistema operativo -
JSON_OS_POLICY
: las especificaciones de asignación de políticas del sistema operativo creadas en el paso anterior. Este debe estar en formato JSON. Para obtener más información sobre los parámetros y el formato, consulteResource: OSPolicyAssignment
. -
ZONE
: zona para crear la asignación de política del sistema operativo en
Ejemplo
Por ejemplo, para crear una asignación de política de sistema operativo para Google Cloud Observability que instale agentes de monitoreo y registro en máquinas virtuales seleccionadas mediante la asignación de política de sistema operativo de muestra , complete los siguientes pasos:
- Convertir la muestra a JSON
- Haga 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 } } }
-
En la consola de Google Cloud, vaya a la página de políticas del sistema operativo .
Haga clic en la pestaña Asignaciones de políticas del sistema operativo .
Para la asignación de política del sistema operativo cuya implementación desea cancelar, haga clic en Acción ( > Cancelar implementación .
)Haga clic en Cancelar implementación .
- Obtenga más información sobre las políticas del sistema operativo .
- Administrar asignaciones de políticas del sistema operativo .
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Sistemas operativos compatibles
Para obtener una lista completa de los sistemas operativos y las versiones que admiten políticas de sistema operativo, consulte Detalles del sistema operativo .
Permisos
Dado que puede utilizar políticas de sistema operativo para instalar y administrar paquetes de software en una máquina virtual, la creación y administración de políticas de sistema operativo equivale a otorgar acceso de ejecución remota de código en una máquina virtual. Cuando configura políticas del sistema operativo, los permisos de IAM se utilizan para controlar el acceso a los recursos de la política y se auditan las actividades.
Los propietarios de un proyecto tienen acceso completo para crear y administrar asignaciones de políticas del sistema operativo. Para todos los demás usuarios, debe otorgar permisos. Puede otorgar uno de los siguientes roles granulares:
Comando de ejemplo para establecer permisos
Para otorgar acceso de administrador a un usuario para asignaciones de políticas del sistema operativo, ejecute el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Reemplace lo siguiente:
Crear una asignación de política de sistema operativo
Para crear e implementar una asignación de política de sistema operativo, complete los siguientes pasos:
Lanzamientos
Las asignaciones de políticas del sistema operativo se implementan según una tasa de implementación. Esto significa que las asignaciones dirigidas a un conjunto de máquinas virtuales se pueden implementar gradualmente y no se aplican a todas las máquinas virtuales de inmediato. Los cambios se implementan gradualmente para darle la oportunidad de intervenir y cancelar una implementación si los nuevos cambios provocan regresiones.
Cuando las llamadas a métodos a una API pueden tardar mucho en completarse, la API devuelve operaciones de larga duración (LRO). Para obtener más información sobre las LRO, consulte Operaciones de larga duración .
La API de configuración del sistema operativo crea una LRO cada vez que crea, actualiza o elimina una asignación de política del sistema operativo. 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 asignación de política del sistema operativo. Para ver las revisiones de una asignación de política de sistema operativo, consulte Listar revisiones de asignaciones de política de sistema operativo .
Puede utilizar la CLI de Google Cloud para obtener los detalles de una implementación o cancelarla.
Obtener detalles para una implementación
Para obtener detalles para una implementación, use el comando
os-config os-policy-assignments operations describe
.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Reemplace
FULLY_QUALIFIED_OPERATION_NAME
con el nombre de recurso completo para la operación que se devuelve desde 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
Salida de 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 una implementación
Consola
nube de gcloud
Para cancelar una implementación, 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
Reemplace
FULLY_QUALIFIED_OPERATION_NAME
con el nombre de recurso completo para la operación que se devuelve desde 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 tiene éxito, no se devuelve ningún resultado.
¿Qué sigue?
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-04-17 (UTC).
-