In modernen Anwendungen ist die Vertraulichkeit sensibler Daten wie API-Schlüssel, Datenbankkennwörter usw. von entscheidender Bedeutung. Um die Sicherheit zu gewährleisten, müssen diese sensiblen Daten in einem sicheren Speicher gespeichert werden und nur autorisierten Benutzern zugänglich sein. Vault ist ein von HashiCorp entwickeltes Open-Source-Tool. Es verfügt über Funktionen wie sichere Speicherung und dynamische Zugriffskontrolle und ist die beste Wahl für die Speicherung sensibler Informationen.
In diesem Artikel wird erläutert, wie Sie den vertraulichen Vault-Speicher in Go verwenden, auf die Vault-API zugreifen und Vault nutzen, um Sicherheit und Komfort bei der Verwaltung der vertraulichen Informationen Ihrer Anwendung zu bieten.
Zuerst müssen Sie Vault installieren und den Vault-Server starten. Sie können auf der offiziellen Website von Vault die für Ihr Betriebssystem geeignete Binärdatei herunterladen. Vergewissern Sie sich vor der Installation, dass Backend-Speicher wie Consul oder etcd installiert wurde. Starten Sie als Nächstes die Vault-Anwendung mit dem folgenden Befehl:
$ vault server -dev
Dadurch wird der Vault-Server gestartet und der Entwicklungs-/Testmodus aktiviert. Im Entwicklungs-/Testmodus wird der Vault-Server unverschlüsselt im Speicher gespeichert und nur für Entwicklungstestzwecke verwendet. In einer Produktionsumgebung müssen Sie den Vault-Server und den Backend-Speicher mit einer sicheren Konfiguration starten.
Sobald der Vault-Server gestartet ist, müssen wir eine Vault-Konfiguration erstellen, in der vertrauliche Informationen gespeichert werden. Zunächst muss eine neue geheime Engine erstellt werden.
$ vault secrets enable -path=secret kv
Dadurch wird eine geheime Engine mit dem Namen „secret“ auf dem Vault-Server erstellt und ihr Typ auf „kv“ gesetzt. Sie können Vault Secrets List
verwenden, um alle Secret Engines auf dem Vault-Server anzuzeigen. vault secrets list
查看Vault服务器上的所有秘密引擎。
接下来,需要将敏感数据存储到Vault密钥存储空间中。在本例中,我们将存储JWT(JSON Web Token)的签名密钥。可以使用vault kv put
vault kv put
wie unten gezeigt im Vault-Schlüsselspeicherplatz gespeichert werden: $ vault kv put secret/jwt secretkey=shhhnotsosecret
$ go get github.com/hashicorp/vault/api
import ( "github.com/hashicorp/vault/api" ) config := api.DefaultConfig() config.Address = "http://127.0.0.1:8200" client, err := api.NewClient(config) if err != nil { // handle error }
secret, err := client.Logical().Read("secret/data/jwt") if err != nil { // handle error }
key := secret.Data["data"].(map[string]interface{})["secretkey"].(string)
Das obige ist der detaillierte Inhalt vonWie verwende ich den vertraulichen Vault-Speicher in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!