Descripción de la configuración de la máquina de Azure

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca del estado de fin de vida útil (EOL). Tenga en cuenta su uso y planeación en consecuencia.

La característica de configuración de máquina de Azure Policy proporciona funcionalidad nativa para auditar o configurar las opciones del sistema operativo como código, tanto para las máquinas que se ejecutan en Azure como para las máquinas híbridas habilitadas para Arc. Puede usar la característica directamente por máquina u organizarla a gran escala mediante Azure Policy.

Los recursos de configuración de Azure están diseñados como un recurso de extensión. Puede imaginar cada configuración como un conjunto adicional de propiedades para la máquina. Las configuraciones pueden incluir valores como:

  • Opciones del sistema operativo
  • Configuración de la aplicación o presencia
  • Configuración del entorno

Las configuraciones son distintas de las definiciones de directiva. La configuración de máquina usa Azure Policy para asignar dinámicamente configuraciones a las máquinas. También puede asignar configuraciones a las máquinas de forma manual o mediante otros servicios de Azure como Automanage.

En la tabla siguiente se proporcionan ejemplos de cada escenario.

Tipo Descripción Caso de ejemplo
Administración de configuración Quiere una representación completa de un servidor, como código en el control de código fuente. La implementación debe incluir las propiedades del servidor (tamaño, red, almacenamiento) y la configuración del sistema operativo y la configuración de la aplicación. "Esta máquina debe ser un servidor web configurado para hospedar mi sitio web."
Cumplimiento normativo Quiere auditar o implementar la configuración en todas las máquinas del ámbito de forma reactiva en las máquinas existentes o de forma proactiva en las nuevas máquinas a medida que se implementan. "Todas las máquinas deben usar TLS 1.2. Audite las máquinas existentes para poder liberar el cambio cuando sea necesario, de forma controlada, a gran escala. En el caso de las nuevas máquinas, aplique la configuración cuando se implementen".

Puede ver los resultados por configuración de las configuraciones en la página Asignaciones de invitados. Si una asignación de Azure Policy que orquestó la configuración está orquestada, puede seleccionar el vínculo "Último recurso evaluado" en la página "Detalles de cumplimiento".

Hay disponible un tutorial de vídeo de este documento. (Actualización disponible próximamente)

Habilitación de la configuración de la máquina

Para administrar el estado de las máquinas del entorno, incluidas las de Azure y los servidores habilitados para Arc, revise los detalles siguientes.

Proveedor de recursos

Para poder usar la característica de configuración de máquina de Azure Policy, debe registrar el proveedor de recursos Microsoft.GuestConfiguration. Si la asignación de una directiva de configuración de máquina se realiza en el portal, o si la suscripción está inscrita en Microsoft Defender for Cloud, el proveedor de recursos se registra automáticamente. Puede registrarse manualmente mediante el portal, Azure PowerShell o la CLI de Azure.

Requisitos de implementación de Azure Virtual Machines

Para administrar la configuración en una máquina, se habilita una extensión de máquina virtual y la máquina debe tener una identidad administrada por el sistema. La extensión descarga la asignación de configuración de máquina aplicable y las dependencias correspondientes. La identidad se usa para autenticar la máquina a medida que lee y escribe en el servicio de configuración de máquina. La extensión no es necesaria para los servidores habilitados para Arc porque está incluida en el agente Connected Machine de Arc.

Importante

La extensión de configuración de máquina y una identidad administrada son necesarias para administrar las máquinas virtuales de Azure.

Para implementar la extensión a gran escala en muchas máquinas, asigne la iniciativa de directiva Deploy prerequisites to enable Guest Configuration policies on virtual machines a un grupo de administración, una suscripción o un grupo de recursos que contenga las máquinas que planea administrar.

Si prefiere implementar la extensión y la identidad administrada de una sola máquina, consulte Configuración de identidades administradas para recursos de Azure en una VM mediante Azure Portal.

