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

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

Atualizado: 6 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. Nunca implemente a sua chave em ambientes do lado do cliente, como browsers ou aplicações móveis.

Expor a sua chave de API da OpenAI em ambientes do lado do cliente, como browsers ou aplicações móveis, permite que utilizadores mal-intencionados obtenham essa chave e façam pedidos em seu nome, o que pode resultar em cobranças inesperadas ou no comprometimento de determinados dados da conta. Os pedidos devem ser sempre encaminhados através do seu próprio servidor de backend, onde pode manter a sua chave de API segura.

3. Nunca faça commit da sua chave no seu repositório

Fazer commit de uma chave de API no código-fonte é um vetor comum de comprometimento de credenciais. Para quem tem repositórios públicos, esta é uma forma comum de partilhar, sem saber, a sua chave com a Internet. Os repositórios privados são mais seguros, mas uma violação de dados também pode resultar na exposição das suas chaves. Por estes motivos, recomendamos vivamente a utilização de variáveis de ambiente como medida proativa de segurança das chaves.

4. Utilize variáveis de ambiente em vez da sua chave de API

Uma variável de ambiente é definida no sistema operativo, e não na aplicação. É composta por um nome e um valor. Recomendamos que defina o nome da variável como OPENAI_API_KEY. Ao manter este nome de variável uniforme em toda a equipa, pode confirmar e partilhar o código sem o risco de expor a sua chave de 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 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 (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"]

5. Utilize um Serviço de Gestão de Chaves

Existem vários produtos disponíveis para gerir com segurança chaves de API secretas. Estas ferramentas permitem-lhe controlar o acesso às suas chaves e melhorar a segurança geral dos seus dados. Em caso de violação de dados na sua aplicação, a(s) sua(s) chave(s) não seriam comprometidas, pois estariam encriptadas e geridas num local completamente separado.

Para equipas que implementam as suas aplicações em produção, recomendamos que considere um destes serviços.

6. Monitorize a utilização da sua conta e renove as chaves quando necessário

Uma chave de API comprometida permite que alguém aceda à 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 acesso à API.

Pode acompanhar a utilização das suas equipas na página Utilização. Se tiver dúvidas quanto a uma possível 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 pertençam a várias organizações (por exemplo, profissional e pessoal), certifique-se de que o utilizador ativou o acompanhamento e definiu a organização predefinida para utilização e acompanhamento.

  • Se considerar que a sua chave foi divulgada, renove-a imediatamente na página Chaves de API. Os clientes com aplicações em produção terão de atualizar os valores das chaves em conformidade.

  • Contacte-nos através de help.openai.com para podermos investigar melhor.

7. Restrinja o acesso à API com uma lista de permissões de IP

A lista de permissões de IP permite-lhe restringir os endereços IP que podem aceder à sua API da OpenAI. Quando ativada, só são permitidos pedidos de endereços IP ou intervalos configurados, sendo todos os outros rejeitados, mesmo que incluam uma chave de API válida.

Isto adiciona uma camada extra de proteção, garantindo que só é possível aceder à sua API a partir de infraestrutura fidedigna, como os seus servidores de backend ou ambiente cloud.

Para obter mais informações, consulte o artigo sobre listas de permissões de IP para a API da OpenAI.

Este artigo foi útil?