Verschieben Sie hartcodierte Geheimnisse in einen Secrets Manager

Barbara Streisand
Freigeben: 2024-10-14 06:15:29
Original
448 Leute haben es durchsucht

Move hardcoded secrets to a Secrets Manager

Ein Secrets Manager ist ein Tool zum Speichern und Verwalten Ihrer Passwörter, API-Schlüssel, Datenbankanmeldeinformationen und anderer Arten sensibler Daten, die Ihre Anwendung benötigt.

Geheimnisse, die in Anwendungsquellcodes fest codiert oder in Klartextdateien gespeichert sind, damit Ihre Codes sie nutzen können, können von böswilligen Einheiten ausgenutzt werden, die die Anwendungen oder Komponenten in Ihrem System inspizieren können. Dieses Risiko kann mit Secrets Managern gemindert werden.

dotenv-vault

dotenv-vault ist ein solcher Secrets-Manager, der eine sicherere Alternative zur Speicherung Ihrer Geheimnisse im Code bietet.

[!Note]
Dies ist kein Tutorial zur Verwendung von dotenv-vault. Das Ziel dieses Dokuments besteht darin, zu erklären, wie ein Secret Manager Entwicklern helfen kann, Geheimnisse nicht fest zu codieren oder sie in Klartextdateien zu speichern. Hier erfahren Sie, wie Sie mit dotenv-vault beginnen.

Angenommen, ich habe vertrauliche Informationen über eine bestimmte Figur im Film Star Wars: Episode V und ich möchte, dass mein Programm diese Informationen verwendet.

def spoiler():
    spoiler = "Darth Vader is Luke Skywalker's father"
    return { "spoiler": spoiler }
Nach dem Login kopieren

Anstatt die Informationen fest zu codieren, würde ich sie als Umgebungsvariable in die .env-Datei schreiben:

SPOILER="Darth Vader is Luke Skywalker's father"
Nach dem Login kopieren

Mit dotenv-vault kann mein Programm über die Umgebungsvariable auf die vertraulichen Informationen zugreifen.

import os
from dotenv_vault import load_dotenv

load_dotenv() # Take environment variables from .env

def spoiler():
    spoiler = os.getenv("SPOILER") # Get the secret
    return { "spoiler": spoiler }
Nach dem Login kopieren

Dann verschlüssele ich die Umgebungsvariable, indem ich die .env-Datei synchronisiere. Sobald die Synchronisierung abgeschlossen ist, können Daten namens DOTENV_KEY generiert werden. Diese Ausgabe kann von meinem Programm als Umgebungsvariable in der Produktion gelesen werden.

DOTENV_KEY='dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=production' python main.py

Nach dem Login kopieren

Dadurch kann meine Produktionsanwendung auf das Geheimnis zugreifen.

{ "spoiler": "Darth Vader is Luke Skywalker's father" }
Nach dem Login kopieren

Wählen Sie den richtigen Secrets Manager für Sie

Es gibt eine Vielzahl von Secrets-Management-Lösungen. Jeder Secrets-Manager hat seine eigenen Vor- und Nachteile. Wählen Sie die Option, die den Anforderungen Ihrer Organisation am besten entspricht.

Liste alternativer Secrets Manager:

  1. Infiskal
  2. Doppler
  3. HashiCorp Vault
  4. AWS Secrets Manager
  5. Azure Key Vault

Das obige ist der detaillierte Inhalt vonVerschieben Sie hartcodierte Geheimnisse in einen Secrets Manager. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!