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

Boas práticas de segurança das chaves de API

Proteja as suas chaves de API com armazenamento seguro, controlos de acesso, monitorização, rotação e restrições de IP.

Atualizado: 12 hours ago

1. Utilize sempre uma chave de API exclusiva para cada membro da equipa na sua conta.

Uma chave de API é um código exclusivo que identifica os seus pedidos à API. A sua chave de API destina-se a ser utilizada apenas por si. A partilha de chaves de API viola os Termos de Utilização.

Ao começar a experimentar, poderá querer alargar o acesso à API à sua equipa. A OpenAI não permite a partilha de chaves de API. Convide novos membros para a sua conta através da página Membros. Assim que iniciarem sessão, receberão rapidamente a sua própria chave exclusiva. Também pode atribuir permissões a chaves de API individuais.

2. Crie chaves de API com uma data de validade e estabeleça um processo de rotação de chaves

As chaves de projeto podem ser criadas com uma data de validade, após a qual todos os pedidos que as utilizem serão rejeitados. Recomendamos vivamente que crie chaves com uma data de validade e estabeleça um processo regular de rotação de chaves. Antes de uma chave expirar, crie uma nova para a substituir, atualize as suas aplicações para a utilizarem e revogue a chave antiga assim que confirmar que a nova funciona. Estas práticas podem reduzir significativamente o impacto da divulgação indevida de chaves de API.

Os administradores podem impor um prazo máximo de validade para as chaves de API ao nível da organização ou do projeto nas definições da plataforma. As novas chaves têm de ser configuradas dentro dos limites permitidos, o que impede que permaneçam válidas indefinidamente. Os limites dos projetos não podem exceder o limite da organização.

Para cargas de trabalho compatíveis, utilize a federação de identidades de cargas de trabalho em vez de armazenar uma chave de API da OpenAI de longa duração. A sua carga de trabalho troca uma identidade de um fornecedor de confiança por um token de acesso à OpenAI de curta duração. Configure uma conta de serviço dedicada apenas com as permissões de que a carga de trabalho necessita.

3. Nunca coloque a sua chave em ambientes do lado do cliente, como navegadores ou aplicações móveis.

Expor a sua chave de API da OpenAI em ambientes do lado do cliente, como navegadores ou aplicações móveis, permite que utilizadores mal-intencionados se apropriem dessa chave e façam pedidos em seu nome, o que pode levar a cobranças inesperadas ou comprometer determinados dados da conta. Os pedidos devem sempre passar pelo seu próprio servidor de backend, onde pode manter a sua chave de API em segurança.

4. Nunca inclua a sua chave no repositório

Incluir uma chave API no código-fonte é uma forma comum de comprometer credenciais. Se tiver repositórios públicos, esta é uma forma comum de partilhar inadvertidamente a sua chave na Internet. Os repositórios privados são mais seguros, mas uma violação de dados também pode expor as suas chaves. Por estes motivos, recomendamos vivamente a utilização de variáveis de ambiente como medida preventiva para proteger as chaves.

5. Utilize variáveis de ambiente em vez de incluir diretamente a sua chave de API

Configuração no Windows

Uma variável de ambiente é uma variável definida no sistema operativo, em vez de na aplicação. É composta por um nome e um valor. Recomendamos que atribua à variável o nome OPENAI_API_KEY. Ao usar o mesmo nome de variável em toda a equipa, pode fazer commits e partilhar o código sem o risco de expor a sua chave de API.


Opção 1: Defina a variável de ambiente «OPENAI_API_KEY» através da linha de comandos (cmd)

Execute o seguinte na linha de comandos (cmd), substituindo <yourkey> pela sua chave de API:

setx OPENAI_API_KEY "<yourkey>"

Isto será aplicado às futuras janelas da linha de comandos cmd, pelo que terá de abrir uma nova para utilizar essa variável com o curl. Pode confirmar que esta variável foi definida abrindo uma nova janela da linha de comandos cmd e introduzindo

echo %OPENAI_API_KEY%