Para usar paquetes de configuración de máquina que aplican configuraciones, se necesita la versión 1.26.24 o posterior de la extensión de configuración de invitado de máquina virtual de Azure.

Límites establecidos en la extensión

Para limitar que la extensión afecte a las aplicaciones que se ejecutan en la máquina, no se permite que el agente de configuración de máquina supere el 5 % de la CPU. Esta limitación existe tanto para definiciones integradas como personalizadas. Lo mismo se aplica al servicio de configuración de máquina en el agente Connected Machine de Arc.

Herramientas de validación

Dentro de la máquina, el cliente de configuración de máquina usa herramientas locales para realizar tareas.

En la tabla siguiente se muestra una lista de las herramientas locales usadas en cada sistema operativo compatible. En el caso de contenido integrado, la configuración de máquina controla la carga de estas herramientas automáticamente.

Sistema operativo Herramienta de validación Notas
Windows Configuración de estado deseado de PowerShell v2 Instalado de prueba en una carpeta que solo usa Azure Policy. No entra en conflicto con DSC de Windows PowerShell. PowerShell no se agrega a la ruta de acceso del sistema.
Linux Desired State Configuration de PowerShell v3 Instalado de prueba en una carpeta que solo usa Azure Policy. PowerShell no se agrega a la ruta de acceso del sistema.
Linux Chef InSpec Instala Chef InSpec versión 2.2.61 en la ubicación predeterminada y lo agrega a la ruta de acceso del sistema. También instala las dependencias de InSpec, como Ruby y Python.

Frecuencia de validación

El cliente de configuración de máquina busca asignaciones de invitados nuevas o modificadas cada cinco minutos. Una vez que se recibe una asignación de invitado, se comprueban los valores de esa configuración en un intervalo de 15 minutos. Si se asignan varias configuraciones, cada una se evalúa secuencialmente. Las configuraciones de larga duración afectan al intervalo de todas las configuraciones, ya que la siguiente no se ejecutará hasta que finalice la configuración anterior.

Los resultados se envían al servicio de configuración de máquina cuando finaliza la auditoría. Cuando se produce un desencadenador de evaluación de directiva, el estado de la máquina se escribe en el proveedor de recursos de configuración de máquina. Esta actualización hace que Azure Policy evalúe las propiedades de Azure Resource Manager. Una evaluación de Azure Policy a petición recupera el valor más reciente del proveedor de recursos de la configuración de máquina. Pero no desencadena una nueva actividad dentro de la máquina. Después, el estado se escribe en Azure Resource Graph.

Tipos de cliente admitidos

Las definiciones de directivas de configuración de máquina son inclusivas de las nuevas versiones. Las versiones anteriores de los sistemas operativos disponibles en Azure Marketplace se excluyen si el cliente de configuración de invitado no es compatible. En la tabla siguiente se muestra una lista de sistemas operativos compatibles en imágenes de Azure. El texto .x es simbólico y se usa para representar nuevas versiones secundarias de distribuciones de Linux.

Publicador Nombre Versiones
Alma AlmaLinux 9
Amazon Linux 2
Canonical Ubuntu Server 14.04 - 22.x
Credativ Debian 8 - 10.x
Microsoft CBL-Mariner 1 - 2
Microsoft Cliente Windows Windows 10
Microsoft Windows Server 2012 - 2022
Oracle Oracle-Linux 7.x - 8.x
OpenLogic CentOS 7.3 - 8.x
Red Hat Red Hat Enterprise Linux* 7.4 - 9.x
Rocky Rocky Linux 9
SUSE SLES 12 SP3-SP5, 15.x

* No se admite Red Hat CoreOS.

Las definiciones de directivas de configuración de máquina admiten imágenes de máquina virtual personalizadas, siempre y cuando se trate de uno de los sistemas operativos de la tabla anterior.

Requisitos de red

Las máquinas virtuales de Azure pueden usar su adaptador de red virtual local (vNIC) o Azure Private Link para comunicarse con el servicio de configuración de máquina.

