Klucz API (API key) to unikalny ciąg znaków przypisany do aplikacji lub użytkownika, który identyfikuje go w usłudze, na przykład w mapach, płatnościach czy API Google. Służy do kontroli dostępu, naliczania użycia i blokowania nadużyć.
Jak używa się klucza API?
Aplikacja dołącza klucz do każdego żądania, najczęściej w nagłówku, np. Authorization lub X-API-Key, rzadziej w parametrze adresu. Serwer sprawdza go i na tej podstawie pozwala na dostęp, sprawdza limity i prowadzi statystyki.
Jak chronić klucz?
- nigdy nie umieszczaj go w publicznym repozytorium ani w kodzie przeglądarki, jeśli daje dostęp do danych lub płatnych funkcji,
- przechowuj w zmiennych środowiskowych lub menedżerze sekretów,
- ogranicz klucz do konkretnych adresów, domen i funkcji,
- rotuj klucze i unieważniaj te, które mogły wyciec.
Klucz API a uwierzytelnianie
Klucz identyfikuje aplikację, ale nie potwierdza tożsamości człowieka. Do logowania użytkowników służą tokeny, np. JWT i protokół OAuth. Przy wrażliwych danych sam klucz nie wystarcza.
Klucz identyfikuje aplikację, ale nie użytkownika, więc nie zastępuje logowania. Jeśli klucz trafi do publicznego repozytorium, należy go natychmiast unieważnić i wygenerować nowy, ponieważ boty skanują GitHub w poszukiwaniu takich danych w ciągu minut.
Klucze warto ograniczać do wybranych adresów i usług.