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.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- EVM Finance. Egységes felület a decentralizált pénzügyekhez. Hozzáférés itt.
- Quantum Media Group. IR/PR erősített. Hozzáférés itt.
- PlatoAiStream. Web3 adatintelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://www.darkreading.com/edge/how-do-i-protect-my-api-keys-from-appearing-in-github-search-results-
- :van
- :is
- :nem
- :ahol
- $ UP
- 7
- a
- Képes
- visszaélés
- hozzáférés
- hozzáférhető
- hozzá
- hozzáadott
- Előny
- lehetővé
- Is
- Bár
- an
- és a
- bármilyen
- bárki
- api
- API KULCSOK
- megjelenő
- Alkalmazás
- alkalmazások
- megfelelő
- VANNAK
- AS
- At
- AWS
- BE
- válik
- egyre
- Kezdet
- hogy
- Jobb
- megsértése
- by
- TUD
- képességek
- kód
- Kódolás
- elkötelezett
- bonyolultság
- fogalmak
- Configuration
- konfigurálva
- Fontolja
- ellenőrzés
- ellenőrzések
- teremt
- dátum
- adattudós
- adatbázis
- Fejlesztő
- Fejlesztés
- különböző
- közvetlenül
- do
- két
- alatt
- e
- könnyű
- egyszerű használat
- könnyebb
- könnyen
- bármelyik
- más
- titkosítás
- érvényesíteni
- biztosítására
- Környezet
- környezetek
- Egyenértékű
- stb.
- Még
- EVER
- példa
- export
- külső
- Jellemzők
- filé
- Fájlok
- vezetéknév
- A
- csodálatos
- ból ből
- általában
- GitHub
- növekszik
- Kezelés
- Legyen
- segít
- Hogyan
- How To
- azonban
- HTTPS
- i
- ideális
- if
- végre
- importál
- fontosság
- in
- beleértve
- információ
- veleszületett
- IT
- tételek
- ITS
- jpg
- json
- Tart
- tartás
- Kulcs
- kulcsok
- nyelv
- nagyobb
- vezető
- mint
- kiszámításának
- helyi
- néz
- gép
- fenntartása
- csinál
- kezelése
- vezetés
- menedzser
- Lehet..
- eszközök
- módszer
- esetleg
- Modulok
- több
- a legtöbb
- mozog
- my
- Szükség
- of
- kedvezmény
- on
- or
- OS
- Más
- ki
- kívül
- rész
- engedélyek
- emelvény
- Platformok
- Plató
- Platón adatintelligencia
- PlatoData
- potenciális
- potenciálisan
- megakadályozása
- Termelés
- program
- megfelelő
- védelme
- nyilvánosan
- Piton
- Quick
- Olvass
- ajánlott
- raktár
- Eredmények
- kockázatok
- futás
- s
- Tudós
- Keresés
- Titkos
- biztonság
- biztosan
- biztonság
- biztonsági kockázatok
- lát
- érzékeny
- különálló
- Szolgáltatások
- készlet
- beállítás
- számos
- megosztott
- kellene
- hasonló
- egyszerűség
- egyszerűsítése
- Megoldások
- Valaki
- forrás
- forráskód
- specializált
- különleges
- színpadra állítás
- kezdet
- tárolás
- tárolni
- tárolása
- ilyen
- rendszer
- Systems
- Vesz
- hogy
- A
- Őket
- akkor
- Ezek
- ők
- ezt
- nak nek
- együtt
- szerszámok
- kettő
- használ
- használt
- használ
- segítségével
- érték
- különféle
- Boltozat
- Ve
- változat
- nagyon
- keresztül
- Út..
- módon
- ami
- WHO
- lesz
- val vel
- nélkül
- Nyerte
- lenne
- te
- A te
- zephyrnet