Az API-kulcsok rendszeres rotálása fontos biztonsági gyakorlat. Így tudod biztonságosan rotálni a kulcsaidat anélkül, hogy megzavarnád a szolgáltatásodat.
Miért rotálj API-kulcsokat?
Biztonsági alapelv: Korlátozza az expozíciót, ha egy kulcs valaha kompromittálódik
Csapatváltozások: Amikor fejlesztők kilépnek vagy szerepkört váltanak
Gyanús kompromittálódás: Ha úgy gondolod, hogy egy kulcs nyilvánosságra kerülhetett
Megfelelőség (compliance): Egyes biztonsági irányelvek időszakos kulcsrotálást írnak elő
Környezetváltás: Amikor infrastruktúrát migrálsz vagy refaktorálsz
Szokásos rotálási folyamat (kiesés nélkül)
1. lépés: Hozz létre egy új kulcsot
Lépj be a Beállítások → API menüpontba
Kattints a "Új API-kulcs létrehozása" gombra
Adj neki leíró nevet (pl. "Production Web v2")
Másold ki az új kulcsot azonnal – csak egyszer jelenik meg
Tárold biztonságosan
2. lépés: Frissítsd az alkalmazásodat
Telepítsd az új kulcsot az alkalmazásodba (környezeti változók, secrets manager stb.)
Indítsd újra az alkalmazásodat, hogy betöltse az új kulcsot
Ellenőrizd, hogy az új kulcs megfelelően működik
Figyeld az esetleges hibákat
3. lépés: Kövesd átmenetet
Ideiglenesen tartsd mindkét kulcsot aktívan
Nézd meg a Beállítások → API oldalon a "Last used" (Legutóbb használt) dátumokat
Várj, amíg a régi kulcsnál nem látszik legutóbbi aktivitás
Győződj meg róla, hogy minden példány/szolgáltatás az új kulcsra váltott
4. lépés: Töröld a régi kulcsot
Miután megerősítetted, hogy a régi kulcs már nincs használatban
Töröld vagy deaktiváld a régi kulcsot a Beállítások → API menüpontban
Dokumentáld a rotálást a nyilvántartásaidhoz
Gyors rotálási folyamat (ha kompromittálódott)
Ha egy kulcs biztosan kompromittálódott, és azonnal lépned kell:
Töröld először a kompromittált kulcsot a Beállítások → API menüpontban
Hozz létre egy új, helyettesítő kulcsot
Gyorsan telepítsd az új kulcsot az összes alkalmazásba
Fogadj el rövid kiesést a jogosulatlan hozzáférés megelőzéséhez
Figyeld a használati naplókat bármilyen gyanús tevékenység miatt
Ha szükséges, vedd fel a kapcsolatot a támogatással
Több környezetre kiterjedő rotálási stratégia
Termelési (production) rendszereknél alkalmazz fázisolt megközelítést:
1. hét: Fejlesztés (Development)
Hozz létre és telepítsd az új kulcsot a dev környezetbe
Teszteld alaposan
2. hét: Staging
Telepítsd az új kulcsot a staging környezetbe
Futtass integrációs teszteket
Figyeld a problémákat
3. hét: Termelés (Production)
Telepítsd az új kulcsot a production környezetbe alacsony forgalmú időszakban
Figyeld szorosan
Tartsd a régi kulcsot aktívan 24–48 óráig visszaesési (fallback) lehetőségként
4. hét: Takarítás (Cleanup)
Ellenőrizd, hogy a régi kulcsnál nincs aktivitás
Töröld a régi kulcsot
Frissítsd a dokumentációt
Automatizálási példa
Szkript, amely segít ellenőrizni, hogy a kulcsrotálás teljes:
#!/bin/bash
# check-api-key.sh
OLD_KEY="sk_live_OLD123..."
NEW_KEY="sk_live_NEW789..."
echo "Testing old key..."
OLD_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
-H "x-api-key: $OLD_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"test","page":1,"page_size":1}')
echo "Testing new key..."
NEW_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
-H "x-api-key: $NEW_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"test","page":1,"page_size":1}')
echo "Old key status: ${OLD_RESPONSE: -3}"
echo "New key status: ${NEW_RESPONSE: -3}"
if [ "${NEW_RESPONSE: -3}" == "200" ]; then
echo "✅ New key is working!"
else
echo "❌ New key failed!"
fi
Legjobb gyakorlatok
Rotáld rendszeresen: Minden 90 napban a production kulcsoknál
Dokumentáld a rotálásokat: Vezess naplót arról, mikor rotáltad a kulcsokat és miért
Tesztelj törlés előtt: Mindig ellenőrizd, hogy az új kulcs működik, mielőtt eltávolítanád a régit
Használj több kulcsot: Környezetenként külön kulcsokkal könnyebb a rotálás
Automatizálj, ahol lehetséges: Használj secrets management eszközöket, amelyek támogatják az automatikus rotálást
Rotálás utáni ellenőrzőlista
A rotálás után erősítsd meg ezeket:
✅ Minden production példány az új kulcsot használja
✅ Minden staging/dev környezet frissítve van (ha ugyanazt a kulcsot használod)
✅ A környezeti változók frissítve vannak
✅ A CI/CD secrets frissítve vannak
✅ A dokumentáció frissítve van
✅ A csapattagok értesítve lettek
✅ A régi kulcs törölve lett
✅ A rotálás naplózva van audit célokra