Administración de directivas de Azure e implementación de la extensión del agente de supervisión de Azure en los servidores Linux y Windows de Azure Arc

En este artículo, se ofrecen instrucciones para usar servidores habilitados para Azure Arc para asignar directivas de Azure a máquinas virtuales fuera de Azure, tanto si están en el entorno local como en otras nubes. Con esta característica, ahora puede usar Azure Policy para auditar la configuración en el sistema operativo de un servidor habilitado para Azure Arc; si un valor no es compatible, también puede desencadenar una tarea de corrección.

En este caso, asignará una directiva para auditar si la máquina conectada a Azure Arc tiene instalado el agente de Log Analytics. Si no es así, use la característica de extensiones para implementarlo automáticamente en la máquina virtual, que ofrece una experiencia de inscripción equiparable a la de las máquinas virtuales de Azure. Esta estrategia se puede usar para asegurarse de que todos los servidores se incorporan a servicios como Azure Monitor, Microsoft Defender for Cloud, Microsoft Sentinel, etc.

Puede usar Azure Portal, una plantilla de Azure Resource Manager (plantilla de ARM) o un script de PowerShell para asignar directivas a las suscripciones o grupos de recursos de Azure. En los siguientes procedimientos se usa una plantilla de ARM para asignar directivas integradas.

Importante

En los procedimientos de este artículo se da por supuesto que ya ha implementado máquinas virtuales o bien servidores que se ejecutan en el entorno local o en otras nubes y que los ha conectado a Azure Arc. Si no lo ha hecho, la siguiente información puede ayudarle a automatizar este proceso.

Revise la documentación del sistema operativo compatible con Azure Monitor y asegúrese de que se admiten las máquinas virtuales que va a usar en estos procedimientos. En el caso de las máquinas virtuales Linux, compruebe la distribución de Linux y el kernel para asegurarse de que usa una configuración admitida.

Requisitos previos

  1. Clone el repositorio Jumpstart de Azure Arc.

    git clone https://github.com/microsoft/azure_arc
    
  2. Como se ha mencionado, esta guía comienza en el punto en que ya se han implementado y conectado máquinas virtuales o servidores a Azure Arc. En las siguientes capturas de pantallas se muestra un servidor de Google Cloud Platform (GCP) conectado a Azure Arc y visible como recurso en Azure.

    Captura de pantalla del grupo de recursos de un servidor habilitado para Azure Arc.

    Captura de pantalla del estado conectado de un servidor habilitado para Azure Arc.

  3. Instale o actualice la CLI de Azure. La CLI de Azure debe tener la versión 2.7 o posterior. Use az --version para comprobar la versión instalada actual.

  4. Cree una entidad de servicio de Azure.

    Para conectar una máquina virtual o un servidor sin sistema operativo a Azure Arc se necesita una entidad de servicio de Azure con el rol Colaborador. Para crearla, inicie sesión en su cuenta de Azure y ejecute el siguiente comando. También puede ejecutar este comando en Azure Cloud Shell.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Por ejemplo:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    El resultado debe ser similar al siguiente:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Nota:

    Recomendamos encarecidamente que limite el ámbito de la entidad de servicio a un grupo de recursos y una suscripción de Azure específicos.

También deberá tener implementada un área de trabajo de Log Analytics. Puede automatizar la implementación si edita el archivo de parámetros de la plantilla de ARM y proporciona un nombre y una ubicación para el área de trabajo.

Captura de pantalla de un archivo de parámetros de plantilla de ARM.

Para implementar la plantilla de ARM, vaya a la carpeta de implementación y ejecute el siguiente comando:

az deployment group create --resource-group <Name of the Azure resource group> \
--template-file <The `log_analytics-template.json` template file location> \
--parameters <The `log_analytics-template.parameters.json` template file location>

Asignación de directivas a máquinas conectadas a Azure Arc

Una vez que se han establecido todos los requisitos previos, puede asignar directivas a las máquinas conectadas a Azure Arc. Edite el archivo de parámetros para proporcionar el identificador de la suscripción, así como el área de trabajo de Log Analytics.

Captura de pantalla de otro archivo de parámetros de plantilla de ARM.

  1. Para iniciar la implementación, use el siguiente comando:

    az policy assignment create --name 'Enable Azure Monitor for VMs' \
    --scope '/subscriptions/<Your subscription ID>/resourceGroups/<Name of the Azure resource group>' \
    --policy-set-definition '55f3eceb-5573-4f18-9695-226972c6d74a' \
    -p <The *policy.json* template file location> \
    --assign-identity --location <Azure Region>
    

    La marca policy-set-definition apunta al identificador de la definición de iniciativa Enable Azure Monitor.

  2. Una vez asignada la iniciativa, la asignación tarda aproximadamente 30 minutos en aplicarse al ámbito definido. A continuación, Azure Policy inicia el ciclo de evaluación en la máquina conectada a Azure Arc y la reconoce como no compatible, ya que todavía no tiene implementada la configuración del agente de Log Analytics. Para comprobarlo, vaya a la máquina conectada a Azure Arc en la sección Directivas.

    Captura de pantalla de un estado de Azure Policy no compatible.

  3. Ahora, asigne una tarea de corrección al recurso no compatible para cambiarlo a un estado compatible.

    Captura de pantalla de la creación de una tarea de corrección de Azure Policy.

  4. En Directiva que se debe corregir, elija [Versión preliminar] Implementar agente de Log Analytics en máquinas virtuales Linux de Azure Arc y seleccione Corregir. Esta tarea de corrección indica a Azure Policy que ejecute el efecto DeployIfNotExists y use las posibilidades de administración de la extensión de Azure Arc para implementar el agente de Log Analytics en la máquina virtual.

    Captura de pantalla de una acción de corrección de Azure Policy en una tarea de corrección.

  5. Después de haber asignado la tarea de corrección, la directiva se evaluará de nuevo. Debería mostrar que el servidor en GCP es compatible y que el agente de Log Analytics está instalado en la máquina de Azure Arc.

    Captura de pantalla de la configuración de una tarea de corrección.

    Captura de pantalla de un estado compatible de Azure Policy.

Limpieza del entorno

Realice los pasos siguientes para limpiar el entorno.

  1. Quite las máquinas virtuales de cada entorno mediante las instrucciones de eliminación de cada guía.

  2. Quite la asignación de Azure Policy ejecutando el siguiente script en la CLI de Azure.

    az policy assignment delete --name 'Enable Azure Monitor for VMs' --resource-group <resource-group>
    
  3. Quite el área de trabajo de Log Analytics ejecutando el siguiente script en la CLI de Azure. Proporcione el nombre del área de trabajo que ha usado al crear el área de trabajo de Log Analytics.

    az monitor log-analytics workspace delete --resource-group <Name of the Azure resource group> --workspace-name <Log Analytics workspace Name> --yes