Las máquinas de Azure habilitadas para Arc se conectan mediante la infraestructura de red local para llegar a los servicios de Azure e informar del estado de cumplimiento.

A continuación se muestra una lista de los puntos de conexión de Azure Storage necesarios para que las máquinas virtuales habilitadas para Azure y Azure Arc se comuniquen con el proveedor de recursos de configuración de la máquina en Azure:

  • oaasguestconfigac2s1.blob.core.windows.net
  • oaasguestconfigacs1.blob.core.windows.net
  • oaasguestconfigaes1.blob.core.windows.net
  • oaasguestconfigases1.blob.core.windows.net
  • oaasguestconfigbrses1.blob.core.windows.net
  • oaasguestconfigbrss1.blob.core.windows.net
  • oaasguestconfigccs1.blob.core.windows.net
  • oaasguestconfigces1.blob.core.windows.net
  • oaasguestconfigcids1.blob.core.windows.net
  • oaasguestconfigcuss1.blob.core.windows.net
  • oaasguestconfigeaps1.blob.core.windows.net
  • oaasguestconfigeas1.blob.core.windows.net
  • oaasguestconfigeus2s1.blob.core.windows.net
  • oaasguestconfigeuss1.blob.core.windows.net
  • oaasguestconfigfcs1.blob.core.windows.net
  • oaasguestconfigfss1.blob.core.windows.net
  • oaasguestconfiggewcs1.blob.core.windows.net
  • oaasguestconfiggns1.blob.core.windows.net
  • oaasguestconfiggwcs1.blob.core.windows.net
  • oaasguestconfigjiws1.blob.core.windows.net
  • oaasguestconfigjpes1.blob.core.windows.net
  • oaasguestconfigjpws1.blob.core.windows.net
  • oaasguestconfigkcs1.blob.core.windows.net
  • oaasguestconfigkss1.blob.core.windows.net
  • oaasguestconfigncuss1.blob.core.windows.net
  • oaasguestconfignes1.blob.core.windows.net
  • oaasguestconfignres1.blob.core.windows.net
  • oaasguestconfignrws1.blob.core.windows.net
  • oaasguestconfigqacs1.blob.core.windows.net
  • oaasguestconfigsans1.blob.core.windows.net
  • oaasguestconfigscuss1.blob.core.windows.net
  • oaasguestconfigseas1.blob.core.windows.net
  • oaasguestconfigsecs1.blob.core.windows.net
  • oaasguestconfigsfns1.blob.core.windows.net
  • oaasguestconfigsfws1.blob.core.windows.net
  • oaasguestconfigsids1.blob.core.windows.net
  • oaasguestconfigstzns1.blob.core.windows.net
  • oaasguestconfigswcs1.blob.core.windows.net
  • oaasguestconfigswns1.blob.core.windows.net
  • oaasguestconfigswss1.blob.core.windows.net
  • oaasguestconfigswws1.blob.core.windows.net
  • oaasguestconfiguaecs1.blob.core.windows.net
  • oaasguestconfiguaens1.blob.core.windows.net
  • oaasguestconfigukss1.blob.core.windows.net
  • oaasguestconfigukws1.blob.core.windows.net
  • oaasguestconfigwcuss1.blob.core.windows.net
  • oaasguestconfigwes1.blob.core.windows.net
  • oaasguestconfigwids1.blob.core.windows.net
  • oaasguestconfigwus2s1.blob.core.windows.net
  • oaasguestconfigwus3s1.blob.core.windows.net
  • oaasguestconfigwuss1.blob.core.windows.net

Comunicación a través de redes virtuales en Azure

Para comunicarse con el proveedor de recursos de la configuración de máquina en Azure, las máquinas necesitan acceso de salida a los centros de datos de Azure en el puerto 443*. Si una red en Azure no permite el tráfico saliente, las excepciones deben configurarse con las reglas del grupo de seguridad de red. Las etiquetas de servicioAzureArcInfrastructure y Storage se pueden usar para hacer referencia a los servicios de configuración de invitado y almacenamiento en lugar de mantener manualmente la lista de intervalos IP para los centros de datos de Azure. Las dos etiquetas son obligatorias porque Azure Storage hospeda los paquetes de contenido de configuración de máquina.

