Establecimiento o modificación de directivas de Azure API Management

En este artículo se muestra cómo configurar directivas en la instancia de API Management mediante la edición de definiciones de directiva en Azure Portal. Cada definición de directiva es un documento XML que describe una secuencia de instrucciones entrantes y salientes que se ejecutan secuencialmente en una solicitud y respuesta de API.

El editor de directivas del portal proporciona formularios guiados para que los editores de API agreguen y editen directivas en las definiciones de directiva. También puede editar el XML directamente en el editor de código de directiva.

Más información sobre las directivas:

Requisitos previos

Si aún no tiene una instancia de API Management y una API de back-end, consulte:

Vaya a la instancia de API Management.

  1. En Azure Portal, busque y seleccione Servicios de API Management.

    Seleccionar servicios de API Management

  2. En la página de servicios API Management, seleccione la instancia de API Management.

    Seleccionar su instancia de API Management

Configuración de la directiva en el portal

En el ejemplo siguiente se muestra cómo configurar una directiva con dos opciones en el editor de directivas del portal:

  • Un editor guiado basado en formularios para simplificar la configuración de muchas directivas.
  • Un editor de código donde puede agregar o editar XML directamente.

En este ejemplo, la directiva filtra las solicitudes de determinadas direcciones IP entrantes. Se limita a una API seleccionada.

Nota:

Puede configurar directivas en otros ámbitos; por ejemplo, para todas las API, para un producto o para una sola operación de API. Consulte Configuración del ámbito, más adelante en este artículo, para obtener otros ejemplos.

Para configurar una directiva:

  1. En el panel de navegación izquierdo de la instancia de API Management, seleccione API.

  2. Seleccione una API que haya importado anteriormente.

  3. Seleccione la pestaña Diseño.

  4. Para aplicar la directiva a todas las operaciones, seleccione Todas las operaciones.

  5. En la sección Procesamiento de entrada, seleccione + Agregar directiva.

    Agregar directiva en API Management

  6. En Agregar directiva de entrada, seleccione la directiva que quiere agregar. Por ejemplo, seleccione Filtrar direcciones IP.

    Directiva de filtro de direcciones IP

    Sugerencia

    • Las directivas que se muestran se limitan a la sección de directivas que está configurando; en este caso, el procesamiento de entrada.
    • Si no ve la directiva que quiere usar, seleccione el icono Otras directivas. Se abrirá el editor de código XML y se mostrará una lista completa de directivas para esa sección y ámbito.
  7. Seleccione Ip permitidas>+ Agregar filtro de IP y agregue las primeras y últimas direcciones IP de un intervalo de direcciones entrantes que pueden realizar solicitudes de API. Agregue otros intervalos de direcciones IP, si es necesario.

    Configurar las direcciones IP permitidas

  8. Seleccione Guardar para propagar los cambios a la puerta de enlace de API Management inmediatamente.

    La directiva de ip-filter aparece ahora en la sección Procesamiento de entrada.

Configuración de directivas en distintos ámbitos

API Management ofrece la flexibilidad que necesita para configurar definiciones de directiva en varios ámbitos, en cada una de las secciones de directiva.

Importante

No todas las directivas se pueden aplicar en cada ámbito o sección de directivas. Si la directiva que quiere agregar no está habilitada, asegúrese de que se encuentra en una sección y en el ámbito correcto de esa directiva. Para revisar las secciones y los ámbitos de una directiva, compruebe la sección Uso en los temas de referencia de directivas.

Nota:

La sección Directiva de back-end solo puede contener un elemento de directiva. De forma predeterminada, API Management configura la directiva forward-request en la sección Back-end en el ámbito global y el elemento base en otros ámbitos.

Ámbito global

El ámbito global se configura para Todas las API de la instancia de API Management.

  1. En el panel de navegación izquierdo de la instancia de API Management, seleccione API>Todas las API.

  2. Seleccione la pestaña Diseño.

    Configurar directiva en el ámbito de producto

  3. En una sección de la directiva, seleccione + Agregar directiva para usar un editor de directivas basado en formularios o seleccione el icono </> (editor de código) para agregar y editar XML directamente.

  4. Seleccione Guardar para propagar los cambios a la puerta de enlace de API Management inmediatamente.

Ámbito del producto

