Cum îmi protejez cheile API împotriva apariției în rezultatele căutării?

Cum îmi protejez cheile API împotriva apariției în rezultatele căutării?

Nodul sursă: 2726143

Întrebare: Cum împiedic cheile mele API să nu devină parte din căutarea GitHub a altcuiva?

Răspuns: Stocarea cheilor API direct în codul dvs. nu este, în general, recomandată din cauza riscurilor potențiale de securitate. Dacă codul dvs. este vreodată partajat sau devine accesibil public, oricine vede cheia API îl poate folosi, ceea ce poate duce la abuz sau la o încălcare a securității.

Există mai multe moduri de a stoca în siguranță cheile API:

  • Variabile de mediu: Puteți stoca chei API în variabilele de mediu pe computer și apoi accesați aceste variabile din codul dvs. Această metodă are avantajul de a păstra cheile în afara codului dvs. (se află în mediul în care rulează codul). De asemenea, înseamnă că cheile pot fi diferite pentru diferite medii, cum ar fi mașina dvs. locală, un server de dezvoltare, un server de producție etc.
  • Fișiere de configurare: De asemenea, puteți stoca cheile API într-un fișier de configurare separat care nu este inclus în depozitul de coduri. Acest fișier ar trebui adăugat la dvs .gitignore pentru a preveni transferarea acestuia în depozitul dvs. Asigurați-vă că adăugați permisiuni corespunzătoare la nivel de fișier la acest fișier de configurare pentru a preveni accesul neautorizat. În codul dvs., veți citi cheile API din acest fișier.
  • Sisteme de management al secretelor: Pentru aplicații mai mari sau date mai sensibile, ați putea lua în considerare utilizarea a sistem de management al secretelor. Acestea sunt instrumente specializate precum AWS Secrets Manager, HashiCorp's Vault și Google's Secret Manager, care ajută la gestionarea accesului la secrete precum cheile API.
  • Servicii de configurare specifice mediului: Platforme precum Heroku și Netlify au caracteristici sau servicii specifice pentru setarea variabilelor de mediu, care pot fi folosite pentru a stoca cheile API.
  • Stocare criptată: Dacă trebuie să stocați cheile API într-o bază de date sau alt sistem de stocare, ar trebui să le criptați. În acest fel, chiar dacă cineva are acces la sistemul de stocare, nu vor putea folosi cheile fără cheia de criptare.

Să aruncăm o privire la modul de implementare a primelor două, cea mai mică suprasarcină dintre aceste soluții, în codificare securizată. Am folosit Python ca exemplu de limbaj pentru aceasta, deși orice limbaj va avea concepte similare. Avantajul Python este simplitatea și ușurința în utilizare, care împreună cu capabilitățile sale formidabile de gestionare a datelor îl fac ideal pentru majoritatea utilizărilor.

Pentru a utiliza variabilele de mediu pentru stocarea cheilor API

Variabilele de mediu vă permit să stocați informații sensibile, cum ar fi cheile API, în afara codului sursă. Acestea sunt accesibile aplicației în timpul rulării și pot fi configurate cu ușurință în diferite medii (de exemplu, dezvoltare, punere în scenă și producție).

Mai întâi, setați variabila de mediu în sistemul dvs. sau platforma pe care rulează aplicația dvs. Într-un sistem bazat pe Unix, puteți seta o variabilă de mediu folosind exporturile comanda:

% export API_KEY=

Apoi, accesați variabila de mediu din codul aplicației dvs. De exemplu, în Python, puteți accesa valoarea unei variabile de mediu folosind os modul:

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

Pentru a utiliza fișiere de configurare externe pentru stocarea cheilor API

O altă modalitate prin care dezvoltatorul începător sau cercetătorul de date poate stoca cheile API este prin intermediul fișierelor de configurare externe. Acestea pot fi foarte utile; cu toate acestea, ar trebui să le excludeți din depozit folosind .gitignore sau echivalentul.

Mai întâi, creați un fișier de configurare, cum ar fi config.jsonși stocați cheia API în ea:

json { "api_key": " "}

Apoi, adăugați fișierul de configurare la proiectul dvs .gitignore (sau echivalent) pentru a vă asigura că nu este urmărit de sistemul dvs. de control al versiunilor.

În cele din urmă, încărcați fișierul de configurare în codul aplicației pentru a accesa cheia API. De exemplu, în Python, puteți încărca un fișier de configurare JSON și puteți accesa cheia API astfel:

import json cu open('config.json') ca f
config = load(f) api_key = config['api_key']

Blocați-vă API-urile

Folosind fie variabile de mediu, fie fișiere de configurare externe, puteți mai bine protejați-vă cheile API de expunerea accidentală, simplifica gestionarea informațiilor sensibile și facilitează menținerea diferitelor configurații pentru diferite medii. Ar trebui să aplicați controale de acces adecvate asupra variabilelor de mediu și fișierelor de configurare pentru a preveni accesul neautorizat.

Pe măsură ce proiectul dvs. crește în complexitate (și importanță), poate fi recomandabil să treceți la platforme cu capabilități înnăscute, cum ar fi sistemele de gestionare a secretelor sau serviciile de configurare specifice mediului pentru stocarea articolelor sensibile. Cu toate acestea, aceste soluții rapide vă ajută să începeți pe o bază mai sigură.

Timestamp-ul:

Mai mult de la Lectură întunecată