Jeder sagt, dass das Speichern von Anmeldeinformationen in der Versionskontrolle (git) eine schlechte Sache ist. Es muss also andere Möglichkeiten geben, Anmeldeinformationen zu speichern, die viel besser sind.
Eine Anwendung muss von irgendwo Anmeldeinformationen erhalten, um die Dienste nutzen zu können, von denen sie abhängt. Diese Anmeldeinformationen werden normalerweise in Konfigurationsdateien gespeichert. Die manuelle Eingabe jedes Servers zum Erstellen dieser Datei kommt nicht in Frage, da Server ohne menschliches Eingreifen ein- und ausgehen.
Wie verwalte ich die Anmeldeinformationen einer Anwendung?
deployment
security
Evgeny
quelle
quelle
Antworten:
Die ordnungsgemäße Verwaltung der Geheimnisse einer Anwendung war schon immer eine Herausforderung. Mit der Einführung der Cloud kamen neue Herausforderungen. Es gibt eine großartige OWASP-Präsentation über die Realität und die Herausforderungen beim Speichern von Geheimnissen in der Cloud.
Sie werden überrascht sein zu hören, dass das Speichern von Geheimnissen im Quellcode eine der vorgestellten Lösungen (oder "Architekturen") ist. Das liegt daran, dass es derzeit keine perfekte Architektur oder Möglichkeit dafür gibt. Am Ende könnten Ihre Geheimnisse verschlüsselt sein ... aber was schützt den Verschlüsselungsschlüssel? "Schildkröten ganz nach unten", sagten sie.
Jede Art von Geheimmanagement hat ihre Stärken und Schwächen, und die Präsentation behandelt dies bereits. Stattdessen werde ich versuchen, einige der Funktionen zu untersuchen, nach denen Sie möglicherweise in einer geheimen (Anmeldeinformations-) Verwaltungslösung suchen:
Wenn Sie sich diese Elemente ansehen, wie wichtig sie für Sie sind und wie sie von der Lösung implementiert werden, können Sie einen der geheimen Verwaltungsdienste auswählen .
quelle
In einer rein EC2-basierten Umgebung besteht die einfachste Lösung darin, AWS IAM-Rollen und S3-Bucket-Richtlinien zu verwenden. Einige Formulierungen dieses Musters enthalten auch KMS für die Verschlüsselung und DynamoDB anstelle von S3 für die Speicherung, aber ich habe auch keinen äußerst zwingenden Grund für die Verwendung gefunden. Schauen Sie sich https://github.com/poise/citadel an . Es richtet sich speziell an Chef-Benutzer, aber das zugrunde liegende Muster funktioniert für alles. Möglicherweise müssen Sie nur Ihren eigenen Helfer erstellen, um den eigentlichen Download von S3 durchzuführen.
quelle