OpenAI
Ta strona została przetłumaczona maszynowo. Wyświetl oryginalny artykuł w języku angielskim.

Najlepsze praktyki bezpieczeństwa kluczy API

Zaktualizowano: 6 hours ago

1. Zawsze używaj unikalnego klucza API dla każdego członka zespołu na swoim koncie.

Klucz API to unikalny kod, który identyfikuje Twoje żądania do API. Twój klucz API jest przeznaczony do użycia przez Ciebie. Udostępnianie kluczy API jest niezgodne z Warunkami użytkowania.

Gdy zaczniesz eksperymentować, możesz chcieć rozszerzyć dostęp do API na swój zespół. OpenAI nie wspiera udostępniania kluczy API. Zaproś nowych członków do swojego konta ze strony Członkowie, a po zalogowaniu szybko otrzymają własny unikalny klucz. Możesz także przypisywać uprawnienia do poszczególnych kluczy API.

2. Nigdy nie wdrażaj swojego klucza w środowiskach po stronie klienta, takich jak przeglądarki czy aplikacje mobilne.

Ujawnienie klucza OpenAI API w środowiskach po stronie klienta, takich jak przeglądarki czy aplikacje mobilne, umożliwia złośliwym użytkownikom przejęcie tego klucza i wysyłanie żądań w Twoim imieniu — co może prowadzić do nieoczekiwanych opłat lub naruszenia bezpieczeństwa niektórych danych konta. Żądania powinny być zawsze kierowane przez Twój własny serwer backendowy, gdzie możesz bezpiecznie przechowywać klucz API.

3. Nigdy nie zapisuj swojego klucza w repozytorium

Zapisywanie klucza API w kodzie źródłowym to częsta droga do przejęcia danych uwierzytelniających. W przypadku osób korzystających z publicznych repozytoriów jest to częsty sposób na nieświadome udostępnienie klucza w internecie. Prywatne repozytoria są bezpieczniejsze, ale naruszenie ochrony danych również może spowodować wyciek Twoich kluczy. Z tych powodów zdecydowanie zalecamy używanie zmiennych środowiskowych jako proaktywnego środka ochrony kluczy.

4. Używaj zmiennych środowiskowych zamiast klucza API

Zmienna środowiskowa to zmienna ustawiana w systemie operacyjnym, a nie w aplikacji. Składa się z nazwy i wartości. Zalecamy ustawienie nazwy zmiennej na OPENAI_API_KEY. Utrzymując tę nazwę zmiennej jako spójną w całym zespole, możesz zapisywać i udostępniać kod bez ryzyka ujawnienia klucza API.


Konfiguracja w systemie Windows

Opcja 1: Ustaw zmienną środowiskową „OPENAI_API_KEY” za pomocą wiersza polecenia cmd

Uruchom następujące polecenie w wierszu polecenia cmd, zastępując <yourkey> swoim kluczem API:

setx OPENAI_API_KEY "<yourkey>"

Zostanie to zastosowane do przyszłych okien wiersza polecenia cmd, więc musisz otworzyć nowe okno, aby użyć tej zmiennej z curl. Możesz sprawdzić, czy ta zmienna została ustawiona, otwierając nowe okno wiersza polecenia cmd i wpisując

echo %OPENAI_API_KEY%

Opcja 2: Ustaw zmienną środowiskową „OPENAI_API_KEY” w Panelu sterowania

  1. Otwórz właściwości System i wybierz Zaawansowane ustawienia systemu

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Wybierz Zmienne środowiskowe...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Wybierz Nowa… w sekcji Zmienne użytkownika (u góry). Dodaj parę nazwa/wartość klucza, zastępując <yourkey> swoim kluczem API.

Nazwa zmiennej: OPENAI_API_KEY
Wartość zmiennej: <yourkey>

Konfiguracja w systemach Linux / MacOS

Opcja 1: Ustaw zmienną środowiskową „OPENAI_API_KEY” za pomocą zsh

  1. Uruchom następujące polecenie w terminalu, zastępując yourkey swoim kluczem API.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Zaktualizuj powłokę za pomocą nowej zmiennej:

source ~/.zshrc
  1. Potwierdź, że zmienna środowiskowa została ustawiona, używając następującego polecenia.

echo $OPENAI_API_KEY

Wartością Twojego klucza API będzie wynikowe wyjście.


Opcja 2: Ustaw zmienną środowiskową „OPENAI_API_KEY” za pomocą bash

Postępuj zgodnie z instrukcjami z Opcji 1, zastępując .zshrc przez .bash_profile.

Gotowe! Możesz teraz odwoływać się do klucza w curl lub wczytać go w Pythonie:

import os
import openai

openai.api_key = os.environ["OPENAI_API_KEY"]

5. Korzystaj z usługi zarządzania kluczami

Dostępnych jest wiele produktów do bezpiecznego zarządzania tajnymi kluczami API. Te narzędzia pozwalają kontrolować dostęp do kluczy i poprawiać ogólne bezpieczeństwo danych. W razie naruszenia ochrony danych w Twojej aplikacji Twój klucz lub klucze nie zostałyby przejęte, ponieważ byłyby szyfrowane i zarządzane w całkowicie oddzielnej lokalizacji.

Zespołom wdrażającym aplikacje do środowiska produkcyjnego zalecamy rozważenie jednej z tych usług.

6. Monitoruj użycie konta i rotuj klucze w razie potrzeby

Przejęty klucz API pozwala innej osobie uzyskać dostęp do limitu Twojego konta bez Twojej zgody. Może to skutkować utratą danych, nieoczekiwanymi opłatami, wyczerpaniem miesięcznego limitu i przerwą w dostępie do API.

Użycie przez Twoje zespoły można śledzić na stronie Użycie. Jeśli kiedykolwiek masz obawy dotyczące nadużycia, możesz podjąć kilka działań, aby chronić swoje konto:

  • Przejrzyj użycie, aby sprawdzić, czy jest zgodne z pracą Twojego zespołu. W przypadku użytkowników należących do wielu organizacji (np. firmowej i osobistej) upewnij się, że użytkownik włączył śledzenie oraz ustawił domyślną organizację do użycia i śledzenia.

  • Jeśli uważasz, że Twój klucz wyciekł, natychmiast wykonaj rotację klucza na stronie Klucze API. W przypadku klientów z aplikacjami w środowisku produkcyjnym konieczne będzie odpowiednie zaktualizowanie wartości kluczy.

  • Skontaktuj się z nami przez help.openai.com, aby umożliwić dalsze zbadanie sprawy.

7. Ogranicz dostęp do API za pomocą listy dozwolonych adresów IP

Lista dozwolonych adresów IP pozwala ograniczyć, które adresy IP mogą uzyskiwać dostęp do OpenAI API. Po włączeniu dozwolone są tylko żądania ze skonfigurowanych adresów IP lub zakresów, a wszystkie pozostałe są odrzucane — nawet jeśli zawierają prawidłowy klucz API.

Dodaje to dodatkową warstwę ochrony, zapewniając, że dostęp do Twojego API jest możliwy tylko z zaufanej infrastruktury, takiej jak serwery backendowe lub środowisko chmurowe.

Więcej informacji znajdziesz w artykule Lista dozwolonych adresów IP dla OpenAI API.

Czy ten artykuł był pomocny?