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: 7 days ago

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

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

Ao começar a fazer experiências, poderá querer expandir o acesso à API à sua equipa. A OpenAI não suporta a partilha de chaves API. Convide novos membros para a sua conta a partir da página Membros e eles receberão rapidamente a sua própria chave única ao iniciar sessão. Também pode atribuir permissões a chaves 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 API da OpenAI em ambientes do lado do cliente, como browsers ou aplicações móveis, permite que utilizadores maliciosos utilizem essa chave e façam pedidos em seu nome, o que pode levar a cobranças inesperadas ou ao comprometimento de determinados dados da conta. Os pedidos devem ser sempre encaminhados através do seu próprio servidor backend, onde pode manter a sua chave API segura.

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

Fazer commit de uma chave API no código-fonte é um vetor comum de comprometimento de credenciais. Para quem tem repositórios públicos, esta é uma forma comum de poder partilhar inadvertidamente 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 fuga das suas chaves. Por estas razões, 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 API

Uma variável de ambiente é uma variável definida no seu sistema operativo, em vez de dentro da sua aplicação. Consiste num nome e num valor.Recomendamos que defina o nome da variável como OPENAI_API_KEY. Ao manter este nome de variável consistente em toda a sua equipa, pode fazer commit e partilhar o seu código sem o risco de expor a sua chave API.

Configuração do Windows

Opção 1: Defina a sua 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 aplicar-se-á a futuras janelas da linha de comandos cmd, pelo que terá de abrir uma nova para utilizar essa variável com curl. Pode validar que esta variável foi definida abrindo uma nova janela da linha de comandos cmd e escrevendo

echo %OPENAI_API_KEY%

Opção 2: Defina a sua 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

2. Selecione Variáveis de Ambiente...

Windows System Properties Advanced tab with Environment Variables button highlighted

3. Selecione Novo… na secção Variáveis do utilizador (em cima). Adicione o seu par nome/valor de chave, substituindo <yourkey> pela sua chave API.

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

Configuração Linux / MacOS

Opção 1: Defina a sua variável de ambiente ‘OPENAI_API_KEY’ com zsh

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

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc

2. Atualize a shell com a nova variável:

source ~/.zshrc

3. Confirme que definiu a sua variável de ambiente com o seguinte comando.

echo $OPENAI_API_KEY

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

Opção 2: Defina a sua 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 em 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

Existe uma variedade de produtos disponíveis para gerir em segurança chaves API secretas. Estas ferramentas permitem-lhe controlar o acesso às suas chaves e melhorar a segurança global dos seus dados. No caso de uma violação de dados na sua aplicação, a(s) sua(s) chave(s) não seriam comprometidas, uma vez que 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 rode as suas chaves quando necessário

Uma chave API comprometida permite que uma pessoa obtenha acesso à 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.

A Utilização da sua equipa pode ser acompanhada através da página Utilização. Se alguma vez tiver preocupações relativamente a utilização indevida, há algumas ações que pode tomar para proteger a sua conta:

  • Reveja a sua utilização para ver se está alinhada com o trabalho da sua equipa. Para utilizadores que pertencem a várias organizações (por ex., empresariais e pessoais), certifique-se de que o utilizador ativou o rastreio e definiu a sua organização predefinida para utilização e rastreio.

  • Se acredita que a sua chave foi exposta, rode a sua chave imediatamente a partir da página Chaves API. Para clientes com aplicações em produção, terá de atualizar os valores da sua chave em conformidade.

  • Contacte-nos através de help.openai.com para investigação adicional.

7. Restrinja o acesso à API com allowlisting de IP

O allowlisting de IP permite-lhe restringir quais os endereços IP que podem aceder à sua API da OpenAI. Quando ativado, apenas são permitidos pedidos de endereços IP ou intervalos configurados, e todos os restantes são rejeitados — mesmo que incluam uma chave API válida.

Isto acrescenta uma camada adicional de proteção ao garantir que a sua API só pode ser acedida a partir de infraestrutura fidedigna, como os seus servidores backend ou ambiente cloud.

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

Este artigo foi útil?