Las máquinas virtuales pueden usar un vínculo privado para la comunicación con el servicio de configuración de máquina. Aplique la etiqueta con el nombre EnablePrivateNetworkGC y el valor TRUE para habilitar esta característica. La etiqueta se puede aplicar antes o después de que se apliquen las definiciones de directivas de configuración de máquina a la máquina.

Importante

Para comunicarse a través de un vínculo privado para paquetes personalizados, el vínculo a la ubicación del paquete debe agregarse a la lista de direcciones URL permitidas.

El tráfico se enruta mediante la dirección IP pública virtual de Azure para establecer un canal seguro y autenticado con recursos de la plataforma Azure.

Comunicación a través de puntos de conexión públicos fuera de Azure

Los servidores ubicados en el entorno local o en otras nubes se pueden administrar con la configuración de la máquina conectándolos a Azure Arc.

En el caso de los servidores habilitados para Azure Arc, permita el tráfico con los siguientes patrones:

  • Puerto: solo se requiere el puerto TCP 443 para el acceso a Internet
  • Dirección URL global: *.guestconfiguration.azure.com

Consulte los requisitos de red de servidores habilitados para Azure Arc para obtener una lista completa de todos los puntos de conexión de red requeridos por el agente de Azure Connected Machine para escenarios principales de configuración de Azure Arc y máquinas.

Al usar un vínculo privado con servidores habilitados para Arc, los paquetes de directivas integrados se descargan automáticamente a través del vínculo privado. No es necesario establecer ninguna etiqueta en el servidor habilitado para Arc para habilitar esta característica.

Asignación de directivas a máquinas fuera de Azure

Las definiciones de directivas de auditoría disponibles para la configuración de máquina incluyen el tipo de recurso Microsoft.HybridCompute/machines. Todas las máquinas incorporadas a servidores habilitados para Azure Arc que se encuentran en el ámbito de asignación de directivas se incluyen automáticamente.

Requisitos de identidad administrada

Las definiciones de directiva de la iniciativa Deploy prerequisites to enable guest configuration policies on virtual machines habilitan una identidad administrada asignada por el sistema, si no existe ninguna. Hay dos definiciones de directivas en la iniciativa que administran la creación de identidades. Las condiciones if en las definiciones de directiva garantizan el comportamiento correcto en función del estado actual del recurso de máquina en Azure.

Importante

Estas definiciones crean una identidad administrada asignada por el sistema en los recursos de destino, además de las identidades asignadas por el usuario existentes (si existen). En el caso de las aplicaciones existentes, y a menos que se especifique la identidad asignada por el usuario en la solicitud, la máquina usará de manera predeterminada la identidad asignada por el sistema. Más información

Si la máquina no tiene identidades administradas actualmente, la directiva efectiva es: Agregar identidad administrada asignada por el sistema para habilitar asignaciones de configuración de invitado en máquinas virtuales sin identidades.

Si la máquina tiene actualmente una identidad de sistema asignada por el usuario, la directiva efectiva es: Agregar identidad administrada asignada por el sistema para habilitar las asignaciones de configuración de invitado en máquinas virtuales con una identidad asignada por el usuario.

Disponibilidad

Los clientes que diseñan una solución de alta disponibilidad deben tener en cuenta los requisitos de planeamiento de redundancia para las máquinas virtuales, ya que las asignaciones de invitados son extensiones de recursos de máquina en Azure. Cuando los recursos de asignación de invitados se aprovisionan en una región de Azure emparejada, puede ver los informes de asignación de invitados si al menos una región en el par está disponible. Cuando la región de Azure no está emparejada y deja de estar disponible, no puede acceder a los informes de una asignación de invitados. Cuando se restaura la región, puede acceder de nuevo a los informes.

