Golang と Vault: 安全なマイクロサービス アーキテクチャの構築
最新のアプリケーション開発では、安全なマイクロサービス アーキテクチャを構築することが重要です。マイクロサービス アーキテクチャの人気に伴い、さまざまな環境で実行され、相互に通信するサービスがますます増えているため、パスワード、API キー、データベース資格情報などの機密データの保護と管理が特に重要になっています。この記事では、Golang と Vault を使用して安全なマイクロサービス アーキテクチャを実装する方法を紹介します。
暗号化バックエンドの作成:
$ vault secrets enable -path=secret kv
機密データの追加:
$ vault kv put secret/myapp/api_key value=abc123
これで、機密データは Vault に保存され、暗号化されて保護されました。次のステップは、このデータを取得して Golang マイクロサービス コードで使用することです。
$ go get -u github.com/99designs/keyring
次に、Vault に接続して機密データを取得する簡単な Golang プログラムを作成します:
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) }
たとえば、Vault の構成とサービス名を定義します。Vault に接続した後、keyring.Get メソッドを使用して、Vault から「api_key」という名前の機密データを取得します。最後に、結果の API キーを出力します。
$ go run main.go
すべてが正常であれば、出力は次のようになります:
API Key: abc123
これは、Vault から API キーを正常に取得し、それを Golang マイクロサービスで使用したことを意味します。
コードサンプルリファレンス: https://github.com/99designs/keyring
以上がGolang と Vault: 安全なマイクロサービス アーキテクチャの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。