Golang dan Vault: Membina seni bina perkhidmatan mikro yang selamat
Dalam pembangunan aplikasi moden, membina seni bina perkhidmatan mikro yang selamat adalah penting. Dengan populariti seni bina perkhidmatan mikro, semakin banyak perkhidmatan berjalan dalam persekitaran yang berbeza dan berkomunikasi antara satu sama lain, jadi melindungi dan mengurus data sensitif seperti kata laluan, kunci API dan bukti kelayakan pangkalan data telah menjadi sangat penting. Artikel ini akan memperkenalkan cara menggunakan Golang dan Vault untuk melaksanakan seni bina perkhidmatan mikro yang selamat.
Cipta bahagian belakang yang disulitkan:
$ vault secrets enable -path=secret kv
Tambah data sensitif:
$ vault kv put secret/myapp/api_key value=abc123
Kini, data sensitif kami disimpan dalam Bilik Kebal dan dilindungi oleh penyulitan. Langkah seterusnya ialah mendapatkan dan menggunakan data ini dalam kod mikroperkhidmatan Golang.
$ go get -u github.com/99designs/keyring
Seterusnya, kami akan menulis program Golang mudah untuk menyambung ke Vault dan mendapatkan data sensitif:
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) }
Dalam contoh ini, kami mentakrifkan Konfigurasi dan nama perkhidmatan Vault, selepas menyambung ke Bilik Kebal, gunakan cincin kekunci. Kaedah Dapatkan untuk mendapatkan data sensitif bernama "api_key" daripada Bilik Kebal. Akhir sekali, kami mencetak kunci API yang terhasil.
$ go run main.go
Jika semuanya baik-baik saja, outputnya akan serupa dengan yang berikut:
API Key: abc123
Ini bermakna kami berjaya memperoleh kunci API daripada Vault dan menggunakannya dalam perkhidmatan mikro Golang.
Rujukan contoh kod: https://github.com/99designs/keyring
Atas ialah kandungan terperinci Golang dan Bilik Kebal: Membina seni bina perkhidmatan mikro yang selamat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!