OpenAI Mutual TLS permite a las organizaciones configurar una capa adicional de seguridad para su tráfico de la API de OpenAI. Una vez configurado, las solicitudes a la API deben hacerse a https://mtls.api.openai.com (o a https://mtls-eu.api.openai.com para clientes con residencia de datos en la UE), y el tráfico solo se aceptará si se proporcionan la clave de API correcta y el certificado de cliente. mTLS no se aplica al panel de https://platform.openai.com. Esta función se encuentra actualmente en beta.
¿Cómo configuro la integración de mTLS?
En la barra de navegación de configuración, verás una pestaña de “Mutual TLS”.
Subir certificado
Activar certificado
Después de subir tu certificado, el siguiente paso es activarlo. Una vez que un certificado se activa para un proyecto, todas las solicitudes a la API dirigidas a ese proyecto también comenzarán a requerir un certificado de cliente correspondiente. Si un proyecto tiene varios certificados activados, puedes pasar cualquier certificado de cliente correspondiente. Si se activa un certificado para la organización, se aplicará a todas las solicitudes a la API y será “heredado” por todos los proyectos.
Requisitos del certificado de CA
Puedes subir cualquier certificado de CA X.509 en formato PEM que cumpla con los siguientes requisitos:
firma directamente tus certificados de cliente con los que planeas hacer solicitudes
tiene las extensiones Certificate Authority, Subject Key Identifier y Authority Key Identifier (en formato KeyIdentifier)
tiene los permisos de uso de clave: “Certificate Sign, CRL Sign”
no está configurado para vencer dentro de 1 día
el tamaño total del certificado debe ser menor de 16 kb.
Requisitos del certificado de cliente
Los certificados de cliente deben estar firmados directamente por los certificados que subiste previamente. Por el momento, solo admitimos cadenas de certificados de una sola longitud. Además de esto, tus certificados de cliente deben cumplir con los siguientes requisitos:
tiene la extensión Subject Key Identifier y Authority Key Identifier (en formato KeyIdentifier)
tiene los permisos de uso de clave: “Digital Signature, Key Encipherment”
tiene el permiso de uso extendido de clave: “TLS Web Client Authentication”
tiene la extensión Subject Alternative Name
Preguntas frecuentes
¿Puedo configurar mTLS mediante la API?
Sí; puedes consultar la referencia de la API en https://platform.openai.com/docs/api-reference/ para obtener más información.
¿Qué puntos de acceso admiten mTLS?
Durante este período beta, mTLS es compatible oficialmente con
/v1/chat/completions (con todas las extensiones compatibles; p. ej., imagen, audio, streaming, etc.)/v1/completions/v1/embeddings/v1/audio/transcriptions/v1/audio/speech/v1/files/v1/batches/v1/responses/v1/images/v1/moderations/v1/realtime (mediante WebSockets del lado del servidor)/v1/fine_tuning/v1/tunnels
¿Cómo envío certificados de cliente con mi solicitud?
Para una solicitud de cURL, puedes usar las opciones --cert y --key (consulta la página man aquí). En la mayoría de los demás clientes HTTP, también hay formas de pasar certificados de cliente. Ejemplos: requests en Python, fetch en JS. A través de nuestros SDK oficiales, también admitimos reemplazar el cliente HTTP; consulta aquí un ejemplo en Python.
Antes de exigir mTLS para el tráfico de producción, asegúrate de que el cliente HTTP que usas funcione bien con solicitudes de certificados de cliente (algunos, como WebSockets en ciertos navegadores, no lo hacen). Ten en cuenta que nuestro servidor no proporciona una lista de certificate_authorities en la solicitud de certificado de cliente.
¿Quién puede acceder y modificar certificados?
A través de la interfaz del panel en https://platform.openai.com/settings/organization/mtls, los propietarios de la organización pueden acceder y modificar certificados. Cualquier persona con una clave de API de administrador (https://platform.openai.com/settings/organization/admin-keys) también puede acceder o modificar certificados, pero ten cuidado: si activas Mutual TLS en el nivel de la organización, también exigirás certificados en esas solicitudes a la API. Todos los cambios de mTLS son visibles en los registros de auditoría.
¿Cuántos certificados puedo tener?
Cada organización puede subir hasta 50 certificados, que pueden compartirse entre proyectos, pero no con otras organizaciones. Puedes activar o desactivar atómicamente un certificado para 10 proyectos a la vez. Como alternativa, puedes activar o desactivar 10 certificados a la vez para tu organización o para 1 proyecto específico.
¿Puedo actualizar o eliminar certificados?
Puedes actualizar los nombres de tus certificados, pero no el contenido. También puedes eliminar certificados si actualmente no están activos en ningún alcance.
¿Cómo funciona la revocación de certificados?
Por el momento, no admitimos CRL ni OCSP stapling. La alternativa recomendada es eliminar o rotar tu clave de API. También puedes reemplazar tus certificados de CA o usar certificados de cliente con períodos de validez más cortos.
¿Puedo usar cadenas de certificados más largas?
Por el momento, solo admitimos cadenas de una sola longitud; es decir, tu certificado de CA debe firmar directamente tus certificados de cliente. Comunícate con tu director de cuenta si tienes más preguntas.
¿Cuál es la configuración recomendada?
Al configurar inicialmente esta función, recomendamos comenzar con un proyecto de staging que no atienda tráfico oficial de producción. Aprovecha esta oportunidad para asegurarte de que tus certificados estén configurados correctamente en tus máquinas y de que puedas enviar tráfico a la API correctamente. Además, recomendamos consultar con el equipo de seguridad de tu organización para comprender mejor tus necesidades.
Soporte adicional
Puedes usar por completo la función mTLS por tu cuenta mediante el panel y la API. Sin embargo, si primero quieres habilitar mTLS en modo sombra, comunícate con tu director de cuenta o abre un ticket de soporte iniciando un nuevo chat en la esquina inferior derecha de esta página.
Apéndice: terminología
Certificado de CA: uno de tus certificados de confianza que ha firmado directamente los certificados de cliente que enviarás con las solicitudes. Puedes usar certificados de CA autofirmados.
Subir un certificado: agregar un certificado de CA a tu cuenta. Todavía no se aplica en ningún lugar para mTLS, pero puedes comenzar a configurarlo.
Alcance: un proyecto específico o toda tu organización.
Activar un certificado de CA en un alcance: habilita mTLS específicamente para ese alcance, y todas las solicitudes basadas en clave de API requerirán un certificado de cliente firmado por el certificado de CA.
Desactivar un certificado de CA en un alcance: deshabilita el uso de este certificado para verificar solicitudes en este alcance. Si no te queda ningún certificado para el alcance, mTLS queda efectivamente desactivado.
Herencia de un certificado: si activas un certificado para tu organización, también se activará para todos los proyectos.