Opção 2: Defina a variável de ambiente «OPENAI_API_KEY» através do Painel de Controlo

  1. Abra as propriedades do Sistema e selecione Definições avançadas do sistema

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Selecione Variáveis de Ambiente...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Selecione Nova… na secção Variáveis de utilizador (na parte superior). Adicione o par nome/valor da chave, substituindo <yourkey> pela sua chave de API.

Nome da variável: OPENAI_API_KEY
Valor da variável: <yourkey>

Configuração no Linux e no macOS

Opção 1: Defina a variável de ambiente «OPENAI_API_KEY» com o zsh

  1. Execute o seguinte comando no terminal, substituindo yourkey pela sua chave de API.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Atualize a shell com a nova variável:

source ~/.zshrc
  1. Confirme que definiu a sua variável de ambiente com o seguinte comando.

echo $OPENAI_API_KEY

O valor da sua chave de API será o resultado apresentado.


Opção 2: Defina a variável de ambiente «OPENAI_API_KEY» com bash

Siga as instruções da Opção 1, substituindo .zshrc por .bash_profile.

Está tudo pronto! Agora pode referenciar a chave no curl ou carregá-la no seu Python:

import os
import openai

openai.api_key = os.environ["OPENAI_API_KEY"]

6. Utilize um serviço de gestão de chaves

Existem vários produtos para gerir chaves de API secretas de forma segura. Estas ferramentas permitem controlar o acesso às suas chaves e melhorar a segurança global dos seus dados. Em caso de violação de dados na sua aplicação, as suas chaves não ficariam comprometidas, uma vez que estariam encriptadas e seriam geridas num local completamente separado.

Recomendamos que as equipas que colocam as suas aplicações em produção ponderem utilizar um destes serviços.

7. Monitorize a utilização da sua conta e substitua as suas chaves quando necessário

Defina limites de gastos mensais para a sua organização ou os seus projetos e ative a aplicação estrita desses limites para ajudar a limitar custos inesperados caso uma chave seja exposta. Os alertas de gastos, por si só, não interrompem o tráfego da API. A aplicação estrita dos limites pode bloquear pedidos legítimos, e os gastos podem exceder ligeiramente o limite, uma vez que a sua aplicação não é instantânea.

Uma chave de API comprometida permite que outra pessoa utilize a quota da sua conta sem o seu consentimento. Isto pode resultar na perda de dados, em cobranças inesperadas, no esgotamento da sua quota mensal e na interrupção do seu acesso à API.

Pode acompanhar a utilização das suas equipas na página Utilização. Se suspeitar de utilização indevida, pode tomar algumas medidas para proteger a sua conta:

  • Verifique a utilização para confirmar se corresponde ao trabalho da sua equipa. No caso de utilizadores que pertençam a várias organizações (por exemplo, uma empresarial e outra pessoal), certifique-se de que cada utilizador ativou o acompanhamento e definiu a organização predefinida para utilização e acompanhamento.

  • Se acreditar que a sua chave foi exposta, substitua-a imediatamente na página Chaves de API. Se tiver aplicações em produção, terá de atualizar os valores das chaves nessas aplicações.

  • Contacte-nos através de help.openai.com para podermos investigar mais a fundo.

8. Proteja o acesso à API com controlos de rede

As listas de IPs permitidos permitem restringir os endereços IP que podem aceder à sua API da OpenAI. Quando esta funcionalidade está ativada, só são permitidos pedidos provenientes dos endereços ou intervalos de IP configurados. Todos os outros são rejeitados, mesmo que incluam uma chave de API válida.

Isto acrescenta uma camada de proteção, garantindo que a sua API só pode ser acedida a partir de infraestruturas fidedignas, como os seus servidores de backend ou o seu ambiente na nuvem.

Para mais informações, consulte o artigo sobre listas de IPs permitidos para a API da OpenAI.

O Private Link é outra opção para organizações que precisam de acesso através de uma rede privada. Permite que as cargas de trabalho do Azure se liguem a endpoints regionais da API da OpenAI através do Azure Private Link. Contacte o seu representante da OpenAI ou a equipa comercial para solicitar acesso. A autenticação na API continua a ser obrigatória e o Private Link não é compatível com listas de IPs permitidos nem com TLS mútuo (mTLS). Para obter detalhes de configuração, consulte o guia do Private Link.

Este artigo foi útil?