Las restricciones administradas son políticas de la organización predefinidas, creadas en una plataforma moderna, que proporcionan un control centralizado y programático sobre tus recursos de Compute Engine. Incluyen compatibilidad integrada con herramientas de lanzamiento seguro, como Policy Simulator y la ejecución de prueba.
Las restricciones administradas se identifican con el prefijo compute.managed.* y sirven como reemplazo directo de las restricciones heredadas compute.*.
Beneficios
- Lanzamiento y supervisión seguros: Implementa políticas con herramientas completas, un control de cambios más rápido y una implementación gradual con capacidades de simulación y pruebas de validación.
- Registro coherente: Aplica uniformidad en los registros y los mensajes de error, lo que simplifica la supervisión centralizada y optimiza las auditorías.
Herencia de políticas
Las políticas de la organización que configuras en un recurso se heredan en los recursos subordinados de ese recurso en la jerarquía de recursos. Por ejemplo, si aplicas una política en una carpeta, Google Cloud aplica la política en todos los proyectos de esa carpeta.
Precios
El Servicio de políticas de la organización, que incluye las políticas de la organización predefinidas (heredadas), administradas y personalizadas, se ofrece sin cargo.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
- Asegúrate de saber el ID de la organización.
- Si aún no lo hiciste, instala gcloud CLI y, luego, inicialízala ejecutando
gcloud init. - Configura un proyecto predeterminado para tus pruebas.
Roles obligatorios
Para obtener los permisos que necesitas para administrar las políticas de la organización con restricciones administradas, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Administrador de políticas de la organización (
roles/orgpolicy.policyAdmin) en el recurso de la organización -
Para probar las restricciones:
Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1) en el proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para administrar las políticas de la organización con restricciones administradas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para administrar las políticas de la organización con restricciones administradas:
-
orgpolicy.constraints.list -
orgpolicy.policies.create -
orgpolicy.policies.delete -
orgpolicy.policies.list -
orgpolicy.policies.update -
orgpolicy.policy.get -
orgpolicy.policy.set - Para probar las restricciones:
compute.instances.createen el proyecto- Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos:
compute.images.useReadOnlyen la imagen - Si deseas usar una instantánea para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnlyen la instantánea - Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnlyen la plantilla de instancias - Para asignar una red heredada a la VM:
compute.networks.useen el proyecto - Si deseas especificar una dirección IP estática para la VM;
compute.addresses.useen el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado;
compute.networks.useExternalIpen el proyecto - A fin de especificar una subred para la VM:
compute.subnetworks.useen el proyecto o en la subred elegida - Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIpen el proyecto o en la subred elegida - A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos:
compute.instances.setMetadataen el proyecto - A fin de configurar etiquetas para la VM y los puntos;
compute.instances.setTagsen la VM - Si deseas configurar etiquetas para la VM, haz lo siguiente:
compute.instances.setLabelsen la VM - A fin de configurar una cuenta de servicio para que la VM la use
compute.instances.setServiceAccounten la VM - Si deseas crear un disco nuevo para la VM:
compute.disks.createen el proyecto - Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.useen el disco - Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos:
compute.disks.useReadOnlyen el disco
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Restricciones administradas disponibles
Las siguientes restricciones de políticas de la organización administradas están disponibles para Compute Engine:
Restricción Descripción Configuración de encriptación del adjunto de VLAN permitida Esta restricción de lista define la configuración de encriptación permitida para los nuevos adjuntos de VLAN.
De forma predeterminada, los adjuntos de VLAN pueden usar cualquier configuración de encriptación.
Establece IPSEC como valor permitido para admitir que solo se creen adjuntos de VLAN encriptados.constraints/compute.managed.allowedVlanAttachmentEncryptionCómo bloquear las funciones en versión preliminar de Compute Engine Esta restricción garantiza que las funciones de versión preliminar se bloqueen, a menos que se permita explícitamente esta restricción. Una vez que se establezca en permitir, podrás controlar qué funciones de vista previa se pueden habilitar o inhabilitar individualmente para tu proyecto. Solo se puede acceder a las funciones de versión preliminar habilitadas en el proyecto. Si se inhabilita la política posteriormente, no se cambiará el estado de las funciones en versión preliminar individuales ya establecidas, y estas se podrán inhabilitar de forma individual. Esta restricción solo se aplica a las funciones de la API de Compute en versión alfa.
constraints/compute.managed.blockPreviewFeaturesInhabilitar la virtualización anidada de VM [Versión preliminar pública] Esta restricción booleana inhabilita la virtualización anidada acelerada por hardware para todas las VMs de Compute Engine que pertenecen a la organización, el proyecto o la carpeta en los que esta restricción se establece en
True.
De forma predeterminada, se permite la virtualización anidada por aceleración de hardware para todas las VMs de Compute Engine que se ejecutan en Intel Haswell o en plataformas de CPU más recientes.constraints/compute.managed.disableNestedVirtualizationRestringe la habilitación de los metadatos de acceso al puerto en serie de la VM Versión preliminar: Esta restricción impide que la clave de metadatos serial-port-enable se establezca como verdadera para las VMs de Compute Engine dentro de la organización, el proyecto o la carpeta en los que se aplica esta restricción. De forma predeterminada, el acceso al puerto en serie se puede habilitar por VM, por zona o por proyecto con esta clave de metadatos. Para permitir el acceso al puerto en serie de VMs específicas, puedes eximirlas de esta política con etiquetas y reglas condicionales.
Importante: El cumplimiento de esta restricción no afecta a las VMs existentes en las que serial-port-enable ya está establecido como verdadero. Estas conservarán el acceso, a menos que se actualicen sus metadatos.constraints/compute.managed.disableSerialPortAccessInhabilitar el registro de puertos en serie de VM en Stackdriver [Versión preliminar pública] Cuando se aplica esta restricción, se inhabilita el registro de puerto en serie en Stackdriver desde las VMs de Compute Engine.
De forma predeterminada, el registro de puerto en serie de las VMs de Compute Engine está inhabilitado, pero puede habilitarse selectivamente por VM o por proyecto con los atributos de metadatos. Si inhabilitas el registro de puertos en serie, ciertos servicios que dependen de él, como los clústeres de Google Kubernetes Engine, no funcionarán correctamente. Antes de aplicar esta restricción, verifica que los productos de tu proyecto no dependan del registro de puertos en serie. Puedes permitir que instancias de VM específicas usen el registro de puerto en serie. Primero, aplica etiquetas para marcar las instancias y, luego, usa reglas condicionales basadas en los valores de las etiquetas para definir correctamente el alcance de esas instancias fuera de la aplicación.constraints/compute.managed.disableSerialPortLoggingRestringe el uso del DNS interno global (gDNS) para los proyectos que tienen el parámetro de configuración de DNS ZonalOnly. [Versión preliminar pública] Cuando se aplica esta restricción, se limita el uso de gDNS. Esta restricción inhabilita la creación de VM de gDNS y la actualización de VMs para usar gDNS. No se bloqueará la reversión de un proyecto de zDNS a gDNS, pero se aplicará la política durante las invocaciones posteriores de la API de Instance.
constraints/compute.managed.disallowGlobalDnsNecesita configuración del SO [Versión preliminar pública] Cuando se aplica esta restricción, se requiere que se habilite VM Manager (Configuración del SO) en todos los proyectos nuevos. En los proyectos nuevos y existentes, esta restricción impide las actualizaciones de metadatos que inhabilitan VM Manager a nivel del proyecto, de la zona del proyecto o de la instancia. Puedes permitir que instancias de VM específicas inhabiliten VM Manager. Primero, aplica etiquetas para marcar las instancias y, luego, usa reglas condicionales basadas en los valores de las etiquetas para definir correctamente el alcance de esas instancias fuera de la aplicación.
constraints/compute.managed.requireOsConfigRequiere Acceso al SO [Versión preliminar pública] Cuando se aplica esta restricción, se requiere que se habilite el Acceso al SO en todos los proyectos recién creados. En los proyectos nuevos y existentes, esta restricción impide las actualizaciones de metadatos que inhabilitan el Acceso al SO a nivel del proyecto, de la zona del proyecto o de la instancia. Puedes permitir que instancias de VM específicas inhabiliten el Acceso al SO. Primero, aplica etiquetas para marcar las instancias y, luego, usa reglas condicionales basadas en los valores de las etiquetas para definir correctamente el alcance de esas instancias fuera de la aplicación.
constraints/compute.managed.requireOsLoginRestringe el uso del reenvío de protocolos Esta restricción te permite restringir los tipos de implementaciones de reenvío de protocolos (internas o externas) que se pueden crear en tu organización. Para configurar la restricción, debes especificar una lista de entidades permitidas del tipo de implementación de reenvío de protocolos que se permitirá. La lista de entidades permitidas solo puede incluir los siguientes valores:
- INTERNAL
- EXTERNAL
constraints/compute.managed.restrictProtocolForwardingCreationForTypesRestringe el reenvío de IP de VM [Versión preliminar pública] Esta restricción define si las instancias de VM de Compute Engine pueden habilitar el reenvío de IP. De forma predeterminada, si no se especifica ninguna política, cualquier VM puede habilitar el reenvío de IP en cualquier red virtual. Si se aplica, esta restricción rechazará la creación o actualización de instancias de VM con el reenvío de IP habilitado. Puedes permitir que instancias de VM específicas habiliten el reenvío de IP. Primero, aplica etiquetas para marcar las instancias y, luego, usa reglas condicionales basadas en los valores de las etiquetas para definir correctamente el alcance de esas instancias fuera de la aplicación.
constraints/compute.managed.vmCanIpForwardRestringe las IPs externas para las instancias de VM [Versión preliminar pública] Esta restricción define si las instancias de VM de Compute Engine pueden usar direcciones IP externas IPv4. De forma predeterminada, todas las instancias de VM pueden usar direcciones IP externas. Si se aplica, esta restricción rechazará la creación o actualización de instancias de VM con direcciones IP externas IPv4. Esta restricción no limitará el uso de direcciones IP externas IPv6. Puedes permitir que instancias de VM específicas usen direcciones IP externas IPv4. Primero, aplica etiquetas para marcar las instancias y, luego, usa reglas condicionales basadas en los valores de las etiquetas para definir correctamente el alcance de esas instancias fuera de la aplicación.
constraints/compute.managed.vmExternalIpAccessEvaluación jerárquica de metadatos
Las restricciones administradas que se basan en claves de metadatos predefinidas, como el Acceso al SO o el Acceso al puerto serie, admiten la evaluación jerárquica. Cuando Compute Engine evalúa estas restricciones, verifica los valores de metadatos establecidos a nivel de la instancia de VM, el proyecto o la zona.
Establecer valores de metadatos a nivel del proyecto o de la zona te permite administrar instancias de VM a gran escala. Sin embargo, la aplicación de restricciones solo se produce durante las llamadas a la API de creación o actualización de instancias de VM. Por lo tanto, los cambios en los metadatos del proyecto o de la zona afectan el cumplimiento de las restricciones de una instancia de VM solo cuando se crea o actualiza esa instancia.
Restricciones y niveles basados en metadatos
Restricción Clave de metadatos Niveles de jerarquía de metadatos compute.managed.disableSerialPortAccessserial-port-enableProyecto, zona, instancia compute.managed.requireOsLoginenable-osloginProyecto, zona, instancia compute.managed.disableGuestAttributesAccessenable-guest-attributesProyecto, zona, instancia compute.managed.requireOsConfigenable-osconfigProyecto, zona, instancia compute.managed.disallowGlobalDnsVmDnsSettingProyecto, instancia Lanzamiento seguro: El ciclo de vida de la política
Para evitar interrupciones en el servicio cuando implementes gradualmente restricciones nuevas, Google recomienda que implementes restricciones administradas siguiendo estos pasos:
Analiza con Policy Simulator
Antes de aplicar una política, usa Policy Simulator para ver qué recursos existentes la incumplen. Lleva a cabo los pasos siguientes:
En la consola de Google Cloud , ve a la página Políticas de la organización.
En la barra de filtros, busca tu restricción y, luego, haz clic en el nombre de la restricción para ir a su página Detalles de la política.
Haz clic en Probar cambios para generar un informe de simulación.
Los cambios en los metadatos jerárquicos pueden tardar algunas horas en reflejarse en el informe de simulación para las restricciones en la configuración de metadatos de VM.
Revisa el informe para reconfigurar los recursos que no cumplen con las políticas o solicitar exenciones.
Validar con una ejecución de prueba
El modo de ejecución de prueba registra los incumplimientos en Cloud Logging, pero no aplica restricciones.
Para probar una restricción, usa el comando
gcloud org-policies set-policyde la siguiente manera:Crea un archivo YAML de política (por ejemplo,
dry-run-policy.yaml) con undryRunSpec:name: projects/PROJECT_ID/policies/compute.managed.requireOsLogin dryRunSpec: rules: - enforce: trueReemplaza
PROJECT_IDcon el ID del proyecto.Aplica la política:
gcloud org-policies set-policy dry-run-policy.yaml
Aplicación completa
Después de simular y probar tu política, puedes aplicarla a un recurso. Los cambios en las políticas pueden tardar hasta 15 minutos en propagarse en todos los sistemas deGoogle Cloud .
Prueba la aplicación de restricciones
Después de establecer una política, puedes verificar su aplicación con gcloud CLI. Por ejemplo, para probar la restricción
compute.managed.requireOsLogin, sigue estos pasos:Enumera las políticas existentes para confirmar tu configuración:
gcloud org-policies list --project=PROJECT_IDAplica la política de aplicación con un archivo YAML:
gcloud org-policies set-policy enforce_managed_constraint.yamlVerifica la aplicación llamando a una API de mutación. El intento de crear una instancia de VM con metadatos que no cumplen con los requisitos debería fallar:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata=enable-oslogin=falseReemplaza lo siguiente:
VM_NAME: Es el nombre de la instancia de VM nueva.MACHINE_TYPE: Es un tipo de máquina válido, por ejemplo,e2-micro.IMAGE_FAMILY: Es una familia de imágenes válida, por ejemplo,debian-11.IMAGE_PROJECT: Es el proyecto de la familia de imágenes, por ejemplo,debian-cloud.
Revisa el mensaje de error. Deberías ver un rechazo que indica la restricción específica que se incumplió:
ERROR: (gcloud.compute.instances.create) Could not fetch resource: - Operation denied by org policy: [constraints/compute.managed.requireOsLogin]
Exenciones condicionales con etiquetas
Puedes usar etiquetas para otorgar excepciones a recursos específicos según las necesidades comerciales. En este ejemplo, usamos una etiqueta llamada
osLoginOptionalpara identificar los recursos que están exentos del requisito de Acceso al SO. Cuando vinculas esta etiqueta con un valor detruea un recurso, la política de la organización permite que ese recurso específico exista sin que se habilite el Acceso al SO, incluso mientras la política sigue aplicándose estrictamente al resto de tu entorno.Para otorgar una excepción con etiquetas, sigue estos pasos:
Crea una etiqueta: Usa gcloud CLI para crear una clave de etiqueta y un valor de etiqueta.
Crea la clave de etiqueta:
gcloud resource-manager tags keys create osLoginOptional \ --parent=organizations/ORGANIZATION_IDCrea el valor de la etiqueta:
gcloud resource-manager tags values create true \ --parent=organizations/ORGANIZATION_ID/tagKeys/osLoginOptional
Reemplaza
ORGANIZATION_IDpor el ID de tu organización.Vincula la etiqueta a un recurso. Para eximir un proyecto de la restricción
compute.managed.requireOsLogin, vincula la etiquetaosLoginOptional=trueal proyecto con el comandogcloud resource-manager tags bindings create:gcloud resource-manager tags bindings create \ --tag-value=ORGANIZATION_ID/osLoginOptional/true \ --parent=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID \ --location=globalReemplaza
ORGANIZATION_IDpor el ID de tu organización yPROJECT_IDpor el ID del proyecto que deseas eximir.Para obtener información sobre cómo vincular etiquetas a otros recursos, consulta Cómo vincular una etiqueta a un recurso.
Actualiza la política: Crea o actualiza el archivo YAML de tu política (por ejemplo,
policy.yaml) para incluir la regla condicional.name: projects/PROJECT_ID/policies/compute.managed.requireOsLogin spec: rules: - condition: expression: "resource.matchTag('ORGANIZATION_ID/osLoginOptional', 'true')" enforce: false - enforce: trueReemplaza lo siguiente:
PROJECT_ID: el ID de tu proyectoORGANIZATION_ID: Es el ID de tu organización.
Aplica la política: Usa el siguiente comando de gcloud CLI para activar la configuración:
gcloud org-policies set-policy policy.yaml
Migración desde restricciones heredadas
Cuando realices la migración, ten en cuenta que las restricciones administradas mejoran el comportamiento de las políticas heredadas, pero no lo replican exactamente. Las restricciones administradas ofrecen una mayor previsibilidad, ya que verifican los incumplimientos solo durante las solicitudes a la API que crean o modifican recursos. Si una solicitud incumple una restricción, la llamada a la API falla con un error claro. Esto difiere de las políticas heredadas, que se podían aplicar en varias etapas de una operación o usarse como atributos de recursos, lo que hacía que el comportamiento de aplicación fuera menos predecible.
Cuando pases de una restricción
compute.*heredada a unacompute.managed.*equivalente moderna, sigue estos pasos para evitar que las restricciones se ajusten de forma no intencional:- Descubrimiento: Identifica la nueva alternativa de restricción administrada.
- Analiza y valida: Usa el Simulador de políticas y la ejecución de prueba como se describió anteriormente.
- Aplica la restricción administrada: Aplica la nueva restricción administrada junto con la heredada.
- Borra las políticas heredadas:
- Navega al Inventario de activos en la consola de Google Cloud y filtra por
orgpolicy.Policyy el nombre de la restricción heredada para identificar todas las políticas que usan la restricción heredada. - Borra todas las políticas que usan la restricción heredada. Si borras una política, se restablecerá el comportamiento predeterminado administrado por Google para esa restricción.
- Navega al Inventario de activos en la consola de Google Cloud y filtra por
¿Qué sigue?
- Obtén más información sobre los conceptos y beneficios fundamentales del servicio en Introducción al servicio de políticas de la organización.
- Para obtener instrucciones detalladas sobre cómo crear y administrar políticas, consulta la documentación de Resource Manager.
- Consulta la lista completa de restricciones disponibles en todos los servicios de Google Cloud .
- Obtén información para usar el Simulador de políticas y realizar un análisis avanzado del impacto de las políticas de tu organización.
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: 2026-03-04 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2026-03-04 (UTC)"],[],[]] -