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 para 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 configures 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, Cloud de Confiance by S3NS 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 Cloud de Confiance by S3NS . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
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 y, luego, accede a 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 Cloud de Confiance .
- Asegúrate de saber el ID de la organización.
- Si aún no lo hiciste, instala la 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, asigna el rol de 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, haz lo siguiente:
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:
Evaluació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 solo afectan el cumplimiento de las restricciones de una instancia de VM 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.disableSerialPortAccess |
serial-port-enable |
Proyecto, zona, instancia |
compute.managed.requireOsLogin |
enable-oslogin |
Proyecto, zona, instancia |
compute.managed.disableGuestAttributesAccess |
enable-guest-attributes |
Proyecto, zona, instancia |
compute.managed.requireOsConfig |
enable-osconfig |
Proyecto, zona, instancia |
compute.managed.disallowGlobalDns |
VmDnsSetting |
Proyecto, 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 Cloud de Confiance , 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-policy de 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 por todos los sistemas deCloud de Confiance by S3NS .
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 osLoginOptional para identificar los recursos que están exentos del requisito de Acceso al SO. Cuando vinculas esta etiqueta con un valor de true a 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 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 la 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 solo verifican los incumplimientos 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 cambies de una restricción compute.* heredada a una compute.managed.* moderna equivalente, sigue estos pasos para evitar un ajuste no deseado de las restricciones:
- 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 Cloud de Confiance 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. Borrar una política restablece esa política al comportamiento predeterminado administrado por Google para esa restricción.
- Navega al Inventario de activos en la consola de Cloud de Confiance y filtra por
¿Qué sigue?
- Obtén más información sobre los conceptos y beneficios fundamentales del servicio en la 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 Cloud de Confiance by S3NS .
- 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.