¿Cómo protejo mis claves de API para que no aparezcan en los resultados de búsqueda de GitHub?

Pregunta: ¿Cómo evito que mis claves API formen parte de la búsqueda de GitHub de otra persona?
Respuesta: Por lo general, no se recomienda almacenar claves API directamente en su código debido a los posibles riesgos de seguridad. Si su código alguna vez se comparte o se pone a disposición del público, cualquier persona que vea la clave API puede usarla, lo que podría generar un abuso o una violación de la seguridad.
Hay varias formas de almacenar claves API de forma segura:
- Variables de entorno: Puede almacenar claves API en variables de entorno en su computadora y luego acceder a esas variables desde su código. La ventaja de este método es que las claves no entran en su código (están en el entorno donde se ejecuta el código). Esto también significa que las claves pueden ser diferentes para diferentes entornos, p. B. para su computadora local, un servidor de desarrollo, un servidor de producción, etc.
- Archivos de configuración: También puede almacenar claves API en un archivo de configuración separado que no está incluido en su repositorio de código. Este archivo debe agregarse al tuyo. .gitignore Archivo para evitar que se confirme en su repositorio. Asegúrese de agregar los permisos de nivel de archivo apropiados a este archivo de configuración para evitar el acceso no autorizado. En su código, leería las claves API de este archivo.
- Sistemas de gestión de secretos: Para aplicaciones más grandes o datos más confidenciales, podría considerar usar un sistema de gestión secreto. Estas son herramientas especializadas como AWS Secrets Manager, HashiCorp’s Vault y Google’s Secret Manager que ayudan a administrar el acceso a secretos como claves de API.
- Servicios de configuración específicos del entorno: Las plataformas como Heroku y Netlify tienen funciones o servicios especiales para configurar variables de entorno que se pueden usar para almacenar claves de API.
- Almacenamiento cifrado: Si necesita almacenar las claves API en una base de datos u otro sistema de almacenamiento, debe cifrarlas. De esta manera, incluso si alguien obtiene acceso al sistema de almacenamientono pueden usar las claves sin la clave de cifrado.
Echemos un vistazo a cómo implementar las dos primeras soluciones, que presentan la sobrecarga más baja, en codificación segura. Usé Python como lenguaje de ejemplo para esto, aunque cada lenguaje tendrá conceptos similares. La ventaja de Python es su simplicidad y facilidad de uso, que junto con sus impresionantes capacidades de procesamiento de datos lo hacen ideal para la mayoría de las aplicaciones.
Cómo usar variables de entorno para almacenar claves API
Las variables de entorno le permiten almacenar información confidencial, como claves de API, fuera de su código fuente. Son accesibles para la aplicación en tiempo de ejecución y se pueden configurar fácilmente en diferentes entornos (por ejemplo, desarrollo, preparación y producción).
Primero, configure la variable de entorno en su sistema o la plataforma en la que se ejecuta su aplicación. En un sistema basado en Unix, puede configurar una variable de entorno usando exportar Dominio:
% export API_KEY=<your_api_key>
A continuación, acceda a la variable de entorno en el código de su aplicación. Por ejemplo, en Python, puede usar para acceder al valor de una variable de entorno sistema operativo Módulo:
% python import os api_key = os.environ['API_KEY']
Cómo usar archivos de configuración externos para almacenar claves API
Otra forma para que el desarrollador novato o el científico de datos almacene claves API es con archivos de configuración externos. Estos pueden ser muy útiles; Sin embargo, debe excluirlos del repositorio usando .gitignore o el equivalente.
Primero cree un archivo de configuración, por ejemplo config.jsony almacene la clave API en él:
json "api_key": "<your_api_key>"
A continuación, agregue el archivo de configuración a su proyecto .gitignore (o equivalente) para asegurarse de que su sistema de control de versiones no lo rastree.
Finalmente, cargue el archivo de configuración en el código de su aplicación para acceder a la clave API. Por ejemplo, en Python puede cargar un archivo de configuración JSON y acceder a la clave API de la siguiente manera:
import json with open('config.json') as f
config = load(f) api_key = config['api_key']
Bloquee sus API
Puede obtener mejores resultados utilizando variables de entorno o archivos de configuración externos Proteja sus claves API de la divulgación accidental, simplificar la gestión de información confidencial y facilitar la gestión de diferentes configuraciones para diferentes entornos. Debe hacer cumplir los controles de acceso apropiados en las variables de entorno y los archivos de configuración para evitar el acceso no autorizado.
A medida que aumenta la complejidad (e importancia) de su proyecto, puede ser conveniente pasar a plataformas con capacidades integradas, p. B. Sistemas de gestión de secretos o servicios de configuración específicos del entorno para almacenar elementos sensibles. Sin embargo, estas soluciones rápidas lo ayudarán a comenzar de manera más segura.
Hemos recibido este contenido de ciberseguridad de: DarkReading
Llegarás a la noticia original en el enlace que se encuentra a continuación: https://www.darkreading.com/edge/how-do-i-protect-my-api-keys-from-appearing-in-github-search-results-