Compartir vía


Protección de servicios back-end mediante la autenticación de certificados de cliente en Azure API Management

SE APLICA A: Todos los niveles de API Management

API Management permite proteger el acceso al servicio back-end de una API mediante certificados de cliente y autenticación TLS mutua. En este artículo se muestra cómo administrar certificados en API Management mediante Azure Portal. También se explica cómo configurar una API para que use un certificado para acceder a un servicio back-end.

También puede administrar certificados de API Management mediante la API REST de API Management.

Opciones de certificado

API Management proporciona dos opciones para administrar certificados que se usan para proteger el acceso a los servicios back-end:

  • Haga referencia a un certificado administrado en Azure Key Vault.
  • Agregue un archivo de certificado directamente en API Management.

Nota:

Actualmente, la integración con el almacén de claves para este escenario no está disponible en las áreas de trabajo.

Se recomienda usar certificados del almacén de claves, ya que, al hacerlo, se mejora la seguridad de API Management:

  • Los certificados almacenados en almacenes de claves se pueden reutilizar en todos los servicios.
  • Las directivas de acceso granulares se pueden aplicar a los certificados almacenados en almacenes de claves.
  • Los certificados actualizados en el almacén de claves se rotan automáticamente en API Management. Después de una actualización en el almacén de claves, se actualiza un certificado en API Management en un plazo de cuatro horas. También puede actualizar manualmente el certificado mediante Azure Portal o a través de la API rest de administración.

Requisitos previos

Nota:

Se recomienda usar el módulo de PowerShell de Azure Az para interactuar con Azure. Para comenzar, consulte Instalar Azure PowerShell. Para obtener más información sobre cómo migrar al módulo Az de PowerShell, consulte Migrar Azure PowerShell de AzureRM a Az.

  • Si aún no ha creado una instancia de API Management, consulte Creación de una instancia del servicio API Management.

  • Configure la autenticación de certificados de cliente del servicio back-end. Para obtener información sobre cómo configurar la autenticación de certificados en Azure App Service, consulte la configuración de la autenticación mutua TLS en App Service.

  • Asegúrese de que tiene acceso al certificado y a la contraseña para la administración en un almacén de claves de Azure o un certificado para cargarlo en el servicio API Management. El certificado debe estar en formato PFX. Se admiten los certificados autofirmados.

  • Si usa un certificado autofirmado u otro certificado de entidad de certificación personalizado y la instancia de API Management se encuentra en uno de los niveles clásicos, instale los certificados de ENTIDAD de certificación raíz e intermedio correspondientes en API Management para habilitar la validación del certificado de servicio back-end. Para más información, consulte Cómo agregar un certificado CA personalizado en Azure API Management

    Si no instala los certificados de entidad de certificación, API Management no puede validar el certificado de servicio back-end y se producirá un error en las solicitudes al servicio back-end a menos que deshabilite la validación de la cadena de certificados. Consulte Deshabilitación de la validación de la cadena de certificados para certificados autofirmados más adelante en este artículo.

    Importante

    Si la instancia de API Management está en uno de los niveles v2, solo puede configurar los detalles de los certificados de CA en las credenciales de autorización de un backend. Consulte las instrucciones para el backend para obtener más información.

    Nota:

    Los certificados de CA para la validación de certificados no se admiten en el nivel Consumo.

Requisitos previos para la integración de un almacén de claves

  1. Si aún no tiene un almacén de claves, créelo. Para obtener información sobre cómo crear un almacén de claves, consulte Inicio rápido: Creación de un almacén de claves mediante Azure Portal.

  2. Habilite una identidad administrada asignada por el sistema o asignada por el usuario en API Management.

Configuración del acceso al almacén de claves

  1. En el portal, vaya al almacén de claves.
  2. En el menú de la izquierda, seleccione Configuración>de acceso. Tenga en cuenta el modelo de permisos configurado.
  3. En función del modelo de permisos, configure una directiva de acceso al almacén de claves o el acceso de Azure RBAC para una identidad administrada de API Management.

Para agregar una directiva de acceso del almacén de claves:

  1. En el menú de la izquierda, seleccione Directivas de acceso.
  2. En la página Directivas de acceso, seleccione + Crear.
  3. En la pestaña Permisos , en Permisos secretos, seleccione Obtener y enumerar y, a continuación, seleccione Siguiente.
  4. En la pestaña Principal, busque el nombre del recurso de su identidad administrada y, a continuación, seleccione Siguiente. Si usa una identidad asignada por el sistema, la entidad de seguridad es el nombre de la instancia de API Management.
  5. Seleccione Siguiente de nuevo. En la pestaña Revisar y crear, seleccione Crear.

Para crear un certificado en el almacén de claves o importar un certificado en el almacén de claves, consulte Inicio rápido: Establecimiento y recuperación de un certificado de Azure Key Vault mediante Azure Portal.

Requisitos de firewall de Key Vault

Si el firewall de Key Vault está habilitado en el almacén de claves, debe cumplir estos requisitos:

  • Debe usar la identidad administrada asignada por el sistema de la instancia de API Management para acceder al almacén de claves.

  • Asegúrese de que la instancia de API Management tenga conectividad de red hacia el almacén de claves. En función de los escenarios, configure una de las siguientes opciones de acceso de red en el almacén de claves:

    • Permitir el acceso público desde todas las redes.

    • Establezca una regla de seguridad de red para permitir el tráfico de API Management en función de la dirección IP o la conectividad de red virtual.

    • Proteja el tráfico de API Management con conectividad de Private Link.

    • Use un perímetro de seguridad de red para proteger el almacén de claves y permitir el tráfico desde API Management.

  • Asegúrese de que la dirección IP del cliente local tenga permiso para acceder al almacén de claves temporalmente mientras selecciona un certificado o secreto para agregar a Azure API Management. Para más información, vea Configuración de redes de Azure Key Vault.

    Después de completar la configuración, puede bloquear la dirección del cliente en el firewall del almacén de claves.

