「パスワードの付箋はもう卒業!」GoとVaultで作る、セキュリティ・クッキング


「パスワードの付箋はもう卒業!」GoとVaultで作る、セキュリティ・クッキング

hashicorp/vault

2026-01-30

今回の主役は、Hashicorp Vault。 「パスワードを付箋に書いてモニターに貼っちゃう」なんていう、おっちょこちょいなエンジニアの皆さん、必見です!

エンジニア界隈では、APIキーやデータベースのパスワードのことを「シークレット」と呼びます。これをコードの中に直接書く(ハードコードする)のは、まるでカレーの隠し味を街中の看板に掲示するようなもの!筒抜けです!

そこで、Vaultの出番。

秘密の保管庫(Secrets Management)
大事な鍵をガッチリガード。

暗号化の達人(Encryption as a Service)
データを暗号化して、万が一盗まれても読めなくします。

使い捨ての鍵(Dynamic Secrets)
必要な時だけ発行して、使い終わったら自動で消える魔法の鍵。

まずは、Vaultサーバーを立ち上げましょう。今日は手軽に「開発モード」で仕込みます。

お使いのパッケージマネージャーでサクッと。

brew install hashicorp/tap/vault
# ターミナルで「へいお待ち!」
vault server -dev

これで、http://127.0.0.1:8200 に保管庫ができました。

それでは、Go言語という「最新の調理器具」を使って、Vaultからパスワードを取り出してみましょう!

package main

import (
	"context"
	"fmt"
	"log"

	vault "github.com/hashicorp/vault/api"
)

func main() {
	// 1. Vaultクライアントの設定(キッチンの入り口)
	config := vault.DefaultConfig()
	config.Address = "http://127.0.0.1:8200"

	client, err := vault.NewClient(config)
	if err != nil {
		log.Fatalf("クライアントが作れないよ!: %v", err)
	}

	// 2. 認証トークンのセット(合言葉!)
	// ※開発モードのデフォルトトークンは "root" です
	client.SetToken("root")

	// 3. シークレットの読み込み(冷蔵庫から隠し味を取り出す)
	secret, err := client.KVv2("secret").Get(context.Background(), "my-recipe")
	if err != nil {
		log.Fatalf("レシピが見つからない!: %v", err)
	}

	// 4. データの中身を表示
	apiKey := secret.Data["api_key"]
	fmt.Printf("今日の隠し味(API Key)は... 【%s】 です!\n", apiKey)
}

「Vaultを使うと何が嬉しいの?」という声が聞こえてきますね。

「鍵どこだっけ?」がなくなる
バラバラな設定ファイルに書くのではなく、Vaultという「一箇所」で管理できるので、整理整頓が捗ります。

履歴が残る(監査ログ)
「誰がいつ、冷蔵庫(シークレット)を開けたか」が丸見え。つまみ食いは厳禁です!

自動で鍵を替える(ローテーション)
「3ヶ月に一度パスワードを変える」なんて面倒な作業も、Vaultなら自動化できます。

いかがでしたか?Vaultを使えば、あなたのシステムは三ツ星レストラン並みの安心感に包まれます。


hashicorp/vault




「memos」こそがアタシたちの安息の地。オープンソースでプライバシーを守り抜く、セルフホストの嗜み

最近のメモアプリって、サブスクだの広告だの、余計なお世話が多いじゃない? これはそんなのとは無縁。あんたのデータはあんただけのもの。まさに「鉄壁の純愛」みたいなメモツールなのよ。それじゃあ、ママがエンジニア視点でたっぷり可愛がってあげるから、じっくり聞いていってね!


Go言語でCLIを楽しく!Bubble Tea入門

やぁ、ソフトウェアエンジニアの皆さん!今日は、Go言語を使ったCLI開発を劇的に楽しくしてくれるフレームワーク「Bubble Tea」について、飲み比べコント風にご紹介しますね。このお酒、見た目は素朴な「ターミナル画面」なんだけど、一口飲むと「わ、これすごい!」ってなるんですよ。


