Golang und Vault: Aufbau einer sicheren Microservices-Architektur
In der modernen Anwendungsentwicklung ist der Aufbau einer sicheren Microservices-Architektur von entscheidender Bedeutung. Mit der Popularität der Microservice-Architektur laufen immer mehr Dienste in unterschiedlichen Umgebungen und kommunizieren miteinander. Daher ist der Schutz und die Verwaltung sensibler Daten wie Passwörter, API-Schlüssel und Datenbankanmeldeinformationen besonders wichtig geworden. In diesem Artikel wird erläutert, wie Sie mit Golang und Vault eine sichere Microservice-Architektur implementieren.
Verschlüsseltes Backend erstellen:
$ vault secrets enable -path=secret kv
Sensible Daten hinzufügen:
$ vault kv put secret/myapp/api_key value=abc123
Jetzt werden unsere sensiblen Daten im Vault gespeichert und durch Verschlüsselung geschützt. Der nächste Schritt besteht darin, diese Daten im Golang-Microservice-Code abzurufen und zu verwenden.
$ go get -u github.com/99designs/keyring
Als Nächstes schreiben wir ein einfaches Golang-Programm, um eine Verbindung zu Vault herzustellen und vertrauliche Daten abzurufen:
package main import ( "fmt" "log" "github.com/99designs/keyring" ) func main() { vaultConfig := keyring.Config{ ServiceName: "myapp", URL: "http://localhost:8200", } keyring, err := keyring.Open(vaultConfig) if err != nil { log.Fatal(err) } item, err := keyring.Get("api_key") if err != nil { log.Fatal(err) } fmt.Println("API Key:", item.Data) }
In diesem Beispiel definieren wir die Konfiguration und den Dienstnamen von Vault. Nachdem Sie eine Verbindung zu Vault hergestellt haben, verwenden Sie die Methode keyring.Get, um vertrauliche Daten mit dem Namen „api_key“ von Vault abzurufen. Abschließend drucken wir den resultierenden API-Schlüssel aus.
$ go run main.go
Wenn alles in Ordnung ist, sieht die Ausgabe etwa wie folgt aus:
API Key: abc123
Das bedeutet, dass wir den API-Schlüssel erfolgreich von Vault erhalten und ihn im Golang-Microservice verwendet haben.
Codebeispielreferenz: https://github.com/99designs/keyring
Das obige ist der detaillierte Inhalt vonGolang und Vault: Aufbau einer sicheren Microservices-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!