Se recomienda asignar las mismas definiciones de directiva con los mismos parámetros a todas las máquinas de la solución para aplicaciones de alta disponibilidad. Esto es especialmente cierto en escenarios en los que las máquinas virtuales se aprovisionan en conjuntos de disponibilidad detrás de una solución de equilibrador de carga. Una asignación de directiva única que abarca todas las máquinas ofrece la menor sobrecarga administrativa.

En el caso de las máquinas protegidas por Azure Site Recovery, asegúrese de que las máquinas de un sitio secundario están dentro del ámbito de las asignaciones de Azure Policy para las mismas definiciones. Use los mismos valores de parámetro para ambos sitios.

Residencia de datos

La configuración de máquina almacena y procesa los datos del cliente. De manera predeterminada, los datos del cliente se replican en la región emparejada. Para las regiones de Singapur, Sur de Brasil y Asia Pacífico, todos los datos de los clientes se almacenan y procesan en la región.

Solución de problemas de la configuración de máquina

Para obtener más información sobre la solución de problemas de la configuración de máquina, vea Solución de problemas de Azure Policy.

Asignaciones múltiples

En este momento, solo algunas definiciones de directiva de configuración de máquina integradas admiten varias asignaciones. Sin embargo, todas las directivas personalizadas admiten varias asignaciones de manera predeterminada si usó la versión más reciente del módulo GuestConfiguration de PowerShell para crear directivas y paquetes de configuración de máquina.

A continuación se muestra la lista de definiciones de directiva de configuración de máquina integradas que admiten varias asignaciones:

ID DisplayName
/providers/Microsoft.Authorization/policyDefinitions/5fe81c49-16b6-4870-9cee-45d13bf902ce Los métodos de autenticación local deben deshabilitarse en servidores Windows Server
/providers/Microsoft.Authorization/policyDefinitions/fad40cac-a972-4db0-b204-f1b15cced89a Los métodos de autenticación local deben deshabilitarse en máquinas Linux
/providers/Microsoft.Authorization/policyDefinitions/f40c7c00-b4e3-4068-a315-5fe81347a904 [Versión preliminar]: Agregar una identidad administrada asignada por el usuario para habilitar las asignaciones de configuración de invitado en máquinas virtuales
/providers/Microsoft.Authorization/policyDefinitions/63594bb8-43bb-4bf0-bbf8-c67e5c28cb65 [Versión preliminar]: Las máquinas Linux deben cumplir los requisitos de cumplimiento de STIG del proceso de Azure
/providers/Microsoft.Authorization/policyDefinitions/50c52fc9-cb21-4d99-9031-d6a0c613361c [Versión preliminar]: Las máquinas Windows deben cumplir los requisitos de cumplimiento de STIG para el proceso de Azure
/providers/Microsoft.Authorization/policyDefinitions/e79ffbda-ff85-465d-ab8e-7e58a557660f [Versión preliminar]: Las máquinas Linux con OMI instalado deben tener la versión 1.6.8-1 o posterior
/providers/Microsoft.Authorization/policyDefinitions/934345e1-4dfb-4c70-90d7-41990dc9608b Auditar las máquinas Windows que no contengan los certificados especificados en la raíz de confianza
/providers/Microsoft.Authorization/policyDefinitions/08a2f2d2-94b2-4a7b-aa3b-bb3f523ee6fd Auditar las máquinas Windows en las que la configuración de DSC no sea compatible
/providers/Microsoft.Authorization/policyDefinitions/c648fbbb-591c-4acd-b465-ce9b176ca173 Realizar una auditoría de las máquinas Windows que no tengan instalada la directiva de ejecución específica de Windows PowerShell
/providers/Microsoft.Authorization/policyDefinitions/3e4e2bd5-15a2-4628-b3e1-58977e9793f3 Realizar una auditoría de las máquinas Windows que no tengan instalados los módulos específicos de Windows PowerShell
/providers/Microsoft.Authorization/policyDefinitions/58c460e9-7573-4bb2-9676-339c2f2486bb Auditar las máquinas Windows donde no esté habilitado Serial Console de Windows
/providers/Microsoft.Authorization/policyDefinitions/e6ebf138-3d71-4935-a13b-9c7fdddd94df Auditar las máquinas Windows en que los servicios especificados no estén instalados y en ejecución
/providers/Microsoft.Authorization/policyDefinitions/c633f6a2-7f8b-4d9e-9456-02f0f04f5505 Auditar las máquinas Windows que no estén establecidas en la zona horaria especificada

