1. Uvijek koristite jedinstveni API ključ za svakog člana tima na svom računu.
API ključ jedinstveni je kod koji identificira vaše zahtjeve prema API-ju. Vaš API ključ namijenjen je vama. Dijeljenjem API ključeva kršite Uvjete korištenja.
Kad počnete eksperimentirati, možda ćete htjeti proširiti pristup API-ju na svoj tim. OpenAI ne podržava dijeljenje API ključeva. Pozovite nove članove na svoj račun sa stranice Članovi i oni će nakon prijave brzo dobiti vlastiti jedinstveni ključ. Također možete dodijeliti dopuštenja pojedinačnim API ključevima.
2. Izradite ključeve API-ja s datumom isteka i uspostavite postupak njihove rotacije
Projektni ključevi mogu se izraditi s datumom isteka, nakon kojeg će svi zahtjevi poslani tim ključevima biti odbijeni. Izričito preporučujemo izradu ključeva s datumom isteka i uspostavljanje postupka njihove redovite rotacije. Prije isteka ključa izradite zamjenski ključ, ažurirajte aplikacije kako bi ga upotrebljavale te opozovite stari ključ nakon što provjerite radi li zamjenski. Tim se postupcima može znatno ublažiti šteta uzrokovana otkrivanjem ključeva API-ja.
Administratori mogu odrediti najdulji vijek trajanja ključa API-ja na razini organizacije ili projekta u postavkama platforme. Novi ključevi moraju se konfigurirati unutar dopuštenih ograničenja kako ne bi ostali valjani neograničeno dugo. Ograničenja projekta ne mogu biti veća od ograničenja organizacije.
3. Nikada nemojte implementirati ključ u klijentskim okruženjima poput preglednika ili mobilnih aplikacija.
Izlaganjem OpenAI ključa API-ja u klijentskim okruženjima poput preglednika ili mobilnih aplikacija zlonamjernim korisnicima omogućujete da ga preuzmu i šalju zahtjeve u vaše ime, što može prouzročiti neočekivane troškove ili ugroziti određene podatke računa. Zahtjevi se uvijek trebaju usmjeravati preko vašeg pozadinskog poslužitelja, na kojem možete sigurno čuvati ključ API-ja.
4. Nikada nemojte pohraniti ključ u repozitorij
Pohranjivanje ključa API-ja u izvorni kôd čest je način ugrožavanja vjerodajnica. Ako imate javni repozitorij, tako možete nehotice podijeliti svoj ključ sa svima na internetu. Privatni repozitoriji sigurniji su, no proboj podataka također može dovesti do otkrivanja vaših ključeva. Stoga radi proaktivne zaštite ključeva izričito preporučujemo upotrebu varijabli okruženja.
5. Umjesto ključa API-ja upotrebljavajte varijable okruženja
Varijabla okruženja jest varijabla koja se postavlja u operacijskom sustavu, a ne unutar aplikacije. Sastoji se od naziva i vrijednosti. Preporučujemo da varijablu nazovete OPENAI_API_KEY. Dosljednom upotrebom tog naziva varijable u cijelom timu možete pohranjivati i dijeliti kôd bez opasnosti od otkrivanja ključa API-ja.
Postavljanje u sustavu Windows
1. mogućnost: Postavite varijablu okruženja „OPENAI_API_KEY” putem naredbenog retka cmd
Pokrenite sljedeću naredbu u naredbenom retku cmd, zamjenjujući <yourkey> svojim ključem API-ja:
setx OPENAI_API_KEY "<yourkey>"To će se primjenjivati na buduće prozore naredbenog retka cmd, pa morate otvoriti novi prozor kako biste tu varijablu upotrebljavali s alatom curl. Da biste provjerili je li varijabla postavljena, otvorite novi prozor naredbenog retka cmd i upišite
echo %OPENAI_API_KEY%2. mogućnost: Postavite varijablu okruženja „OPENAI_API_KEY” putem upravljačke ploče
Otvorite svojstva Sustava i odaberite Napredne postavke sustava
Odaberite Varijable okruženja...
U odjeljku Korisničke varijable (gore) odaberite Novo…. Dodajte par naziva i vrijednosti ključa te zamijenite <yourkey> svojim API ključem.
Naziv varijable: OPENAI_API_KEY
Vrijednost varijable: <yourkey>Postavljanje u sustavima Linux i macOS
1. mogućnost: Postavite varijablu okruženja „OPENAI_API_KEY” koristeći zsh
Pokrenite sljedeću naredbu u terminalu te zamijenite yourkey svojim API ključem.
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrcAžurirajte ljusku novom varijablom:
source ~/.zshrcPotvrdite da ste postavili varijablu okruženja pomoću sljedeće naredbe.
echo $OPENAI_API_KEYVrijednost vašeg API ključa bit će rezultirajući izlaz.
Opcija 2: Postavite varijablu okruženja „OPENAI_API_KEY” pomoću basha
Slijedite upute iz Opcije 1, zamijenivši .zshrc s .bash_profile.
Sve je spremno! Sada možete referencirati ključ u curlu ili ga učitati u svoj Python kod:
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]6. Upotrebljavajte uslugu za upravljanje ključevima
Dostupni su razni proizvodi za sigurno upravljanje tajnim ključevima API-ja. Ti vam alati omogućuju nadzor pristupa ključevima i poboljšavaju cjelokupnu sigurnost podataka. U slučaju proboja podataka u vašoj aplikaciji ključevi ne bi bili ugroženi jer bi bili šifrirani i njima bi se upravljalo na potpuno odvojenoj lokaciji.
Timovima koji implementiraju aplikacije u produkciju preporučujemo da razmotre neku od tih usluga.
7. Pratite upotrebu računa i rotirajte ključeve prema potrebi
Ugroženi ključ API-ja omogućuje drugoj osobi da bez vašeg pristanka pristupi kvoti vašeg računa. To može prouzročiti gubitak podataka, neočekivane troškove, iscrpljivanje mjesečne kvote i prekid pristupa API-ju.
Upotrebu svojih timova možete pratiti na stranici Upotreba. Ako posumnjate na zloupotrebu, račun možete zaštititi na nekoliko načina:
Pregledajte upotrebu i provjerite odgovara li radu vašeg tima. Za korisnike koji pripadaju većem broju organizacija (npr. poslovnoj i osobnoj) provjerite jesu li omogućili praćenje i postavili zadanu organizaciju za upotrebu i praćenje.
Ako smatrate da je vaš ključ otkriven, odmah ga rotirajte na stranici Ključevi API-ja. Korisnici čije su aplikacije u produkciji morat će u skladu s tim ažurirati vrijednosti ključeva.
Obratite nam se putem stranice help.openai.com radi daljnje istrage.
8. Ograničite pristup API-ju popisom dopuštenih IP adresa
Popis dopuštenih IP adresa omogućuje vam da odredite koje IP adrese mogu pristupiti vašem OpenAI API-ju. Kada je omogućen, dopušteni su samo zahtjevi s konfiguriranih IP adresa ili raspona, a svi se ostali odbijaju, čak i ako sadržavaju valjan ključ API-ja.
Time se dodaje još jedan sloj zaštite jer se vašem API-ju može pristupiti samo iz pouzdane infrastrukture, poput vaših pozadinskih poslužitelja ili okruženja u oblaku.
Više informacija potražite u članku o popisu dopuštenih IP adresa za OpenAI API.
