Come posso proteggere le mie chiavi API dall'apparire nei risultati di ricerca?

Come posso proteggere le mie chiavi API dall'apparire nei risultati di ricerca?

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

Domanda: come posso evitare che le mie chiavi API diventino parte della ricerca GitHub di qualcun altro?

Risposta: In genere non è consigliabile archiviare le chiavi API direttamente nel codice a causa dei potenziali rischi per la sicurezza. Se il tuo codice viene condiviso o diventa accessibile pubblicamente, chiunque veda la chiave API può utilizzarlo, causando potenzialmente un abuso o una violazione della sicurezza.

Esistono diversi modi per archiviare le chiavi API in modo sicuro:

  • Variabili ambientali: Puoi memorizzare le chiavi API nelle variabili di ambiente sul tuo computer e quindi accedere a queste variabili dal tuo codice. Questo metodo ha il vantaggio di mantenere le chiavi fuori dal codice (si trovano nell'ambiente in cui viene eseguito il codice). Significa anche che le chiavi possono essere diverse per ambienti diversi, come il tuo computer locale, un server di sviluppo, un server di produzione, ecc.
  • File di configurazione: Puoi anche archiviare le chiavi API in un file di configurazione separato che non è incluso nel repository del codice. Questo file dovrebbe essere aggiunto al tuo .gitignore file per impedirne il commit nel repository. Assicurati di aggiungere le autorizzazioni appropriate a livello di file a questo file di configurazione per impedire l'accesso non autorizzato. Nel tuo codice, leggeresti le chiavi API da questo file.
  • Sistemi di gestione dei segreti: Per applicazioni più grandi o dati più sensibili, potresti prendere in considerazione l'utilizzo di a sistema di gestione dei segreti. Si tratta di strumenti specializzati come AWS Secrets Manager, HashiCorp's Vault e Google's Secret Manager che aiutano a gestire l'accesso ai segreti come le chiavi API.
  • Servizi di configurazione specifici dell'ambiente: Piattaforme come Heroku e Netlify hanno funzionalità o servizi specifici per l'impostazione di variabili di ambiente, che possono essere utilizzate per archiviare le chiavi API.
  • Archiviazione crittografata: Se devi archiviare le chiavi API in un database o in un altro sistema di archiviazione, dovresti crittografarle. In questo modo, anche se qualcuno ottiene l'accesso al sistema di storage, non potranno utilizzare le chiavi senza la chiave di crittografia.

Diamo un'occhiata a come implementare le prime due, quelle con il sovraccarico più basso di queste soluzioni, nella codifica sicura. Ho usato Python come linguaggio di esempio per questo, sebbene qualsiasi linguaggio avrà concetti simili. Il vantaggio di Python è la sua semplicità e facilità d'uso, che insieme alle sue formidabili capacità di gestione dei dati lo rendono ideale per la maggior parte degli usi.

Per utilizzare le variabili di ambiente per archiviare le chiavi API

Le variabili di ambiente ti consentono di archiviare informazioni sensibili, come le chiavi API, al di fuori del codice sorgente. Sono accessibili all'applicazione durante il runtime e possono essere facilmente configurati su diversi ambienti (ad esempio, sviluppo, staging e produzione).

Innanzitutto, imposta la variabile di ambiente nel tuo sistema o nella piattaforma su cui è in esecuzione la tua applicazione. In un sistema basato su Unix, è possibile impostare una variabile di ambiente utilizzando il comando export comando:

% esporta API_KEY=

Successivamente, accedi alla variabile di ambiente nel codice della tua applicazione. Ad esempio, in Python, puoi accedere al valore di una variabile d'ambiente utilizzando il comando os modulo:

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

Per utilizzare file di configurazione esterni per archiviare le chiavi API

Un altro modo in cui lo sviluppatore principiante o il data scientist può archiviare le chiavi API è tramite file di configurazione esterni. Questi possono essere molto utili; tuttavia, dovresti escluderli dal repository utilizzando .gitignore o l'equivalente.

Innanzitutto, crea un file di configurazione, come config.jsone memorizza la chiave API al suo interno:

json {"api_key": " " }

Successivamente, aggiungi il file di configurazione a quello del tuo progetto .gitignore (o equivalente) per garantire che non venga tracciato dal sistema di controllo della versione.

Infine, carica il file di configurazione nel codice della tua applicazione per accedere alla chiave API. Ad esempio, in Python, puoi caricare un file di configurazione JSON e accedere alla chiave API in questo modo:

importa json con open('config.json') come f
config = carica(f) api_key = config['api_key']

Blocca le tue API

Utilizzando variabili di ambiente o file di configurazione esterni, puoi migliorare proteggi le tue chiavi API dall'esposizione accidentale, semplificano la gestione delle informazioni sensibili e facilitano il mantenimento di configurazioni diverse per vari ambienti. È necessario applicare controlli di accesso adeguati alle variabili di ambiente e ai file di configurazione per impedire l'accesso non autorizzato.

Man mano che il tuo progetto cresce in complessità (e importanza), potrebbe essere consigliabile passare a piattaforme con capacità innate come sistemi di gestione dei segreti o servizi di configurazione specifici dell'ambiente per l'archiviazione di elementi sensibili. Tuttavia, queste soluzioni rapide ti aiutano a iniziare su una base più sicura.

Timestamp:

Di più da Lettura oscura