Maison > Article > développement back-end > Golang et Vault : créer une architecture de microservices sécurisée
Golang et Vault : créer une architecture de microservices sécurisée
Dans le développement d'applications modernes, la création d'une architecture de microservices sécurisée est cruciale. Avec la popularité de l'architecture des microservices, de plus en plus de services s'exécutent dans différents environnements et communiquent entre eux. La protection et la gestion des données sensibles telles que les mots de passe, les clés API et les informations d'identification des bases de données sont devenues particulièrement importantes. Cet article explique comment utiliser Golang et Vault pour implémenter une architecture de microservices sécurisée.
Créer un backend crypté :
$ vault secrets enable -path=secret kv
Ajouter des données sensibles :
$ vault kv put secret/myapp/api_key value=abc123
Désormais, nos données sensibles sont stockées dans Vault et protégées par cryptage. L'étape suivante consiste à obtenir et à utiliser ces données dans le code du microservice Golang.
$ go get -u github.com/99designs/keyring
Ensuite, nous écrirons un programme Golang simple pour nous connecter à Vault et obtenir des données sensibles :
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) }
Dans cet exemple, nous définissons la configuration et le nom du service de Vault, après vous être connecté à Vault, utilisez la méthode keyring.Get pour obtenir des données sensibles nommées « api_key » depuis Vault. Enfin, nous imprimons la clé API résultante.
$ go run main.go
Si tout va bien, le résultat sera similaire à ce qui suit :
API Key: abc123
Cela signifie que nous avons réussi à obtenir la clé API de Vault et à l'utiliser dans le microservice Golang.
Référence d'exemple de code : https://github.com/99designs/keyring
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!