【エンジニア向け】Infisicalで秘密情報も体重もスマートに管理!

ダイエット中のエンジニアさん、お疲れ様です!食事制限、運動、そしてコード. .. 毎日やることがいっぱいですよね。でも、ちょっと待ってください!あなたのコードの中にも、ひっそりと隠れている「秘密」はありませんか?そう、APIキーとかデータベースのパスワードとか


自動化の極み!Seanimeでアニメ管理をハックする:Goエンジニア視点の導入ガイド

簡単に言うと、「自分専用の最強アニメ・マンガ管理サーバー」 を作れるツールやね。エンジニア的な視点で「これ、役立つわ〜」ってポイントを3つに絞ってみたで。技術スタックが現代的で勉強になる バックエンドが Go、フロントエンドが React。この組み合わせはパフォーマンスもええし、コードの見通しもええから、ソースを追うだけでも勉強になるわ。


【動かぬ証拠】Goで組む、信頼できるAIエージェント:adk-goの導入と実践

google/adk-goは、Googleが提供するオープンソースのGo言語(Golang)用ツールキットで、複雑なAIエージェントを構築、評価、デプロイするために、「コードファースト」のアプローチを取っているのが特徴です。これは、あなたがより柔軟性とコントロールを持ってAIのロジックを設計し、インフラストラクチャとしてではなく、純粋なソフトウェアコンポーネントとして扱えるようにするためのものです。


脆弱性スキャンツールTrivy入門:開発者のためのセキュリティガイド

これから君たちに、素晴らしい才能を持つ役者を紹介する。その名はTrivyだ。 こいつは、映画のセットで言うところの、「セキュリティ監査の鬼」だ。 君たちが作った最高の作品(コードやコンテナ)に潜む、見えない危険を徹底的に見つけ出すんだ。 ただ見つけるだけじゃない。その危険がどこにあるのか、どうすれば直せるのか、的確に教えてくれる。 君たちの作品を、より安全に、より完璧なものにするために、こいつの演技指導は絶対に必要だ!


苦悩する司令官へ:Ginが解決するGoウェブ開発の課題

Ginは、Go言語でウェブアプリケーションやAPIを開発するための、非常に高速なフレームワークです。ちょうど、戦艦の主砲を最新鋭の超高速レールガンに換装するようなものです。なぜGinが強力な武器なのか? それは、Ginがパフォーマンスと使いやすさを両立しているからです。


【ママが解説】GitleaksでGitリポジトリの隠れた秘密をあばけ!

今日はね、ソフトウェアエンジニアのあなたにとって、とーっても大切なツール、「Gitleaks」について、ママが特別に分かりやすく、そして優しく教えてあげるわね。まず、Gitleaks(ギットリークス)って何かっていうとね、一言で言えば「Gitのリポジトリに隠れてる秘密を探し出す探偵さん」みたいなものよ。


ソフトウェアエンジニア必見!Cobraで実現するプロ級Go CLIツール

「コマンドの解析が面倒だ…」 「ヘルプメッセージをいちいち書くのが大変…」 「サブコマンドをうまく管理できない…」もう大丈夫です!そんな悩みとは今日でサヨナラ。 今回は、あなたの開発を劇的にラクにする、魔法のツール「Cobra」をご紹介します!


脱クラウド!Nexa AI SDKを使ってローカル環境でLlama 3やGemmaを動かそう

ドラえもん「もう、のび太くんたら。そんなこともあろうかと……『NexaAI/nexa-sdk』〜!!(チャラララッチャラー)」のび太「なにこれ?四次元ポケットの最新道具?」ドラえもん「これはね、『ローカル環境』で最新のAIをサクサク動かすための魔法の道具だよ。普通、AIを動かすには高価なサーバーが必要だけど、これを使えば君のPCの GPU(画像処理) や NPU(AI専用チップ)、さらには普通の CPU までフル活用して、爆速でAIが動くんだ。」