Nota:

Consulte esta página periódicamente para ver si hay actualizaciones en la lista de definiciones de directiva de configuración de máquina integradas que admiten varias asignaciones.

Asignaciones a grupos de administración de Azure

Las definiciones de Azure Policy de la categoría Guest Configuration se pueden asignar a grupos de administración cuando el efecto es AuditIfNotExists o DeployIfNotExists.

Archivos de registro de cliente

La extensión de la configuración de máquina escribe archivos de registro en las ubicaciones siguientes:

Windows

  • VM de Azure: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Servidor habilitado para Arc: C:\ProgramData\GuestConfig\arc_policy_logs\gc_agent.log

Linux

  • VM de Azure: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Servidor habilitado para Arc: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Recopilar registros de forma remota

El primer paso para solucionar problemas de configuraciones o módulos de máquina debe ser usar los cmdlets siguiendo los pasos descritos en Procedimiento para probar artefactos de paquete de configuración de máquina. Si no se realiza correctamente, la recopilación de registros de cliente puede ayudar a diagnosticar problemas.

Windows

Capture información de archivos de registro con el comando de ejecución de VM de Azure. El siguiente script de PowerShell de ejemplo puede ser útil.

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch  = 10
$params = @{
    Path = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
    Pattern = @(
        'DSCEngine'
        'DSCManagedEngine'
    )
    CaseSensitive = $true
    Context = @(
        $linesToIncludeBeforeMatch
        $linesToIncludeAfterMatch
    )
}
Select-String @params | Select-Object -Last 10

Linux

Capture información de archivos de registro con el comando de ejecución de VM de Azure. El siguiente script de Bash de ejemplo puede ser útil.

LINES_TO_INCLUDE_BEFORE_MATCH=0
LINES_TO_INCLUDE_AFTER_MATCH=10
LOGPATH=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $LINES_TO_INCLUDE_BEFORE_MATCH -A $LINES_TO_INCLUDE_AFTER_MATCH 'DSCEngine|DSCManagedEngine' $LOGPATH | tail

Archivos de agente

El agente de configuración de máquina descarga paquetes de contenido en una máquina y extrae el contenido. Para comprobar qué contenido se ha descargado y almacenado, consulte las ubicaciones de carpeta en la siguiente lista.

  • Windows: C:\ProgramData\guestconfig\configuration
  • Linux: /var/lib/GuestConfig/Configuration

Funcionalidad del módulo nxtools de código abierto

Se ha publicado un nuevo módulo nxtools de código abierto para facilitar a los usuarios de PowerShell la administración de sistemas Linux.

El módulo ayuda a administrar tareas comunes como:

  • Administración de usuarios y grupos
  • Realizar operaciones del sistema de archivos
  • Administración de servicios
  • Realizar operaciones de archivo
  • Administración de paquetes

El módulo incluye recursos de DSC basados en clases para Linux y paquetes integrados de configuración de máquina.

Para proporcionar comentarios sobre esta funcionalidad, abra una incidencia en la documentación. Actualmente no aceptamos solicitudes de incorporación de cambios para este proyecto y el soporte técnico es la mejor opción.

Ejemplos de configuración de máquina

Hay ejemplos de directivas integradas de configuración de máquina disponibles en las ubicaciones siguientes:

Pasos siguientes