OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

Programa beta de Mutual TLS de OpenAI

Actualización: 2 days ago

TLS mutuo de OpenAI permite a las organizaciones configurar una capa de seguridad adicional para su tráfico de la API de OpenAI. Una vez configurado, las solicitudes de API deben realizarse 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 y el certificado de cliente correctos. mTLS no se aplica al panel https://platform.openai.com. Esta función está 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 «TLS mutuo».

Mutual TLS settings page prompting the user to upload a client certificate to enable mTLS

Subir certificado

Upload a certificate dialog for mutual TLS with name field and PEM certificate text area

Activar certificado

Después de subir tu certificado, el siguiente paso es activarlo. Una vez que un certificado esté activado para un proyecto, todas las solicitudes de API dirigidas a ese proyecto empezarán a requerir también un certificado de cliente correspondiente. Si un proyecto tiene varios certificados activados, puedes pasar cualquier certificado de cliente correspondiente. Si un certificado se activa para la organización, se aplicará a todas las solicitudes de API y todos los proyectos lo «heredarán».

Image

Requisitos de los certificados de CA

Puedes subir cualquier certificado de CA X.509 en formato PEM que cumpla los siguientes requisitos:

  1. firma directamente los certificados de cliente que tienes previsto usar, o sirve de anclaje para una cadena de certificados válida presentada por tu cliente.

  2. tiene las extensiones Entidad de certificación, Identificador de clave del sujeto e Identificador de clave de la autoridad (en formato KeyIdentifier)

  3. tiene los permisos de uso de clave «firma de certificados, firma de CRL»

  4. no está configurado para caducar en menos de 1 día

  5. el tamaño total del certificado debe ser inferior a 16 kb.

Requisitos de los certificados de cliente

Si la compatibilidad con cadenas de certificados está activada para tu organización, tu cliente puede presentar un certificado de cliente hoja y los certificados intermedios necesarios para construir una cadena válida hasta un certificado subido activo. De lo contrario, los certificados de cliente deben estar firmados directamente por certificados que hayas subido previamente. Además de esto, tus certificados de cliente deben cumplir los siguientes requisitos:

  1. tiene las extensiones Identificador de clave del sujeto e Identificador de clave de la autoridad (en formato KeyIdentifier)

  2. tiene los permisos de uso de clave «firma digital, cifrado de claves»

  3. tiene el permiso de uso extendido de clave «autenticación de cliente web TLS»

  4. tiene la extensión de nombre alternativo del sujeto

Compatibilidad con cadenas de certificados para mTLS de API

La compatibilidad con cadenas de certificados permite que tu cliente presente un certificado de cliente hoja con los certificados intermedios necesarios para construir una cadena válida hasta un certificado subido activo.

Esto puede permitirte rotar certificados intermedios sin subir cada nuevo intermedio, siempre que el certificado subido activo usado como ancla de confianza siga siendo válido.

Actualmente, la compatibilidad con cadenas de certificados está disponible previa solicitud. Ponte en contacto con tu responsable de cuenta o abre un ticket de soporte para solicitar acceso.

Tu cliente debe presentar todos los certificados intermedios necesarios. OpenAI no obtiene los certificados intermedios que falten mediante AIA. Las comprobaciones de CRL y OCSP siguen sin admitirse.

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 periodo beta, mTLS se admite oficialmente en

  • /v1/chat/completions (with all supported extensions e.g. image, 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 (via server-side web sockets)

  • /v1/fine_tuning

  • /v1/tunnels

¿Cómo envío certificados de cliente con mi solicitud?

En una solicitud cURL, puedes usar las opciones --cert y --key (consulta la página del manual 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 JavaScript. A través de nuestros SDK oficiales, también permitimos sustituir el cliente HTTP; consulta aquí un ejemplo en Python.

Cuando la compatibilidad con cadenas de certificados esté activada, configura tu cliente HTTP para que presente el certificado de cliente hoja y todos los certificados intermedios necesarios. La configuración exacta depende de tu cliente HTTP.

Antes de imponer mTLS al tráfico de producción, asegúrate de que el cliente HTTP que usas gestiona correctamente las solicitudes de certificados de cliente (algunos, como los WebSockets en determinados 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 a los certificados y modificarlos?

A través de la interfaz del panel https://platform.openai.com/settings/organization/mtls, los propietarios de la organización pueden acceder a los certificados y modificarlos. Cualquier persona con una clave de API de administrador (https://platform.openai.com/settings/organization/admin-keys) también puede acceder a los certificados o modificarlos, aunque debes tener cuidado: si activas TLS mutuo en el nivel de organización, también exigirás certificados en estas solicitudes de 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 se pueden compartir entre proyectos, pero no con otras organizaciones. Puedes activar/desactivar de forma atómica un certificado para 10 proyectos a la vez. También puedes activar/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 no están activos actualmente en ningún ámbito.

¿Cómo funciona la revocación de certificados?

Por el momento, no admitimos comprobaciones de CRL ni OCSP. La alternativa recomendada es eliminar o rotar tu clave de API. También puedes sustituir tus certificados de CA o usar certificados de cliente con periodos de validez más cortos.

¿Puedo usar cadenas de certificados más largas?

Sí, si la compatibilidad con cadenas de certificados está activada para tu organización. Tu cliente debe presentar el certificado de cliente hoja y cualquier certificado intermedio necesario para que OpenAI pueda verificar la cadena hasta un certificado subido activo. Ponte en contacto con tu responsable de cuenta o abre un ticket de soporte para solicitar acceso.

¿Cuál es la configuración recomendada?

Al configurar inicialmente esta función, recomendamos empezar con un proyecto de ensayo que no gestione tráfico de producción oficial. Aprovecha esta oportunidad para asegurarte de que tus certificados estén correctamente configurados en tus equipos y de que puedas enviar tráfico de API correctamente. Aparte de esto, recomendamos consultar al equipo de seguridad de tu organización para comprender mejor tus necesidades.

Soporte adicional

Puedes gestionar por completo la función mTLS por tu cuenta desde el panel y la API. Sin embargo, si quieres habilitar mTLS primero en modo sombra, ponte en contacto 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 utilizado para verificar certificados de cliente. Puede firmar directamente los certificados de cliente que envías con las solicitudes o servir de anclaje para una cadena de certificados presentada por tu cliente. Puedes usar certificados de CA autofirmados.

  • Subir un certificado: añadir un certificado de CA a tu cuenta. Aún no se aplica en ningún lugar para mTLS, pero puedes empezar a configurarlo.

  • Ámbito: un proyecto concreto o toda tu organización.

  • Activar un certificado de CA en un ámbito: activa mTLS específicamente para ese ámbito, y todas las solicitudes basadas en claves de API deben incluir un certificado de cliente que pueda verificarse con el certificado de CA activo.

  • Desactivar un certificado de CA en un ámbito: desactiva el uso de este certificado para verificar solicitudes en este ámbito. Si no queda ningún certificado para el ámbito, mTLS queda desactivado en la práctica.

  • Herencia de un certificado: si activas un certificado para tu organización, también se activará para todos los proyectos.

¿Te ha resultado útil este artículo?