Configuración de grupos de red con Azure Policy en Azure Virtual Network Manager

En este artículo, aprenderá cómo se usa Azure Policy en Azure Virtual Network Manager para definir la pertenencia dinámica a grupos de red. Los grupos de red dinámicos permiten crear entornos de red virtual escalables y adaptados dinámicamente en la organización.

Importante

Azure Virtual Network Manager está disponible con carácter general para Virtual Network Manager, para las configuraciones de conectividad en estrella tipo hub-and-spoke y para las configuraciones de seguridad con reglas de administración de seguridad. Las configuraciones de conectividad de malla permanecen en versión preliminar pública.

Esta versión preliminar se ofrece sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

Introducción a Azure Policy.

Para evaluar los recursos de Azure, Azure Policy compara las propiedades de esos recursos con las reglas de negocio. Estas reglas de negocio, descritas en formato JSON, se conocen como definiciones de directiva. Una vez que se forman las reglas de negocio, se asigna la definición de directiva a cualquier ámbito de recursos que admita Azure, como grupos de administración, suscripciones, grupos de recursos o recursos individuales. La asignación se aplica a todos los recursos dentro del ámbito de Resource Manager de esa asignación. Obtenga más información sobre la utilización del ámbito con Ámbito en Azure Policy.

Nota:

Azure Policy solo se usa para la definición de pertenencia dinámica a grupos de red.

Definición de directiva de grupo de red

La creación e implementación de una directiva en Azure Policy comienza con la creación de un recurso de definición de directiva. Cada definición de directiva tiene condiciones para la aplicación y un efecto definido que tiene lugar si se cumplen las condiciones.

Con los grupos de red, la definición de directiva incluye la expresión condicional para hacer coincidir las redes virtuales con los criterios y especifica el grupo de red de destino donde se colocan los recursos coincidentes. El efecto addToNetworkGroup se usa para colocar recursos en el grupo de red de destino. Este es un ejemplo de una definición de regla de directiva con el efecto addToNetworkGroup. Para todas las directivas personalizadas, la propiedad mode se establece en Microsoft.Network.Data para dirigirse al proveedor de recursos del grupo de red y es necesario para crear una definición de directiva para Azure Virtual Network Manager.

"mode": "Microsoft.Network.Data",
"policyRule": {
      "if": {
        "allOf": [
          {
            "field": "Name",
            "contains": "-gen"
          }
        ]
      },
      "then": {
        "effect": "addToNetworkGroup",
        "details": {
          "networkGroupId": "/subscriptions/12345678-abcd-123a-1234-1234abcd7890/resourceGroups/myResourceGroup2/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNG"
        }
      }
}

Importante

Al definir una directiva, el networkGroupId debe ser el identificador de recurso completo del grupo de red de destino, tal como se muestra en la definición de ejemplo. No admite la parametrización en la definición de directiva. Si necesita parametrizar el grupo de red, puede usar una plantilla de Azure Resource Manager para crear la definición y la asignación de directivas.

Cuando se usa Azure Policy con Azure Virtual Network Manager, la directiva se dirige a una propiedad de proveedor de recursos de Microsoft.Network.Data. Por este motivo, debe especificar un policyType de Custom en la definición de directiva. Al crear una directiva para agregar de forma dinámica miembros en Virtual Network Manager, esto se aplica automáticamente cuando se crea la directiva. Solo tiene que elegir custom al crear una nueva definición de directiva a través de Azure Policy u otras herramientas fuera del panel de Virtual Network Manager.

Este es un ejemplo de una definición de directiva con la propiedad policyType establecida en Custom.


"properties": {
      "displayName": "myProdAVNM",
      "policyType": "Custom",
      "mode": "Microsoft.Network.Data",
      "metadata": {
        "category": "Azure Virtual Network Manager",
        "createdBy": "-----------------------------",
        "createdOn": "2023-04-10T15:35:35.9308987Z",
        "updatedBy": null,
        "updatedOn": null
      }
}

Más información sobre la estructura de la definición de directiva.

Creación de una asignación de directiva

