Autenticar con certificado de cliente
SE APLICA A: todos los niveles de API Management
Use la directiva authentication-certificate
para realizar la autenticación con un servicio de back-end mediante un certificado de cliente. Si el certificado se instala en API Management primero, identifíquelo primero mediante su huella digital o identificador de certificado (nombre del recurso).
Precaución
Minimice los riesgos de exposición de credenciales al configurar esta directiva. Microsoft recomienda usar métodos de autenticación más seguros si son compatibles con el back-end, como la autenticación de identidad administrada o el administrador de credenciales. Si configura información confidencial en las definiciones de directiva, se recomienda usar valores con nombre y almacenar secretos en Azure Key Vault.
Precaución
Si el certificado hace referencia a un certificado almacenado en Azure Key Vault, se identifica mediante el id. de certificado. Cuando se gira un certificado de Key Vault, su huella digital en API Management cambiará, por lo que la directiva no resolverá el nuevo certificado si se identifica mediante la huella digital.
Nota:
Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.
Instrucción de la directiva
<authentication-certificate thumbprint="thumbprint" certificate-id="resource name" body="certificate byte array" password="optional password"/>
Atributos
Atributo | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
thumbprint | La huella digital del certificado de cliente. Se permiten expresiones de directiva. | thumbprint o certificate-id deben estar presentes. |
N/D |
certificate-id | Nombre del recurso de certificado. Se permiten expresiones de directiva. | thumbprint o certificate-id deben estar presentes. |
N/D |
body | Certificado de cliente como matriz de bytes. Úselo si el certificado no se recupera del almacén de certificados integrado. Se permiten expresiones de directiva. | No | N/D |
password | Contraseña del certificado de cliente. Se permiten expresiones de directiva. | Úselo si el certificado especificado en body está protegido mediante contraseña. |
N/D |
Uso
- Secciones de la directiva: inbound (entrada)
- Ámbitos de la directiva: global, área de trabajo, producto, API, operación
- Puertas de enlace: clásica, v2, consumo, autohospedada y área de trabajo
Notas de uso
- Se recomienda configurar certificados del almacén de claves para administrar certificados usados para proteger el acceso a los servicios de back-end.
- Si configura una contraseña de certificado en esta directiva, se recomienda usar un valor con nombre.
Ejemplos
Certificado de cliente identificado por el identificador de certificados
<authentication-certificate certificate-id="544fe9ddf3b8f30fb490d90f" />
Certificado de cliente identificado por la huella digital
<authentication-certificate thumbprint="CA06F56B258B7A0D4F2B05470939478651151984" />
Certificado de cliente establecido en la directiva en lugar de recuperarlo del almacén de certificados integrado
<authentication-certificate body="@(context.Variables.GetValueOrDefault<byte[]>("byteCertificate"))" password="optional-certificate-password" />
Directivas relacionadas
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Creación de directivas mediante Microsoft Copilot en Azure