CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Comment sécuriser ses clés API (python)

Blackamoto
Blackamoto
Niveau 16
25 juillet 2021 à 10:11:39

Bonjour

Je travaille sur un projet python avec plusieurs personnes, on partage le code sur un repo github privé
On a des scripts qui ont besoin d'une clé publique/privée pour utiliser des API Rest/websocket, chacun a sa propre clé
Pour ne pas publier les clés sur github nous avons tout un fichier log.txt en local qu'on ne commit pas et qui est lu par les scripts python pour y acceder

Comment faire pour encrypter ces clés et les sécuriser, quel est le meilleur moyen de le faire ?

Des idées ?

merci beaucoup

Message édité le 25 juillet 2021 à 10:14:39 par Blackamoto
Azerban
Azerban
Niveau 16
25 juillet 2021 à 13:18:16

En général on écrit les clés dans un fichier local et on charge les clés dans l'environnement courant depuis ce fichier. Par exemple tu écris tes clés dans un fichier .env et ensuite tu peux charger facilement ces fichiers avec le module Python python-dotenv. Et tu accèdes aux clés avec os.getenv("APIKEY")

https://github.com/theskumar/python-dotenv

Blackamoto
Blackamoto
Niveau 16
25 juillet 2021 à 13:54:10

Le 25 juillet 2021 à 13:18:16 :
En général on écrit les clés dans un fichier local et on charge les clés dans l'environnement courant depuis ce fichier. Par exemple tu écris tes clés dans un fichier .env et ensuite tu peux charger facilement ces fichiers avec le module Python python-dotenv. Et tu accèdes aux clés avec os.getenv("APIKEY")

https://github.com/theskumar/python-dotenv

J'ai regardé un peu mais cela n'a pas l'air d'ajouter de véritable plus value par rapport à lire un fichier .txt
les variables sont toujours stockées en clair dans le .env :(

Azerban
Azerban
Niveau 16
25 juillet 2021 à 16:10:29

C'est comme ça qu'on fait dans la plupart des projets. On stocke en clair dans un fichier et on ne commit pas le fichier.

Chez AWS, heroku, digital ocean, etc on écrit ensuite les clés dans des sections spéciales du site et elles sont chargées comme des variables d'environnement.

Après tu peux toujours chiffrer ta clé mais dans ce cas il faut que tu conserves ta clé privée de chiffrement en clair quelque part donc pas vraiment de bénéfice.

Blackamoto
Blackamoto
Niveau 16
25 juillet 2021 à 17:03:40

j'avais pensé à encrypter mon fichier, et utiliser une yubikey compatible avec openpg, bonne idée non ?
la clé serait branchée et faudrait que je clique dessus à chaque fois pour lire le fichier quand je lance mon script :hap:
ou peut etre qu'il y a plus pratique à faire avec une yubikey encore :hap:

Message édité le 25 juillet 2021 à 17:03:59 par Blackamoto
Azerban
Azerban
Niveau 16
25 juillet 2021 à 17:36:17

Oui oui fais comme ça :hap:

Blackamoto
Blackamoto
Niveau 16
25 juillet 2021 à 17:52:58

Le 25 juillet 2021 à 17:36:17 :
Oui oui fais comme ça :hap:

:hap:

Pseudo supprimé
Pseudo supprimé 25 juillet 2021 à 21:03:24

La vraie question que tout le monde se pose c'est : quel putain de rapport avec python et la programmation en général ? :question:

Là tu demandes juste comment empêcher quelqu'un ayant accès à ton stockage de lire ton fichier

boucif
boucif
Niveau 24
25 juillet 2021 à 21:09:13

Bein tu as du des coffres de clés chez la plupart des fournisseurs de services, tu peux ensuite créer un accès pour certains utilisateurs ou apps

godrik
godrik
Niveau 30
25 juillet 2021 à 21:18:38

Le 25 juillet 2021 à 21:03:24 :
La vraie question que tout le monde se pose c'est : quel putain de rapport avec python et la programmation en général ? :question:

Là tu demandes juste comment empêcher quelqu'un ayant accès à ton stockage de lire ton fichier

La question de comment gerer les credential dans le contexte du developpement d'une application en equipe me parait parfaitement pertinent sur ce forum.

Pseudo supprimé
Pseudo supprimé 25 juillet 2021 à 21:25:14

Le 25 juillet 2021 à 21:18:38 :

Le 25 juillet 2021 à 21:03:24 :
La vraie question que tout le monde se pose c'est : quel putain de rapport avec python et la programmation en général ? :question:

Là tu demandes juste comment empêcher quelqu'un ayant accès à ton stockage de lire ton fichier

La question de comment gerer les credential dans le contexte du developpement d'une application en equipe me parait parfaitement pertinent sur ce forum.

Sauf que c'est absolument pas ce dont il est question puisque précisément : il ne partage pas sa clé. Là ce qu'il demande c'est comment se protéger en local, sur sa machine.

Et même encore plus précisément que ça : il demande juste comment chiffrer son fichier.

Message édité le 25 juillet 2021 à 21:25:29 par Pseudo supprimé
Blackamoto
Blackamoto
Niveau 16
26 juillet 2021 à 08:23:49

Le 25 juillet 2021 à 21:25:14 :

Le 25 juillet 2021 à 21:18:38 :

Le 25 juillet 2021 à 21:03:24 :
La vraie question que tout le monde se pose c'est : quel putain de rapport avec python et la programmation en général ? :question:

Là tu demandes juste comment empêcher quelqu'un ayant accès à ton stockage de lire ton fichier

La question de comment gerer les credential dans le contexte du developpement d'une application en equipe me parait parfaitement pertinent sur ce forum.

Sauf que c'est absolument pas ce dont il est question puisque précisément : il ne partage pas sa clé. Là ce qu'il demande c'est comment se protéger en local, sur sa machine.

Et même encore plus précisément que ça : il demande juste comment chiffrer son fichier.

Je demande surtout si il y a de meilleures façons de faire que d'avoir un fichier texte local séparé https://image.noelshack.com/fichiers/2016/50/1482000512-onsecalmerisitas.png

Message édité le 26 juillet 2021 à 08:24:08 par Blackamoto
boucif
boucif
Niveau 24
26 juillet 2021 à 10:19:31

Le 26 juillet 2021 à 08:23:49 :

Le 25 juillet 2021 à 21:25:14 :

Le 25 juillet 2021 à 21:18:38 :

Le 25 juillet 2021 à 21:03:24 :
La vraie question que tout le monde se pose c'est : quel putain de rapport avec python et la programmation en général ? :question:

Là tu demandes juste comment empêcher quelqu'un ayant accès à ton stockage de lire ton fichier

La question de comment gerer les credential dans le contexte du developpement d'une application en equipe me parait parfaitement pertinent sur ce forum.

Sauf que c'est absolument pas ce dont il est question puisque précisément : il ne partage pas sa clé. Là ce qu'il demande c'est comment se protéger en local, sur sa machine.

Et même encore plus précisément que ça : il demande juste comment chiffrer son fichier.

Je demande surtout si il y a de meilleures façons de faire que d'avoir un fichier texte local séparé https://image.noelshack.com/fichiers/2016/50/1482000512-onsecalmerisitas.png

Je ne sais pas ce qu'il en est de python mais sur la plupart des framework de dev tu as des fichiers de configuration qui sert justement à stocker ça après il suffit de les mettre dans le git ignore comme actuellement, sinon coffre de clés, mais ça implique aussi une connexion à ce coffre qui peut être fait au lancement de l'application par exemple

Message édité le 26 juillet 2021 à 10:20:00 par boucif
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment