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 ArcManage Azure policies and deploy the Azure monitoring agent extension to Azure Arc Linux and Windows servers

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.This article provides guidance on how to use Azure Arc enabled servers to assign Azure policies to VMs outside of Azure, whether they are on-premises or on other clouds. 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 podrá desencadenar una tarea de corrección.With this feature you can now use Azure Policy to audit settings in the operating system of an Azure Arc enabled server, if a setting is not compliant you can also trigger a remediation task.

En este caso, asignará una directiva para comprobar si la máquina conectada de Azure Arc tiene instalado el agente de MMA (Microsoft Monitoring Agent).In this case, you will assign a policy to audit if the Azure Arc connected machine has the (Microsoft Monitoring Agent) MMA agent installed. 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.If not, use the extensions feature to automatically deploy it to the VM, an enrollment experience that levels to Azure VMs. Esta estrategia se puede usar para asegurarse de que todos los servidores se incorporan a servicios como Azure Monitor, Azure Security Center, Azure Sentinel, etc.This approach can be used to make sure all your servers are onboard to services such as Azure Monitor, Azure Security Center, Azure Sentinel, and so on.

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.You can use the Azure portal, an Azure Resource Manager template (ARM template) or PowerShell script to assign policies to Azure subscriptions or resource groups. En los siguientes procedimientos se usa una plantilla de ARM para asignar directivas integradas.The following procedures use an ARM template to assign built-in policies.

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.The procedures in this article assumes you've already deployed VMs, or servers that are running on-premises or on other clouds, and you have connected them to Azure Arc. If you haven't, the following information can help you automate this.

Revise la documentación del sistema operativo compatible con Azure Monitor y asegúrese de que se admiten las máquinas virtuales que van a usar en estos procedimientos.Please review the Azure Monitor supported OS documentation and ensure that the VMs you use for these procedures are supported. En el caso de las máquinas virtuales Linux, compruebe la distribución y el kernel de Linux para asegurarse de que usa una configuración compatible.For Linux VMs, check both the Linux distribution and kernel to ensure you are using a supported configuration.

Requisitos previosPrerequisites

  1. Clone el repositorio Jumpstart de Azure Arc.Clone the Azure Arc Jumpstart repository.

    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.As mentioned, this guide starts at the point where you already deployed and connected VMs or servers to Azure Arc. In the following screenshots a Google Cloud Platform (GCP) server has been connected with Azure Arc and is visible as a resource in 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.Install or update Azure CLI. La CLI de Azure debe tener la versión 2.7 o posterior.Azure CLI should be running version 2.7 or later. Use az --version para comprobar la versión instalada actual.Use az --version to check your current installed version.

  4. Cree una entidad de servicio de Azure.Create an Azure service principal.

    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.To connect a VM or bare-metal server to Azure Arc, Azure service principal assigned with the Contributor role is required. Para crearla, inicie sesión en su cuenta de Azure y ejecute el siguiente comando.To create it, sign in to your Azure account and run the following command. También puede ejecutar este comando en Azure Cloud Shell.You can also run this command in Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    Por ejemplo:For example:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

    El resultado debe ser similar al siguiente:The output should look like this:

    {
    "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "displayName": "AzureArcServers",
    "name": "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.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

También deberá tener implementada un área de trabajo de Log Analytics.You'll also need to have a Log Analytics workspace deployed. 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.You can automate the deployment by editing the ARM template parameters file and providing a name and location for your workspace.

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:To deploy the ARM template, navigate to the deployment folder and run the following command:

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 en Azure ArcAssign policies to Azure Arc connected machines

Una vez que se han establecido todos los requisitos previos, puede asignar directivas a las máquinas conectadas de Azure Arc.After all the prerequisites are set, you can assign policies to the Azure Arc connected machines. Edite el archivo de parámetros para proporcionar el identificador de la suscripción, así como el área de trabajo de Log Analytics.Edit the parameters file to provide your subscription ID as well as the Log Analytics workspace.

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

  1. Para iniciar la implementación, use el siguiente comando:To start the deployment, use the following command:

    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.The policy-set-definition flag points to the initiative Enable Azure Monitor definition ID.

  2. Una vez asignada la iniciativa, la asignación tarda aproximadamente 30 minutos en aplicarse al ámbito definido.After the initiative is assigned, it takes about 30 minutes for the assignment to be applied to the defined scope. A continuación, Azure Policy inicia el ciclo de evaluación en la máquina conectada de Azure Arc y la reconoce como no compatible, ya que todavía no tiene implementada la configuración del agente de Log Analytics.Azure Policy then starts the evaluation cycle against the Azure Arc connected machine and recognizes it as noncompliant because it still doesn't have the Log Analytics agent configuration deployed. Para comprobarlo, vaya a la máquina conectada a Azure Arc en la sección de directivas.To check this, go to the Azure Arc connected machine under the policies section.

    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.Now, assign a remediation task to the noncompliant resource to put into a compliant state.

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

  4. En Directiva que se debe corregir, elija [Preview] Deploy Log Analytics Agent to Linux Azure Arc machines ([Versión preliminar] Implementar agente de Log Analytics en máquinas virtuales Linux de Azure Arc) y seleccione Corregir.Under Policy to remediate, choose [Preview] Deploy Log Analytics Agent to Linux Azure Arc machines and select Remediate. 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.This remediation task is instructing Azure Policy to run the DeployIfNotExists effect and use the Azure Arc extension management capabilities to deploy the Log Analytics agent on the VM.

    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.After you have assigned remediation task, the policy will be evaluated again. Debería mostrar que el servidor en GCP es compatible y que la extensión Microsoft Monitoring Agent está instalada en la máquina de Azure Arc.It should show that the server on GCP is compliant and that the Microsoft Monitoring Agent extension is installed on the Azure Arc machine.

    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 entornoClean up your environment

Realice los pasos siguientes para limpiar el entorno.Complete the following steps to clean up your environment.

  1. Quite las máquinas virtuales de su entorno correspondiente siguiendo las instrucciones de desmontaje de la guía adecuada.Remove the virtual machines from each environment by following the teardown instructions from each guide.

  2. Quite la asignación de Azure Policy ejecutando el siguiente script en la CLI de Azure.Remove the Azure Policy assignment by executing the following script in Azure CLI.

    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.Remove the Log Analytics workspace by executing the following script in Azure CLI. Proporcione el nombre del área de trabajo que ha usado al crear el área de trabajo de Log Analytics.Provide the workspace name you used when creating the Log Analytics workspace.

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