Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
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 Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de 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:
Instale certificados de entidad de certificación intermedios y raíz de confianza en la instancia de API Management.
Nota:
Los certificados de CA para la validación de certificados no se admiten en el nivel Consumo.
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.
Requisitos previos para la integración de un almacén de claves
Nota:
Actualmente, esta característica no está disponible en las áreas de trabajo.
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.
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
- En el portal, vaya al almacén de claves.
- En el menú de la izquierda, seleccione Configuración de acceso. Tenga en cuenta el modelo de permisos configurado.
- 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:
- En el menú de la izquierda, seleccione Directivas de acceso.
- En la página Directivas de acceso, seleccione + Crear.
- En la pestaña Permisos , en Permisos secretos, seleccione Obtener y enumerar y, a continuación, seleccione Siguiente.
- En la pestaña Principal, seleccione 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.
- 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.
En el firewall de Key Vault, establezca la opción ¿Quiere permitir que los servicios de confianza de Microsoft puedan omitir este firewall?
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.
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:
- Habilite un punto de conexión de servicio al Key Vault en la subred de API Management.
- Configure una regla de grupo de seguridad de red (NSG) para permitir el tráfico saliente a las etiquetas de servicio AzureKeyVault y AzureActiveDirectory.
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:
En Azure Portal, vaya a la instancia de API Management.
En Seguridad, seleccione Certificados.
Seleccione Certificados>+ Agregar.
En Id., escriba un nombre.
En Certificado, seleccione Almacén de claves.
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.
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.
Seleccione Agregar.
Seleccione Guardar.
Carga de un certificado
Para cargar un certificado de cliente en API Management:
En Azure Portal, vaya a la instancia de API Management.
En Seguridad, seleccione Certificados.
Seleccione Certificados>+ Agregar.
En Id., escriba un nombre.
En Certificado, seleccione Personalizado.
Navegue para seleccionar el archivo .pfx del certificado y escriba su contraseña.
Seleccione Agregar.
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
En Azure Portal, vaya a la instancia de API Management.
En API, seleccione API.
Seleccione una API en la lista.
En la pestaña Diseño , seleccione el icono de lápiz en la sección Back-end .
En Credenciales de puerta de enlace, seleccione Certificado de cliente y, a continuación, seleccione el certificado en la lista Certificado de cliente .
Seleccione Guardar.
Precaución
Este cambio es efectivo 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, 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 (...):
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.