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

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

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

Atualizado: 5 days ago

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

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

À medida que começa a experimentar, poderá querer expandir o acesso à API à sua equipa. A OpenAI não suporta a partilha de chaves de API. Convide novos membros para a sua conta a partir da página Membros e estes receberão rapidamente a sua própria chave única ao iniciar sessão. 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 da sua chave API

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


Configuração no Windows

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 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 (em cima). 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/macOS

Opção 1: defina a variável de ambiente «OPENAI_API_KEY» através do 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 API secretas em segurança. Estas ferramentas permitem controlar o acesso às suas chaves e melhorar a segurança geral dos seus dados. Em caso de violação dos dados da sua aplicação, as suas chaves não seriam comprometidas, pois estariam encriptadas e seriam geridas num local totalmente separado.

Às equipas que implementam aplicações em produção, recomendamos que ponderem utilizar um destes serviços.

7. Monitorize a utilização da sua conta e faça a rotação das chaves quando necessário

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

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

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

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

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

  • Contacte-nos através de help.openai.com para investigarmos 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, apenas são permitidos pedidos provenientes dos endereços ou intervalos de IP configurados. Todos os restantes são rejeitados, mesmo que incluam uma chave de API válida.

Isto acrescenta uma camada de proteção ao garantir que a sua API só pode ser acedida a partir de infraestruturas de confiança, 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 necessitam 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 de vendas 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 sobre a configuração, consulte o guia do Private Link.

Este artigo foi útil?