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

Aanbevolen werkwijzen voor API-sleutelbeveiliging

Bescherm je API-sleutels met veilige opslag, toegangsbeheer, monitoring, regelmatige vervanging en IP-beperkingen.

Bijgewerkt: 5 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. 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 uw API-sleutel

Een omgevingsvariabele is een variabele die in uw besturingssysteem wordt ingesteld in plaats van in uw toepassing. Deze bestaat uit een naam en een waarde. We raden aan de variabele de naam OPENAI_API_KEY te geven. Door binnen uw team steeds dezelfde variabelenaam te gebruiken, kunt u uw code vastleggen en delen zonder het risico dat uw API-sleutel wordt blootgesteld.


Configuratie voor Windows

Optie 1: Stel de omgevingsvariabele 'OPENAI_API_KEY' in via de opdrachtprompt

Voer het volgende uit in de opdrachtprompt en vervang <yourkey> door uw 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 de 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
  1. Selecteer Omgevingsvariabelen...

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

Variabelenaam: OPENAI_API_KEY
Variabelewaarde: <yourkey>

Configuratie voor Linux/macOS

Optie 1: Stel de 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"]

6. Gebruik een sleutelbeheerservice

Er zijn diverse producten beschikbaar om geheime API-sleutels veilig te beheren. Met deze tools kunt u de toegang tot uw sleutels beheren en uw algemene gegevensbeveiliging verbeteren. Bij een datalek in uw toepassing blijven uw sleutels beschermd, omdat ze versleuteld zijn en op een volledig afzonderlijke locatie worden beheerd.

Teams die hun toepassingen in productie nemen, raden we aan een van deze services te overwegen.

7. Houd het gebruik van je account 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 bestedingswaarschuwingen houden API-verkeer niet tegen. Strikte handhaving kan legitieme verzoeken blokkeren. De uitgaven kunnen de limiet iets overschrijden, omdat de handhaving niet onmiddellijk ingaat.

Met een gecompromitteerde API-sleutel kan iemand zonder jouw toestemming het quotum van je account gebruiken. 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 misbruik vermoedt, kun je een aantal maatregelen nemen om je account te beschermen:

  • Controleer of je gebruik overeenkomt met de werkzaamheden van je team. Zorg er bij gebruikers die tot meerdere organisaties behoren (bijvoorbeeld zakelijk en privé) voor dat ze gebruiksregistratie hebben ingeschakeld en een standaardorganisatie voor gebruik en registratie hebben ingesteld.

  • Als je vermoedt dat je sleutel is gelekt, vervang deze dan onmiddellijk via de pagina API-sleutels. Als je applicaties in productie hebt, moet je ook daarin de sleutelwaarden bijwerken.

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

8. Beveilig API-toegang met netwerkmaatregelen

Met een IP-toelatingslijst kun je beperken welke IP-adressen toegang hebben tot je OpenAI API. Als deze is ingeschakeld, worden alleen verzoeken van ingestelde IP-adressen of -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.

Lees voor meer informatie het artikel over IP-toelatingslijsten 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 salesteam om toegang aan te vragen. API-authenticatie blijft vereist en Private Link is niet compatibel met IP-toelatingslijsten of wederzijdse TLS (mTLS). Raadpleeg de Private Link-handleiding voor configuratie-instructies.

Was dit artikel nuttig?