OpenAI
Deze pagina is automatisch vertaald. Bekijk het oorspronkelijke Engelstalige artikel.

Aanbevolen werkwijzen voor API-sleutelbeveiliging

Bijgewerkt: 4 days ago

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 om door jou te worden gebruikt. Het delen van API-sleutels is in strijd met de gebruiksvoorwaarden.

Wanneer je begint te experimenteren, wil je de API-toegang mogelijk uitbreiden naar je team. OpenAI ondersteunt het delen van API-sleutels niet. Nodig nieuwe leden uit voor je account via de pagina Leden; zij ontvangen na aanmelding snel hun eigen unieke sleutel. Je kunt ook machtigingen toewijzen aan afzonderlijke API-sleutels.

2. Implementeer je sleutel nooit in client-side omgevingen zoals browsers of mobiele apps.

Als je je OpenAI API-sleutel blootstelt in client-side omgevingen zoals browsers of mobiele apps, kunnen kwaadwillende gebruikers die sleutel gebruiken om namens jou verzoeken te doen. Dit kan leiden tot onverwachte kosten of het compromitteren van bepaalde accountgegevens. Verzoeken moeten altijd via je eigen backendserver worden geleid, waar je je API-sleutel veilig kunt bewaren.

3. Commit je sleutel nooit naar je repository

Het committen van een API-sleutel naar broncode is een veelvoorkomende manier waarop inloggegevens worden gecompromitteerd. Voor wie openbare repositories heeft, is dit een veelvoorkomende manier waarop je je sleutel onbedoeld met het internet kunt delen. Privérepositories zijn veiliger, maar een datalek kan er ook toe leiden dat je sleutels uitlekken. Om deze redenen raden we sterk aan om omgevingsvariabelen te gebruiken als proactieve veiligheidsmaatregel voor sleutels.

4. Gebruik omgevingsvariabelen in plaats van je API-sleutel

Een omgevingsvariabele is een variabele die op je besturingssysteem wordt ingesteld, in plaats van binnen je applicatie. Deze bestaat uit een naam en een waarde. We raden aan om de naam van de variabele in te stellen op OPENAI_API_KEY. Door deze variabelenaam binnen je team consistent te houden, kun je je code committen en delen zonder het risico dat je je API-sleutel blootstelt.


Windows-configuratie

Optie 1: Stel je omgevingsvariabele ‘OPENAI_API_KEY’ in via de cmd-prompt

Voer het volgende uit in de cmd-prompt en vervang <yourkey> door je API-sleutel:

setx OPENAI_API_KEY "<yourkey>"

Dit is van toepassing op toekomstige cmd-promptvensters, dus je moet 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 te typen:

echo %OPENAI_API_KEY%

Optie 2: Stel je omgevingsvariabele ‘OPENAI_API_KEY’ in via het Configuratiescherm

  1. Open Systeemeigenschappen en selecteer Geavanceerde systeeminstellingen

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Selecteer Omgevingsvariabelen...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Selecteer Nieuw… in het gedeelte Gebruikersvariabelen (bovenaan). Voeg je naam/sleutel-waardepaar toe en vervang <yourkey> door je API-sleutel.

Variabelenaam: OPENAI_API_KEY
Variabelewaarde: <yourkey>

Linux-/MacOS-configuratie

Optie 1: Stel je omgevingsvariabele ‘OPENAI_API_KEY’ in met zsh

  1. Voer de volgende opdracht uit in je terminal en vervang yourkey door je API-sleutel.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Werk de shell bij met de nieuwe variabele:

source ~/.zshrc
  1. Bevestig met de volgende opdracht dat je je omgevingsvariabele hebt ingesteld.

echo $OPENAI_API_KEY

De 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"]

5. Gebruik een Key Management Service

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 sleutel(s) niet worden gecompromitteerd, omdat ze versleuteld en op een volledig aparte locatie beheerd zouden worden.

Voor teams die hun applicaties in productie implementeren, raden we aan een van deze diensten te overwegen.

6. Controleer het gebruik van je account en roteer je sleutels wanneer dat nodig is

Met een gecompromitteerde API-sleutel kan iemand zonder jouw toestemming toegang krijgen tot je accountquotum. Dit kan leiden tot gegevensverlies, onverwachte kosten, uitputting van je maandelijkse quotum en onderbreking van je API-toegang.

Het gebruik van je teams kan worden bijgehouden via de pagina Gebruik. Als je ooit zorgen hebt over misbruik, kun je een paar acties ondernemen om je account te beschermen:

  • Bekijk je gebruik om te zien of het overeenkomt met het werk van je team. Voor gebruikers die tot meerdere organisaties behoren (bijv. zakelijk en persoonlijk): zorg ervoor dat de gebruiker tracking heeft ingeschakeld en de standaardorganisatie voor gebruik en tracking heeft ingesteld.

  • Als je denkt dat je sleutel is gelekt, roteer je sleutel dan onmiddellijk via de pagina API-sleutels. Voor klanten met applicaties in productie moet je de waarden van je sleutels dienovereenkomstig bijwerken.

  • Neem contact met ons op via help.openai.com voor verder onderzoek.

7. Beperk API-toegang met IP-allowlisting

Met IP-allowlisting kun je beperken welke IP-adressen toegang hebben tot je OpenAI-API. Als dit is ingeschakeld, worden alleen verzoeken van geconfigureerde IP-adressen of -bereiken toegestaan en worden alle andere geweigerd, zelfs als ze een geldige API-sleutel bevatten.

Dit voegt een extra beschermingslaag toe door ervoor te zorgen dat je API alleen toegankelijk is vanuit vertrouwde infrastructuur, zoals je backendservers of cloudomgeving.

Zie voor meer informatie het artikel over IP-allowlisting voor de OpenAI-API.

Was dit artikel nuttig?