De forma similar a las configuraciones de Virtual Network Manager, las definiciones de directiva no surten efecto inmediatamente al crearlas. Para empezar su aplicación, debe crear una asignación de directiva, que asigna una definición para evaluarla en un ámbito determinado. Actualmente, todos los recursos dentro del ámbito se evalúan con respecto a la definición, lo que permite una única definición reutilizable que puede asignar en varios lugares para un control más granular de la pertenencia a un grupo. Obtenga más información sobre la estructura de asignación para Azure Policy.

Las definiciones de directiva y la asignación se pueden crear mediante API/PS/CLI o Azure Policy Portal.

Permisos necesarios

Para usar grupos de red con Azure Policy, los usuarios necesitan los permisos siguientes:

  • Microsoft.Authorization/policyassignments/Write y Microsoft.Authorization/policydefinitions/Write son necesarios en el ámbito que se va a asignar.
  • La acción Microsoft.Network/networkManagers/networkGroups/join/action es necesaria en el grupo de red de destino al que se hace referencia en la sección Agregar al grupo de red. Este permiso permite agregar y quitar objetos del grupo de red de destino.
  • Cuando se usan definiciones fijas para asignar varias directivas al mismo tiempo, en el momento de la asignación se necesitan permisos Microsoft.Network/networkManagers/networkGroups/join/action simultáneos en todas las definiciones que se asignen.

Para establecer los permisos necesarios, se pueden asignar a los usuarios roles integrados con control de acceso basado en roles:

  • Rol Colaborador de red para el grupo de red de destino.
  • Rol Colaborador de directivas de recursos en el nivel de ámbito de destino.

Para una asignación de roles más granular, puede crear roles personalizados mediante los permisos Microsoft.Network/networkManagers/networkGroups/join/action y policy/write.

Importante

Para modificar los grupos dinámicos de AVNM, solo debe tener acceso mediante la asignación de roles de Azure RBAC. No se admite la autorización heredada ni de administración clásica; esto significa que si a la cuenta solo se le asignó el rol de suscripción de coadministrador, no tendría permisos en los grupos dinámicos de AVNM.

Junto con los permisos necesarios, las suscripciones y los grupos de administración deben registrarse con los siguientes proveedores de recursos:

  • Microsoft.Network es necesario para crear redes virtuales.
  • Microsoft.PolicyInsights es necesario para usar Azure Policy.

Para establecer el registro de los proveedores necesarios, use Register-AzResourceProvider en Azure PowerShell o az provider register en la CLI de Azure.

Sugerencias útiles

Filtrado de tipos

Al configurar las definiciones de directiva, se recomienda incluir una condición de tipo para definir el ámbito de las redes virtuales. Esta condición permite que una directiva filtre las operaciones que no son de red virtual y mejore la eficacia de los recursos de la directiva.

Segmentación regional

Los recursos de directiva son globales, lo que significa que cualquier cambio surte efecto en todos los recursos del ámbito de asignación, independientemente de la región. Si la segmentación regional y el lanzamiento gradual es un problema para usted, se recomienda incluir una condición de where location in []. Después, puede expandir incrementalmente la lista de ubicaciones para implementar gradualmente el efecto.

Ámbito de asignación

Si sigue los procedimientos recomendados del grupo de administración mediante grupos de administración de Azure, es probable que ya tenga los recursos organizados en una estructura de jerarquía. Mediante las asignaciones, puede asignar la misma definición a varios ámbitos distintos dentro de la jerarquía, lo que le permite tener un control de mayor granularidad de los recursos que son aptos para el grupo de red.

Eliminación de una definición de Azure Policy asociada a un grupo de red

Puede haber casos en los que ya no necesite una definición de Azure Policy. Las instancias incluyen cuando se elimina un grupo de red asociado a una directiva o tiene una directiva sin usar que ya no necesita. Para eliminar la directiva, debe eliminar el objeto de asociación de directivas y, a continuación, eliminar la definición de directiva en Azure Policy. Una vez completada la eliminación, el nombre de la definición no se puede reutilizar ni se puede volver a hacer referencia a él al asociar una nueva definición a un grupo de red.

Pasos siguientes