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

Aanbevolen werkwijzen voor API-sleutelbeveiliging

Bijgewerkt: yesterday

1. Gebruik altijd een unieke API-sleutel voor elk teamlid in je account.

Een API-sleutel is een unieke code die je aanvragen 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 met experimenteren, wil je mogelijk API-toegang uitbreiden naar je team. OpenAI ondersteunt het delen van API-sleutels niet. Nodig nieuwe leden uit voor je account via de pagina Leden en zij ontvangen snel hun eigen unieke sleutel nadat ze zijn ingelogd. 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 aanvragen te doen – wat kan leiden tot onverwachte kosten of compromittering van bepaalde accountgegevens. Aanvragen moeten altijd via je eigen backendserver worden geleid, waar je je API-sleutel veilig kunt houden.

3. Commit je sleutel nooit naar je repository

Een API-sleutel naar broncode committen is een veelvoorkomende oorzaak van het uitlekken van inloggegevens. Voor mensen met openbare repositories is dit een veelgebruikte manier waarop je onbewust je sleutel met het internet kunt delen. Privé-repositories zijn veiliger, maar ook een datalek kan ertoe leiden dat je sleutels uitlekken. Daarom raden we sterk aan om omgevingsvariabelen te gebruiken als proactieve maatregel voor sleutelbeveiliging.

4. Gebruik omgevingsvariabelen in plaats van je API-sleutel

Een omgevingsvariabele is een variabele die is ingesteld op je besturingssysteem, 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 consistent te houden binnen je team, kun je je code committen en delen zonder het risico dat je API-sleutel wordt blootgesteld.

Windows-instelling

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 geldt voor 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

echo %OPENAI_API_KEY%

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

1. Open de eigenschappen van Systeem en selecteer Geavanceerde systeeminstellingen

Windows 10 System settings with Advanced system settings highlighted in Control Panel

2. Selecteer Omgevingsvariabelen...

Windows System Properties Advanced tab with Environment Variables button highlighted

3. Selecteer Nieuw… in het gedeelte Gebruikersvariabelen (bovenaan). Voeg je naam/sleutelwaarde-paar toe en vervang <yourkey> door je API-sleutel.

Variabelenaam: OPENAI_API_KEY
Variabelewaarde: <yourkey>

Linux / MacOS-instelling

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

2. Werk de shell bij met de nieuwe variabele:

source ~/.zshrc

3. Bevestig dat je je omgevingsvariabele hebt ingesteld met de volgende opdracht.

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 aanwijzingen in Optie 1 en vervang .zshrc door .bash_profile.

Je bent helemaal 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 sleutelbeheerservice

Er zijn verschillende producten beschikbaar voor het veilig beheren van geheime API-sleutels. Met deze tools kun je de toegang tot je sleutels beheren en je algehele gegevensbeveiliging verbeteren. In het geval van een datalek in je applicatie zouden je sleutel(s) niet gecompromitteerd raken, omdat ze versleuteld zouden zijn en op een volledig aparte locatie worden beheerd.

Voor teams die hun applicaties naar productie uitrollen, raden we aan om een van deze diensten te overwegen.

6. Houd het gebruik van je account in de gaten en roteer je sleutels wanneer nodig

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 team kan worden gevolgd via de pagina Gebruik. Als je je ooit zorgen maakt over misbruik, zijn er een paar acties die je kunt ondernemen om je account te beschermen:

  • Controleer 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 heeft ingesteld voor gebruik en tracking.

  • Als je denkt dat je sleutel is gelekt, roteer je sleutel dan onmiddellijk vanaf de pagina API Keys. Voor klanten met applicaties in productie moet je je sleutelwaarden 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. Wanneer dit is ingeschakeld, zijn alleen aanvragen van geconfigureerde IP-adressen of -bereiken toegestaan en worden alle andere afgewezen, zelfs als ze een geldige API-sleutel bevatten.

Dit voegt een extra beveiligingslaag toe doordat je API alleen toegankelijk is vanaf vertrouwde infrastructuur, zoals je backendservers of cloudomgeving.

Zie voor meer informatie het artikel IP allowlisting for the OpenAI API article.

Was dit artikel nuttig?