1. Gebruik altijd een unieke API-sleutel voor elk teamlid op je account.
Een API-sleutel is een unieke code die je verzoeken aan de API identificeert. Je API-sleutel is bedoeld voor gebruik door jou. Het delen van API-sleutels is in strijd met de gebruiksvoorwaarden.
Wanneer je begint te experimenteren, wil je misschien ook je team toegang geven tot de API. OpenAI ondersteunt het delen van API-sleutels niet. Nodig nieuwe leden uit voor je account via de pagina Leden. Ze ontvangen dan kort na het inloggen hun eigen unieke sleutel. Je kunt ook per API-sleutel machtigingen toewijzen.
2. Maak API-sleutels met een vervaldatum en stel een proces voor sleutelrotatie in
Je kunt projectsleutels aanmaken met een vervaldatum. Na die datum worden alle verzoeken met die sleutels geweigerd. We raden sterk aan om sleutels met een vervaldatum aan te maken en een proces voor regelmatige sleutelrotatie in te stellen. Maak voordat een sleutel verloopt een vervangende sleutel aan en pas je applicaties aan zodat ze deze gebruiken. Trek de oude sleutel in zodra je hebt gecontroleerd dat de nieuwe werkt. Deze maatregelen kunnen de gevolgen van gelekte API-sleutels aanzienlijk beperken.
Beheerders kunnen in de platforminstellingen op organisatie- of projectniveau een maximale geldigheidsduur voor API-sleutels afdwingen. Nieuwe sleutels moeten binnen de toegestane limieten worden geconfigureerd, zodat ze niet onbeperkt geldig blijven. Projectlimieten mogen de organisatielimiet niet overschrijden.
Gebruik voor ondersteunde workloads workloadidentiteitsfederatie in plaats van een lang geldige OpenAI API-sleutel op te slaan. Je workload wisselt een identiteit van een vertrouwde provider in voor een kort geldig OpenAI-toegangstoken. Configureer een apart serviceaccount met alleen de machtigingen die de workload nodig heeft.
3. Gebruik je sleutel nooit in clientomgevingen zoals browsers of mobiele apps.
Als je je OpenAI API-sleutel blootstelt in clientomgevingen zoals browsers of mobiele apps, kunnen kwaadwillende gebruikers die sleutel bemachtigen en namens jou verzoeken doen. Dit kan leiden tot onverwachte kosten of ongeoorloofde toegang tot bepaalde accountgegevens. Verzoeken moeten altijd via je eigen backendserver worden geleid, waar je je API-sleutel veilig kunt bewaren.
4. Leg uw sleutel nooit vast in uw repository
Het vastleggen van een API-sleutel in broncode is een veelvoorkomende oorzaak van gelekte inloggegevens. Bij openbare repositories is dit een veelvoorkomende manier waarop u uw sleutel onbedoeld openbaar maakt op internet. Privérepositories zijn veiliger, maar ook daarbij kunnen uw sleutels door een datalek uitlekken. Daarom raden we sterk aan om omgevingsvariabelen te gebruiken als proactieve beveiligingsmaatregel voor uw sleutels.
5. Gebruik omgevingsvariabelen in plaats van je API-sleutel
Instellen op Windows
Een omgevingsvariabele is een variabele die je in je besturingssysteem instelt in plaats van in je applicatie. Deze bestaat uit een naam en een waarde. We raden aan de variabele de naam OPENAI_API_KEY te geven. Door binnen je team dezelfde variabelenaam te gebruiken, kun je je code committen en delen zonder het risico dat je API-sleutel openbaar wordt.
Optie 1: Stel je omgevingsvariabele "OPENAI_API_KEY" in via de opdrachtprompt (cmd)
Voer het volgende uit in de opdrachtprompt en vervang <yourkey> door je API-sleutel:
setx OPENAI_API_KEY "<yourkey>"Dit geldt voor toekomstige cmd-promptvensters. Je moet dus een nieuw venster openen om die variabele met curl te gebruiken. Je kunt controleren of deze variabele is ingesteld door een nieuw cmd-promptvenster te openen en het volgende in te voeren
echo %OPENAI_API_KEY%Optie 2: Stel je omgevingsvariabele "OPENAI_API_KEY" in via het Configuratiescherm
Open de eigenschappen van Systeem en selecteer Geavanceerde systeeminstellingen
Selecteer Omgevingsvariabelen...
Selecteer Nieuw… in het gedeelte Gebruikersvariabelen (bovenaan). Voeg de naam en de bijbehorende sleutelwaarde toe en vervang <yourkey> door je API-sleutel.
Variabelenaam: OPENAI_API_KEY
Variabelewaarde: <yourkey>Instellen op Linux en macOS
Optie 1: Stel je omgevingsvariabele "OPENAI_API_KEY" in met zsh
Voer de volgende opdracht uit in je terminal en vervang yourkey door je API-sleutel.
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrcWerk de shell bij met de nieuwe variabele:
source ~/.zshrcBevestig met de volgende opdracht dat je je omgevingsvariabele hebt ingesteld.
echo $OPENAI_API_KEYDe waarde van je API-sleutel is de resulterende uitvoer.
Optie 2: Stel je omgevingsvariabele ‘OPENAI_API_KEY’ in met bash
Volg de instructies in optie 1 en vervang .zshrc door .bash_profile.
Je bent klaar! Je kunt nu naar de sleutel verwijzen in curl of deze laden in je Python:
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]6. Gebruik een sleutelbeheerservice
Er zijn verschillende producten beschikbaar om geheime API-sleutels veilig te beheren. Met deze tools kun je de toegang tot je sleutels beheren en je algehele gegevensbeveiliging verbeteren. Bij een datalek in je applicatie zouden je sleutels niet worden gecompromitteerd, omdat ze versleuteld zijn en op een volledig aparte locatie worden beheerd.
Teams die hun applicaties in productie nemen, raden we aan een van deze services te overwegen.
7. Houd je accountgebruik in de gaten en vervang je sleutels wanneer dat nodig is
Stel maandelijkse bestedingslimieten in voor je organisatie of projecten en schakel strikte handhaving in om onverwachte kosten door een gelekte sleutel te helpen beperken. Alleen bestedingsmeldingen houden API-verkeer niet tegen. Strikte handhaving kan legitieme verzoeken blokkeren. Omdat de handhaving niet onmiddellijk ingaat, kunnen de uitgaven iets boven de limiet uitkomen.
Met een gecompromitteerde API-sleutel kan iemand zonder je toestemming gebruikmaken van je accountquotum. Dit kan leiden tot gegevensverlies, onverwachte kosten, uitputting van je maandelijkse quotum en onderbreking van je API-toegang.
Je kunt het gebruik van je teams volgen op de pagina Gebruik. Als je je zorgen maakt over misbruik, kun je een aantal stappen nemen om je account te beschermen:
Controleer of het gebruik overeenkomt met de werkzaamheden van je team. Zorg er bij gebruikers die bij meerdere organisaties horen (bijvoorbeeld zakelijk en privé) voor dat ze gebruiksregistratie hebben ingeschakeld en hun standaardorganisatie voor gebruik en registratie hebben ingesteld.
Als je vermoedt dat je sleutel is gelekt, vervang deze dan onmiddellijk op de pagina API-sleutels. Als je applicaties in productie hebt, moet je de sleutelwaarden daarin ook bijwerken.
Neem contact met ons op via help.openai.com voor verder onderzoek.
8. Beveilig API-toegang met netwerkmaatregelen
Met een lijst van toegestane IP-adressen kun je bepalen welke IP-adressen toegang hebben tot je OpenAI API. Als deze functie is ingeschakeld, worden alleen verzoeken van ingestelde IP-adressen of IP-bereiken toegestaan. Alle andere verzoeken worden geweigerd, zelfs als ze een geldige API-sleutel bevatten.
Dit voegt een extra beveiligingslaag toe: je API is alleen toegankelijk vanuit vertrouwde infrastructuur, zoals je backendservers of cloudomgeving.
Meer informatie vind je in het artikel over toegestane IP-adressen voor de OpenAI API.
Private Link is een andere optie voor organisaties die toegang via een privénetwerk nodig hebben. Hiermee kunnen Azure-workloads via Azure Private Link verbinding maken met regionale OpenAI API-eindpunten. Neem contact op met je OpenAI-contactpersoon of het verkoopteam om toegang aan te vragen. API-authenticatie blijft vereist. Private Link is niet compatibel met lijsten van toegestane IP-adressen of wederzijdse TLS (mTLS). Zie de Private Link-handleiding voor instructies voor het instellen.
