Hogyan védhetem meg API-kulcsaimat, hogy ne jelenjenek meg a keresési eredmények között?

Hogyan védhetem meg API-kulcsaimat, hogy ne jelenjenek meg a keresési eredmények között?

How Do I Protect My API Keys From Appearing in Search Results? PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Kérdés: Hogyan akadályozhatom meg, hogy API-kulcsaim valaki más GitHub-keresésének részévé váljanak?

Válasz: Az API-kulcsok közvetlen tárolása a kódban általában nem javasolt a lehetséges biztonsági kockázatok miatt. Ha a kódot valaha megosztják vagy nyilvánosan hozzáférhetővé válik, bárki, aki látja az API-kulcsot, használhatja azt, ami visszaéléshez vagy biztonsági megsértéshez vezethet.

Számos módja van az API-kulcsok biztonságos tárolásának:

  • Környezeti változók: Az API-kulcsokat környezeti változókban tárolhatja a számítógépén, majd elérheti ezeket a változókat a kódból. Ennek a módszernek az az előnye, hogy távol tartja a kulcsokat a kódban (a kód futásának környezetben vannak). Ez azt is jelenti, hogy a kulcsok eltérőek lehetnek a különböző környezetekben, például a helyi gépen, fejlesztői szerveren, éles kiszolgálón stb.
  • Konfigurációs fájlok: Az API-kulcsokat egy külön konfigurációs fájlban is tárolhatja, amely nem szerepel a kódtárban. Ezt a fájlt hozzá kell adni a saját .gitignore fájlt, hogy megakadályozza annak véglegesítését a lerakatában. Ügyeljen arra, hogy megfelelő fájlszintű engedélyeket adjon ehhez a konfigurációs fájlhoz, hogy megakadályozza az illetéktelen hozzáférést. A kódjában ebből a fájlból olvassa be az API-kulcsokat.
  • Titokkezelő rendszerek: Nagyobb alkalmazások vagy érzékenyebb adatok esetén érdemes lehet a titokkezelő rendszer. Ezek olyan speciális eszközök, mint az AWS Secrets Manager, a HashiCorp's Vault és a Google Secret Manager, amelyek segítenek kezelni a titkokhoz, például az API-kulcsokhoz való hozzáférést.
  • Környezetspecifikus konfigurációs szolgáltatások: Az olyan platformok, mint a Heroku és a Netlify, speciális funkciókkal vagy szolgáltatásokkal rendelkeznek a környezeti változók beállításához, amelyek API-kulcsok tárolására használhatók.
  • Titkosított tárhely: Ha az API-kulcsokat adatbázisban vagy más tárolórendszerben kell tárolnia, akkor azokat titkosítania kell. Így még akkor is, ha valaki hozzáférést kap a tárolórendszerhez, nem fogják tudni használni a kulcsokat a titkosítási kulcs nélkül.

Nézzük meg, hogyan lehet biztonságos kódolásban megvalósítani az első kettőt, ezek közül a megoldások közül a legalacsonyabb költséget. Példanyelvként a Python-t használtam, bár minden nyelvnek hasonló fogalmai vannak. A Python előnye az egyszerűség és a könnyű használhatóság, ami a félelmetes adatkezelési képességekkel együtt ideálissá teszi a legtöbb felhasználáshoz.

Környezeti változók használata API-kulcsok tárolására

A környezeti változók lehetővé teszik érzékeny információk, például API-kulcsok tárolását a forráskódon kívül. Futás közben elérhetők az alkalmazás számára, és könnyen konfigurálhatók különböző környezetekben (pl. fejlesztés, állomásozás és termelés).

Először állítsa be a környezeti változót a rendszerben vagy azon a platformon, ahol az alkalmazás fut. Unix alapú rendszerekben a környezeti változót a export parancs:

% export API_KEY=

Ezután nyissa meg az alkalmazás kódjában található környezeti változót. Például a Pythonban egy környezeti változó értékét a következővel érheti el os modul:

% python import os api_key = os.environ['API_KEY']

Külső konfigurációs fájlok használata API-kulcsok tárolására

A kezdő fejlesztő vagy adattudós egy másik módja az API-kulcsok tárolásának külső konfigurációs fájlok segítségével. Ezek nagyon hasznosak lehetnek; azonban ki kell zárnia őket a tárolóból a segítségével .gitignore vagy azzal egyenértékű.

Először hozzon létre egy konfigurációs fájlt, mint pl config.json, és tárolja benne az API kulcsot:

json { "api_key": " "}

Ezután adja hozzá a konfigurációs fájlt a projekthez .gitignore (vagy azzal egyenértékű), hogy biztosítsa, hogy a verziókezelő rendszer ne kövesse nyomon.

Végül töltse be a konfigurációs fájlt az alkalmazás kódjába az API-kulcs eléréséhez. Például a Pythonban betölthet egy JSON konfigurációs fájlt, és így érheti el az API-kulcsot:

importálja a json-t az open('config.json') használatával f
config = load(f) api_key = config['api_key']

Zárolja be API-jait

Környezeti változók vagy külső konfigurációs fájlok használatával jobb eredményeket érhet el védje meg API-kulcsait a véletlen expozíciótól, leegyszerűsíti az érzékeny információk kezelését, és megkönnyíti a különböző konfigurációk karbantartását a különböző környezetekben. A jogosulatlan hozzáférés megelőzése érdekében a környezeti változókhoz és konfigurációs fájlokhoz megfelelő hozzáférés-szabályozást kell bevezetni.

A projekt összetettségének (és fontosságának) növekedésével tanácsos lehet olyan platformokra váltani, amelyek veleszületett képességekkel rendelkeznek, mint például a titokkezelő rendszerek vagy a környezetspecifikus konfigurációs szolgáltatások az érzékeny elemek tárolására. Ezek a gyors megoldások azonban segítenek abban, hogy biztonságosabb alapokon induljon el.

Időbélyeg:

Még több Sötét olvasmány