O Mutual TLS da OpenAI permite que as organizações configurem uma camada adicional de segurança para o tráfego da API da OpenAI. Depois de configurado, os pedidos de API devem ser feitos para https://mtls.api.openai.com (ou https://mtls-eu.api.openai.com para clientes de residência de dados da UE) e o tráfego só será aceite se forem fornecidos a chave de API e o certificado de cliente corretos. O mTLS não se aplica ao painel https://platform.openai.com. Esta funcionalidade está atualmente em beta.
Como configuro a integração mTLS?
Na barra de navegação das definições, verá um separador «TLS mútuo».
Carregar certificado
Ativar certificado
Depois de carregar o seu certificado, o passo seguinte é ativar o seu certificado. Assim que um certificado for ativado para um projeto, todos os pedidos de API destinados a esse projeto passarão também a exigir um certificado de cliente correspondente. Se um projeto tiver vários certificados ativados, pode passar qualquer certificado de cliente correspondente. Se um certificado for ativado para a organização, aplicar-se-á a todos os pedidos de API e será «herdado» por todos os projetos.
Requisitos dos certificados de CA
Pode carregar qualquer certificado de CA X.509 em formato PEM que cumpra os seguintes requisitos:
assina diretamente os certificados de cliente que pretende utilizar ou serve de âncora a uma cadeia de certificados válida apresentada pelo seu cliente.
tem as extensões Autoridade de Certificação, Identificador da Chave do Sujeito e Identificador da Chave da Autoridade (no formato KeyIdentifier)
tem as permissões Key Usage: «Assinatura de Certificado, Assinatura de CRL»
não está configurado para expirar no prazo de 1 dia
o tamanho total do certificado tem de ser inferior a 16 KB.
Requisitos dos certificados de cliente
Se o suporte para cadeias de certificados estiver ativado para a sua organização, o seu cliente pode apresentar um certificado de cliente folha e os certificados intermédios necessários para criar uma cadeia válida até um certificado carregado ativo. Caso contrário, os certificados de cliente têm de ser assinados diretamente por certificados que tenha carregado previamente. Além disso, os seus certificados de cliente têm de cumprir os seguintes requisitos:
tem as extensões Identificador da Chave do Sujeito e Identificador da Chave da Autoridade (no formato KeyIdentifier)
tem as permissões Key Usage: «Assinatura Digital, Cifragem de Chaves»
tem a permissão Extended Key Usage: «Autenticação de Cliente Web TLS»
tem a extensão Nome Alternativo do Sujeito
Suporte para cadeias de certificados em mTLS da API
O suporte para cadeias de certificados permite que o seu cliente apresente um certificado de cliente folha com os certificados intermédios necessários para criar uma cadeia válida até um certificado carregado ativo.
Isto pode permitir-lhe rodar certificados intermédios sem carregar cada novo intermédio, desde que o certificado carregado ativo usado como âncora de confiança continue válido.
O suporte para cadeias de certificados está atualmente disponível mediante pedido. Contacte o seu Diretor de Conta ou abra um pedido de suporte para solicitar acesso.
O seu cliente tem de apresentar todos os certificados intermédios necessários. A OpenAI não obtém certificados intermédios em falta através de AIA. As verificações CRL e OCSP continuam sem suporte.
Perguntas frequentes
Posso configurar o mTLS através da API?
Sim — pode consultar a Referência da API em https://platform.openai.com/docs/api-reference/ para obter mais informações.
Que endpoints suportam mTLS?
Durante este período beta, o mTLS é oficialmente suportado em
/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
Como envio certificados de cliente com o meu pedido?
Num pedido cURL, pode utilizar as opções --cert e --key (consulte a página do manual aqui). Na maioria dos outros clientes HTTP, também existem formas de passar certificados de cliente. Exemplos: requests em Python, fetch em JS. Através dos nossos SDK oficiais, também suportamos a substituição do cliente HTTP — veja aqui um exemplo em Python.
Quando o suporte para cadeias de certificados estiver ativado, configure o seu cliente HTTP para apresentar o certificado de cliente folha e todos os certificados intermédios necessários. A configuração exata depende do seu cliente HTTP.
Antes de tornar o mTLS obrigatório para o tráfego de produção, certifique-se de que o cliente HTTP que está a utilizar lida bem com pedidos de certificados de cliente (alguns, como WebSockets em determinados navegadores, não o fazem). Tenha em atenção que o nosso servidor não fornece uma lista de certificate_authorities no pedido de certificado de cliente.
Quem pode aceder e modificar certificados?
Através da IU do painel https://platform.openai.com/settings/organization/mtls, os proprietários da organização podem aceder e modificar certificados. Qualquer pessoa com uma chave de API de administrador (https://platform.openai.com/settings/organization/admin-keys) também pode aceder/modificar certificados, mas tenha atenção — se ativar o Mutual TLS ao nível da organização, também estará a impor certificados nestes pedidos de API. Todas as alterações de mTLS ficam visíveis nos registos de auditoria.
Quantos certificados posso ter?
Cada organização pode carregar até 50 certificados, que podem ser partilhados entre projetos, mas não com outras organizações. Pode ativar/desativar atomicamente um certificado para 10 projetos de cada vez. Em alternativa, pode ativar/desativar 10 certificados de cada vez para a sua organização ou para 1 projeto específico.
Posso atualizar ou eliminar certificados?
Pode atualizar os nomes dos seus certificados, mas não o conteúdo. Também pode eliminar certificados se não estiverem atualmente ativos em nenhum âmbito.
Como funciona a revogação de certificados?
De momento, não suportamos verificações CRL ou OCSP. A alternativa recomendada é eliminar ou rodar a sua chave de API. Também pode substituir os seus certificados de CA ou utilizar certificados de cliente com períodos de validade mais curtos.
Posso utilizar cadeias de certificados mais longas?
Sim, se o suporte para cadeias de certificados estiver ativado para a sua organização. O seu cliente tem de apresentar o certificado de cliente folha e todos os certificados intermédios necessários para que a OpenAI possa verificar a cadeia até um certificado carregado ativo. Contacte o seu Diretor de Conta ou abra um pedido de suporte para solicitar acesso.
Qual é a configuração recomendada?
Ao configurar inicialmente esta funcionalidade, recomendamos que comece com um projeto de teste que não sirva tráfego oficial de produção. Aproveite esta oportunidade para garantir que os seus certificados estão devidamente configurados nas suas máquinas e que consegue enviar tráfego de API com êxito. Além disso, recomendamos que consulte a equipa de segurança da sua organização para compreender melhor as suas necessidades.
Suporte adicional
Pode gerir autonomamente a funcionalidade mTLS através do painel e da API. No entanto, se quiser ativar o mTLS inicialmente num modo sombra, contacte o seu Diretor de Conta ou abra um pedido de suporte iniciando uma nova conversa no canto inferior direito desta página.
Anexo: Terminologia
Certificado de CA: um dos seus certificados de confiança, utilizado para verificar certificados de cliente. Pode assinar diretamente os certificados de cliente que envia com os pedidos ou servir de âncora a uma cadeia de certificados apresentada pelo seu cliente. Pode utilizar certificados de CA autoassinados.
Carregar um certificado: adicionar um certificado de CA à sua conta. Ainda não é aplicado em nenhum local para mTLS, mas pode começar a configurá-lo.
Âmbito: um projeto específico ou toda a sua organização.
Ativar um certificado de CA num âmbito: ativa o mTLS especificamente para esse âmbito, e todos os pedidos baseados em chaves de API têm de incluir um certificado de cliente que possa ser verificado em relação ao certificado de CA ativo.
Desativar um certificado de CA num âmbito: desativa a utilização deste certificado para verificar pedidos nesse âmbito. Se não restar nenhum certificado para o âmbito, o mTLS fica efetivamente desativado.
Herdar um certificado: se ativar um certificado para a sua organização, este também será ativado para todos os projetos.
