Usa las políticas del SO para mantener configuraciones de software coherentes en las instancias de máquina virtual (VM) de Linux y Windows.
Antes de comenzar
- Revisa la Política del SO y la asignación de política del SO.
- Revisa las cuotas de configuración del SO.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
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.
- Administrador de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentAdmin
). Contiene permisos para crear, borrar, actualizar, obtener y enumerar asignaciones de políticas de SO. - Editor de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
). Contiene permisos para actualizar, obtener y enumerar asignaciones de políticas de SO. - Visualizador de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Contiene permisos de acceso de solo lectura para obtener y enumerar asignaciones de políticas de SO. PROJECT_ID
: El ID del proyectoUSER_ID
: El nombre de usuario en Google Workspace del usuario.- Configura VM Manager.
- Asigna los permisos necesarios a los usuarios.
- Revisa la Política del SO y asignación de política del SO.
- Crea los recursos de la política del SO.
Para crear y lanzar la asignación de políticas del SO, usa uno de los siguientes métodos:
Console
Para crear y lanzar una asignación de política de SO, completa los siguientes pasos:
- En tu cliente local, crea o descarga una política del SO. Debe ser un archivo JSON o YAML. Para obtener más información sobre la creación de políticas del SO o ver ejemplos de políticas del SO, consulta Políticas del SO.
En la consola de Google Cloud, ve a la página Políticas del SO.
Haz clic en Crear asignación de política de SO.
En la sección ID de la asignación, se proporciona un nombre para la asignación de política del SO. Consulta la convención de asignación de nombres de recursos.
En la sección Políticas del SO, sube el archivo de políticas del SO.
En la sección Instancias de VM de destino, especifica las VM de destino.
- Selecciona la zona que contiene las VM a las que deseas aplicar la política.
- Selecciona las familias de SO.
- Opcional: puedes filtrar aún más las VM si especificas incluir y excluir etiquetas.
Por ejemplo, puedes seleccionar todas las VM de Ubuntu en el entorno de prueba y excluir aquellas que se ejecutan en Google Kubernetes Engine si especificas lo siguiente:
- Familia del SO:
ubuntu
- Incluir:
env:test
,env:staging
- Excluir:
goog-gke-node
Especifica un plan de lanzamiento.
- Especifica el tamaño del conjunto (también conocido como presupuesto de interrupción). Por ejemplo, 10%.
- Especifica el tiempo de espera. Por ejemplo, 15 minutos.
Haz clic en Iniciar lanzamiento.
gcloud
Para crear e implementar una asignación de política de SO en una zona, completa los siguientes pasos:
Crea un recurso de asignación de política de SO en formato JSON o YAML. Este archivo define las políticas del SO que deseas aplicar a tus VM, las VM de destino a las que deseas aplicar las políticas y la tasa de lanzamiento en la que se aplican las políticas del SO. Para obtener más información sobre este archivo y las asignaciones de muestra, consulta Asignación de políticas del SO.
Usa el comando
os-config os-policy-assignments create
para crear y lanzar 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
Reemplaza lo siguiente:
OS_POLICY_ASSIGNMENT_ID
: es el nombre para la asignación de políticas del SO. Consulta Convención de asignación de nombres de recursos.ZONE
: es la zona en la que se creará la asignación de política del SO.OS_POLICY_ASSIGNMENT_FILE
: es la ruta de acceso absoluta del archivo de asignación de política del SO que creaste 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.
Toma nota del nombre del recurso completamente calificado para la operación. En el ejemplo anterior, el nombre del recurso completamente calificado es:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Puedes usar este nombre del recurso completamente calificado para obtener detalles de un lanzamiento o cancelarlo. Consulta Lanzamientos.
Terraform
Para crear una asignación de política del SO, usa el recurso
google_os_config_os_policy_assignment
.En el siguiente ejemplo, se verifica si el servidor web de Apache se ejecuta en las VMs de CentOS.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
REST
Para crear una asignación de política del SO en tu cliente local, completa los siguientes pasos:
Crea una asignación de política del SO. Debe ser un archivo JSON. Para obtener más información sobre la creación de asignaciones de políticas del SO o ver las asignaciones de políticas del SO de muestra, consulta Asignación de política del SO.
Si deseas usar la asignación de política del SO YAML de muestra, debes convertirla en JSON.
En la API, crea una solicitud
POST
para el métodoprojects.locations.osPolicyAssignments.create
.En el cuerpo de la solicitud, pega las especificaciones de la asignación de 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 }
Reemplaza lo siguiente:
PROJECT_ID
: El ID de tu proyectoOS_POLICY_ASSIGNMENT_ID
: es el nombre de la asignación de política del SO.JSON_OS_POLICY
: son las especificaciones de la asignación de política del 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
: es la zona en la que se creará la asignación de la política del SO.
Ejemplo
Por ejemplo, para crear una asignación de política del SO para Google Cloud Observability que instale agentes de supervisión y registro en las VMs seleccionadas mediante la asignación de política del SO de muestra, completa lo siguiente pasos:
- Convierte la muestra a JSON
- Realiza 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, ve a la página Políticas del SO.
Haz clic en la pestaña Asignaciones de políticas del SO.
Para la asignación de la política del SO en la que deseas cancelar el lanzamiento, haz clic en Acción (> Cancelar lanzamiento.
)Haz clic en Cancelar lanzamiento.
- Obtén más información sobre las políticas del SO.
- Administra asignaciones de políticas del SO.
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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas 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 compatibles con las políticas del SO, consulta Detalles de los sistemas operativos.
Permisos
Debido a que puedes usar políticas del SO para instalar y administrar paquetes de software en una VM, la creación y administración de políticas del SO equivale a otorgar acceso de ejecución de código remoto en una VM. Cuando configuras las políticas del SO, los permisos de IAM se usan para controlar el acceso a los recursos y las actividades de la política que se registran en la auditoría.
Los propietarios de un proyecto tienen acceso total para crear y administrar asignaciones de políticas del SO. Para el resto de los usuarios, debes otorgar permisos. Puedes otorgar una de las siguientes funciones detalladas:
Comando de ejemplo para establecer permisos
Para otorgar acceso de administrador a un usuario para las asignaciones de políticas del SO, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Reemplaza lo siguiente:
Crea una asignación de política del SO
Para crear y lanzar una asignación de política de SO, completa los siguientes pasos:
Lanzamientos
Las asignaciones de las políticas del SO se implementan de acuerdo con la tasa de lanzamiento. Esto significa que las asignaciones que se orientan a un conjunto de VM se pueden implementar de forma gradual y no se aplican de inmediato a todas las VM. Los cambios se lanzan de forma gradual para brindarte la oportunidad de intervenir y cancelar un lanzamiento si los nuevos cambios causan regresiones.
Cuando las llamadas de método a una API pueden tardar mucho tiempo en completarse, la API muestra una operación de larga duración (LRO). Para obtener más información sobre las LRO, consulta Operaciones de larga duración.
La API de configuración del SO crea una LRO cada vez que creas, actualizas o borras una asignación de política del SO. Cada LRO muestra 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 revisión nueva de asignación de política de SO. Para ver las revisiones de una asignación de política del SO, consulta Enumera revisiones de asignación de políticas del SO.
Puedes usar Google Cloud CLI para obtener los detalles de un lanzamiento o cancelarlo.
Obtén detalles sobre un lanzamiento
Para obtener detalles de 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
Reemplaza
FULLY_QUALIFIED_OPERATION_NAME
por el nombre del recurso completamente calificado para la operación que se muestra a partir 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
Resultado 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
Cancela un lanzamiento
Console
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
Reemplaza
FULLY_QUALIFIED_OPERATION_NAME
por el nombre del recurso completamente calificado para la operación que se muestra a partir 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 de forma correcta, no se muestra ningún resultado.
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-21 (UTC)
-