Importante

A partir de marzo de 2026, ya no se admitirá la conectividad de servicios de confianza a Azure Key Vault desde API Management mediante la activación de la configuración del firewall del almacén de claves Permitir que los servicios de confianza de Microsoft omitan este firewall. Para seguir usando Key Vault con API Management después de este cambio, asegúrese de elegir una opción de acceso de red compatible como se ha descrito anteriormente. Más información.

Requisitos de red virtual

Si la instancia de API Management se ha implementado en una red virtual, configure también las siguientes opciones de red:

Para más información, consulte Configuración de red al configurar API Management en una red virtual.

Adición de un certificado del almacén de claves

Consulte Requisitos previos para la integración de un almacén de claves.

Importante

Para agregar un certificado de almacén de claves a la instancia de API Management, debe tener permisos para enumerar los secretos del almacén de claves.

Precaución

Al usar un certificado de almacén de claves en API Management, tenga cuidado de no eliminar el certificado, el almacén de claves o la identidad administrada que se usa para acceder al almacén de claves.

Para agregar un certificado del almacén de claves a API Management:

  1. En Azure Portal, vaya a la instancia de API Management.

  2. En Seguridad, seleccione Certificados.

  3. Seleccione Certificados>+ Agregar.

  4. En Id., escriba un nombre.

  5. En Certificado, seleccione Almacén de claves.

  6. Escriba el identificador de un certificado de almacén de claves o elija Seleccionar para seleccionar un certificado de un almacén de claves.

    Importante

    Si escribe un identificador de certificado del almacén de claves usted mismo, asegúrese de que no tiene información de versión. De lo contrario, el certificado no se rotará automáticamente en API Management después de una actualización en el almacén de claves.

  7. En Identidad de cliente, seleccione una identidad asignada por el sistema o una identidad administrada asignada por el usuario existente. Para obtener más información, vea Uso de identidades administradas en Azure API Management.

    Nota:

    La identidad debe tener permisos para obtener y enumerar certificados del almacén de claves. Si aún no ha configurado el acceso al almacén de claves, API Management le pedirá que pueda configurar automáticamente la identidad con los permisos necesarios.

  8. Seleccione Agregar.

    Captura de pantalla que muestra cómo agregar un certificado de almacén de claves a API Management en el portal.

  9. Seleccione Guardar.

Carga de un certificado

Para cargar un certificado de cliente en API Management:

  1. En Azure Portal, vaya a la instancia de API Management.

  2. En Seguridad, seleccione Certificados.

  3. Seleccione Certificados>+ Agregar.

  4. En Id., escriba un nombre.

  5. En Certificado, seleccione Personalizado.

  6. Navegue para seleccionar el archivo .pfx del certificado y escriba su contraseña.

  7. Seleccione Agregar.

    Captura de pantalla de la carga de un certificado cliente a API Management en el portal.

  8. Seleccione Guardar.

Una vez cargado el certificado, se muestra en la ventana Certificados. Si tiene muchos certificados, anote la huella digital del certificado que acaba de cargar. Necesitará configurar una API para usar el certificado de cliente para la autenticación de puerta de enlace.

Configuración de una API para usar un certificado de cliente para la autenticación de puerta de enlace

  1. En Azure Portal, vaya a la instancia de API Management.

  2. En API, seleccione API.

  3. Seleccione una API en la lista.

  4. En la pestaña Diseño , seleccione el icono de lápiz en la sección Back-end .

  5. En Credenciales de puerta de enlace, seleccione Certificado de cliente y, a continuación, seleccione el certificado en la lista Certificado de cliente .

  6. Seleccione Guardar.

    Uso de un certificado de cliente para la autenticación de puerta de enlace

Precaución

Este cambio entra en vigor inmediatamente. Las llamadas a las operaciones de la API usarán el certificado para autenticarse en el servidor back-end.

Sugerencia

Cuando se especifica un certificado para la autenticación de puerta de enlace para el servicio back-end de una API, se convierte en parte de la directiva de esa API y se puede ver en el editor de directivas.

Deshabilitación de la validación de la cadena de certificados para los certificados autofirmados

Si usa certificados autofirmados y la instancia de API Management se encuentra en uno de los niveles clásicos, debe deshabilitar la validación de la cadena de certificados para permitir que API Management se comunique con el sistema back-end. De lo contrario, obtendrá un código de error 500. Para deshabilitar esta validación, puede usar los cmdlets de PowerShell New-AzApiManagementBackend (para un nuevo back-end) o Set-AzApiManagementBackend (para un back-end existente) y establecer el parámetro -SkipCertificateChainValidation en True:

$context = New-AzApiManagementContext -ResourceGroupName 'ContosoResourceGroup' -ServiceName 'ContosoAPIMService'
New-AzApiManagementBackend -Context  $context -Url 'https://contoso.com/myapi' -Protocol http -SkipCertificateChainValidation $true

También puede deshabilitar la validación de la cadena de certificados mediante la API REST de back-end.

Eliminar un certificado de cliente

Para eliminar un certificado, seleccione Eliminar en el menú de puntos suspensivos (...):

Eliminación de un certificado

Importante

Si cualquier directiva hace referencia al certificado, aparecerá una pantalla de advertencia. Para eliminar el certificado, primero debe quitarlo de las políticas configuradas para usarlo.