El ámbito del producto está configurado para el producto seleccionado.

  1. En el menú de la izquierda, seleccione Productos y, a continuación, seleccione un producto al que quiera aplicar directivas.

  2. En la ventana del producto, seleccione Directivas.

    Configurar directiva en el ámbito global

  3. En una sección de la directiva, seleccione + Agregar directiva para usar un editor de directivas basado en formularios o seleccione el icono </> (editor de código) para agregar y editar XML directamente.

  4. Seleccione Guardar para propagar los cambios a la puerta de enlace de API Management inmediatamente.

Ámbito de la API

El ámbito de la API está configurado para todas las operaciones de la API seleccionada.

  1. En el panel de navegación izquierdo de la instancia de API Management, seleccione API y, a continuación, seleccione la API a la que quiera aplicar directivas.

  2. Seleccione la pestaña Diseño.

  3. Seleccione Todas las operaciones.

    Configurar directiva en el ámbito de API

  4. En una sección de la directiva, seleccione + Agregar directiva para usar un editor de directivas basado en formularios o seleccione el icono </> (editor de código) para agregar y editar XML directamente.

  5. Seleccione Guardar para propagar los cambios a la puerta de enlace de API Management inmediatamente.

Ámbito de la operación

El ámbito de la operación está configurado para la operación de API seleccionada.

  1. En el panel de navegación izquierdo de la instancia de API Management, seleccione API.

  2. Seleccione la pestaña Diseño.

  3. Seleccione la operación en la que quiere aplicar directivas.

    Configurar directiva en el ámbito de operación

  4. En una sección de la directiva, seleccione + Agregar directiva para usar un editor de directivas basado en formularios o seleccione el icono </> (editor de código) para agregar y editar XML directamente.

  5. Seleccione Guardar para propagar los cambios a la puerta de enlace de API Management inmediatamente.

Reutilización de configuraciones de directivas

Puede crear fragmentos de directiva reutilizables en la instancia de API Management. Los fragmentos de directiva son elementos XML que contienen las configuraciones de una o varias directivas. Ayudan a configurar directivas de forma coherente y a mantener las definiciones de directiva sin necesidad de repetir o volver a escribir código XML.

Use la directiva include-fragment para insertar un fragmento de directiva en una definición de directiva.

Uso del elemento base para establecer el orden de evaluación de directivas

Si configura definiciones de directiva en más de un ámbito, se pueden aplicar varias directivas a una solicitud o respuesta de API. Dependiendo del orden en que se apliquen las directivas de los distintos ámbitos, la transformación de la solicitud o respuesta podría ser diferente.

En API Management, determine el orden de evaluación de directivas colocando el elemento base en cada sección de la definición de directiva en cada ámbito. El elemento base hereda las directivas configuradas en esa sección en el siguiente ámbito más amplio (primario). El elemento base se incluye de forma predeterminada en cada sección de directiva.

Nota

Para ver las directivas vigentes en el ámbito actual, seleccione Calculate effective policy.

Para modificar el orden de evaluación de directivas mediante el editor de directivas:

  1. Comience con la definición en el ámbito más estrecho que configuró, y que API Management aplicará primero.

    Por ejemplo, al usar definiciones de directiva configuradas en el ámbito global y el ámbito de la API, comience con la configuración en el ámbito de la API.

  2. Coloque el elemento base dentro de una sección para determinar dónde se heredarán todas las directivas de la sección correspondiente en el ámbito primario.

    Por ejemplo, en una sección inbound configurada en el ámbito de la API, coloque un elemento base para controlar dónde heredar las directivas configuradas en la sección inbound en el ámbito global. En el ejemplo siguiente, las directivas heredadas del ámbito global se aplican antes de la directiva ip-filter.

    <policies>
      <inbound>
          <base />
            <ip-filter action="allow">
                <address>10.100.7.1</address>
            </ip-filter>
      </inbound>
      [...]
    </policies>
    

    Nota:

    • Puede colocar el elemento base antes o después de cualquier elemento de directiva en una sección.
    • Si quiere evitar la herencia de directivas del ámbito primario, quite el elemento base. En la mayoría de los casos, esto no se recomienda.
  3. Siga configurando el elemento base en las definiciones de directiva en los ámbitos que sean sucesivamente más amplios.

    Una directiva de ámbito global no tiene un ámbito principal y el uso del elemento base no tiene ningún efecto.

Pasos siguientes

Para más información sobre el trabajo con directivas, vea: