Drei Problemumgehungen, die Sie berücksichtigen müssen, bevor Sie Ihr Passwort festlegen
GitHub ist praktisch. Sie können Ihren eigenen Quellcode kostenlos verwalten. Mit dem kostenlosen Plan wird der Quellcode jedoch für die Welt freigegeben. Mit einem kostenpflichtigen Plan können Sie den Quellcode für 7 US-Dollar pro Monat privat halten, aber er ist ziemlich teuer, daher denke ich, dass nur wenige Leute dafür bezahlen.
Wenn ich ein Programm schreibe, das auf externe Ressourcen zugreift, muss ich das Passwort in config schreiben. Aber denken Sie an vergangene Ereignisse. Die Autorität zum Erstellen eines Cloud-Servers ist Geld. In Japan gab es mehrere Fälle von nicht autorisierter Verwendung von EC2-Instanzen für BitCoin-Mining-Zwecke. Ist es wirklich in Ordnung, dieses Passwort in config zu schreiben?
In diesem Artikel werden Techniken zum guten Verwalten von Passwörtern beschrieben, ohne sich auf Git festzulegen.
Amazon Web Service bietet aws-Befehle, um die lokale Verwendung jedes Dienstes zu vereinfachen. Wenn Sie es verwenden, geben Sie den folgenden Befehl ein. cat ~ / .aws / credentials
>>> cat ~/.aws/credentials
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXZQ
aws_secret_access_key = XXXXXXXXXXXXXXXXXX8a
Es wird mit einem unformatierten Passwort gespeichert. Warum? Dies liegt daran, dass durch einfaches Verschlüsseln die Sicherheit nur verschleiert und garantiert wird. Denn selbst wenn es lokal verschlüsselt und gespeichert wird, wird es in der Phase der Kommunikation mit AWS und des Sendens eines Befehls entschlüsselt und sofort gesendet, sodass technisch jeder es leicht entschlüsseln kann. Daher ist es sinnvoll, es zu verschlüsseln. Es gibt kein.
Es scheint, dass es sicher verwaltet werden kann, indem export AWS_CONFIG_FILE = ~ / path / to / aws.confg
und Umgebungsvariablen verwendet werden. (Ich wurde von einem internen Experten unterrichtet!)
Referenz: HowTo: Installieren von AWS CLI - Sicherheitsanmeldeinformationen
Ich habe drei Methoden aufgelistet: Verwendung der Pit-Bibliothek, Verwendung von .gitignore und Schreiben des Kennworts in die Umgebungsvariable.
pit ist eine bekannte Account Management Bibliothek. Die Bibliothek existiert in Python Ruby Perl. In Python wird das unformatierte Passwort in ~ / .pit / default.yaml
gespeichert.
install
pip install pit
export EDITOR="vim"
Anwendungsbeispiel,a.py
# -*- coding: utf-8 -*-
from pit import Pit
token = Pit.get('hipchat_v1',
{'require': {'token': 'your hipchat access token API v1'}})
print(token)
Wenn Sie es zum ersten Mal ausführen, wird Vim gestartet und Sie werden zur Eingabe Ihres Kennworts aufgefordert. Das eingegebene Passwort wird in ~ / .pit / default.yaml
gespeichert.
Ab dem zweiten Mal werden nach Eingabe des Passworts die folgenden Ergebnisse zurückgegeben.
Ausführungsergebnis
>>>python a.py
{'token': 'your token'}
Setzen Sie password.py auf dem Server, setzen Sie es auf .gitignore und lesen Sie aus der conf-Datei.
password.py
# -*- coding: utf-8 -*-
PASSWORD = "HOGEHOGE"
production_config.py
# -*- coding: utf-8 -*-
from password.password import *
print(PASSWORD)
Ausführungsergebnis
>>> python production_config.py
HOGEHOGE
Dies ist eine Methode zum Festlegen eines Kennworts in der Umgebungsvariablen und zum Lesen mit dem Befehl os.env. Der Einfachheit halber verwalten Sie Ihr Passwort mit ".bash_profile".
Passworteinstellung
export PASSWORD="aiueo"
production_config.py
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import os
print(os.environ.get('PASSWORD'))
Ausführungsergebnis
>>> python production_config.py
aiueo
Recommended Posts