OpenAI
Esta página foi traduzida automaticamente. Veja o artigo original em inglês.

Programa Beta de Mutual TLS da OpenAI

Atualizado: 12 days ago

O Mutual TLS da OpenAI permite que organizações configurem uma camada adicional de segurança para o tráfego da API da OpenAI. Depois de configuradas, as solicitações de API devem ser feitas para https://mtls.api.openai.com (ou https://mtls-eu.api.openai.com para clientes com residência de dados na UE), e o tráfego só será aceito se a chave de API correta e o certificado do cliente forem fornecidos. O mTLS não se aplica ao Dashboard em https://platform.openai.com. Esse recurso está atualmente em beta.

Como configuro a integração com mTLS?

Na barra de navegação de configurações, você verá uma aba “Mutual TLS”.

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

Enviar certificado

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

Ativar certificado

Depois de enviar seu certificado, a próxima etapa é ativá-lo. Quando um certificado é ativado para um projeto, todas as solicitações de API destinadas a esse projeto também passarão a exigir um certificado de cliente correspondente. Se um projeto tiver vários certificados ativados, você poderá enviar qualquer certificado de cliente correspondente. Se um certificado for ativado para a organização, ele se aplicará a todas as solicitações de API e será “herdado” por todos os projetos.

Image

Requisitos do certificado de CA

Você pode enviar qualquer certificado de CA X.509 no formato PEM que atenda aos seguintes requisitos:

  1. assina diretamente os certificados de cliente que você pretende usar para fazer solicitações

  2. tem as extensões Certificate Authority, Subject Key Identifier e Authority Key Identifier (no formato KeyIdentifier)

  3. tem as permissões de uso de chave: “Certificate Sign, CRL Sign

  4. não está configurado para expirar em menos de 1 dia

  5. o tamanho total do certificado deve ser inferior a 16 kb.

Requisitos do certificado do cliente

Os certificados do cliente devem ser assinados diretamente pelos certificados que você enviou com antecedência. No momento, oferecemos suporte apenas a cadeias de certificados de comprimento único. Além disso, seus certificados de cliente devem atender aos seguintes requisitos:

  1. tem as extensões Subject Key Identifier e Authority Key Identifier (no formato KeyIdentifier)

  2. tem as permissões de uso de chave: “Digital Signature, Key Encipherment

  3. tem a permissão de uso estendido de chave: “TLS Web Client Authentication

  4. tem a extensão Subject Alternate Name

FAQ

Posso configurar o mTLS via API?

Sim — consulte a Referência da API em https://platform.openai.com/docs/api-reference/ para mais informações.

Quais endpoints oferecem suporte a mTLS?

Durante este período beta, o mTLS tem suporte oficial em

  • /v1/chat/completions (com todas as extensões compatíveis, por ex.: imagem, áudio, 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 WebSockets no servidor)

  • /v1/fine_tuning

  • /v1/tunnels

Como envio certificados de cliente com minha solicitação?

Para uma solicitação cURL, você pode usar as opções --cert e --key (veja a página man aqui). Na maioria dos outros clientes HTTP, também há maneiras de enviar certificados de cliente. Exemplos: requests em Python, fetch em js. Em nossos SDKs oficiais, também permitimos substituir o cliente HTTP — veja aqui um exemplo em Python.

Antes de impor mTLS ao tráfego de produção, garanta que o cliente HTTP que você está usando lide bem com solicitações de certificado de cliente (alguns, como WebSockets em certos navegadores, não lidam). Observe que nosso servidor não fornece uma lista certificate_authorities na solicitação de certificado do cliente.

Quem pode acessar e modificar certificados?

Pela interface do Dashboard em https://platform.openai.com/settings/organization/mtls, os proprietários da organização podem acessar e modificar certificados. Qualquer pessoa com uma Admin API Key (https://platform.openai.com/settings/organization/admin-keys) também pode acessar/modificar certificados, mas atenção — se você ativar Mutual TLS no nível da organização, também exigirá certificados nessas solicitações de API. Todas as alterações de mTLS ficam visíveis nos logs de auditoria.

Quantos certificados posso ter?

Cada organização pode enviar até 50 certificados, que podem ser compartilhados entre projetos, mas não com outras organizações. Você pode ativar/desativar atomicamente um certificado para 10 projetos por vez. Como alternativa, você pode ativar/desativar 10 certificados por vez para sua organização ou para 1 projeto específico.

Posso atualizar ou excluir certificados?

Você pode atualizar os nomes dos seus certificados, mas não o conteúdo. Você também pode excluir certificados se eles não estiverem ativos no momento em nenhum escopo.

Como funciona a revogação de certificados?

No momento, não oferecemos suporte a CRLs nem a OCSP stapling. A alternativa recomendada é excluir ou rotacionar sua chave de API. Você também pode substituir seus certificados de CA ou usar certificados de cliente com períodos de validade mais curtos.

Posso usar cadeias de certificados mais longas?

No momento, oferecemos suporte apenas a cadeias de comprimento único — ou seja, seu certificado de CA deve assinar diretamente seus certificados de cliente. Fale com seu Account Director se tiver outras dúvidas.

Qual é a configuração recomendada?

Ao configurar esse recurso inicialmente, recomendamos começar com um projeto de staging que não atenda ao tráfego oficial de produção. Aproveite essa oportunidade para garantir que seus certificados estejam configurados corretamente em suas máquinas e que você consiga enviar tráfego de API com sucesso. Além disso, recomendamos consultar a equipe de segurança da sua organização para entender melhor suas necessidades.

Suporte adicional

Você pode usar o recurso de mTLS de forma totalmente autônoma pelo dashboard e pela API. No entanto, se quiser ativar o mTLS primeiro em modo sombra, fale com seu Account Director ou abra um ticket de suporte iniciando um novo chat no canto inferior direito desta página.

Apêndice: terminologia

  • Certificado de CA: um dos seus certificados confiáveis que assinou diretamente os certificados de cliente que você enviará com as solicitações. Você pode usar certificados de CA autoassinados, se desejar.

  • Enviar um certificado: adicionar um certificado de CA à sua conta. Ele ainda não é imposto em nenhum lugar para mTLS, mas você já pode começar a configurá-lo.

  • Escopo: um projeto específico ou toda a sua organização.

  • Ativar um certificado de CA em um escopo: habilita o mTLS especificamente para esse escopo, e todas as solicitações baseadas em chave de API passarão a exigir um certificado de cliente assinado pelo certificado de CA.

  • Desativar um certificado de CA em um escopo: desabilita o uso desse certificado para verificar solicitações nesse escopo. Se não restarem certificados para o escopo, o mTLS será efetivamente desativado.

  • Herdar um certificado: se você ativar um certificado para sua organização, ele também será ativado para todos os projetos.

Este artigo foi útil?