← メディア一覧

【絶対秘密の呪文】環境変数の魔法

4分42秒 | セキュリティ暗号

基本情報技術者試験の頻出テーマを解説した動画コンテンツです。

トランスクリプト(字幕テキスト)

最近自分で作ったアプリAIAPIを繋いでみたりしますよね。 すごく便利なんですけど、その時必ず必要になるのが、あの長いシークレットキー。 これって、現代のプログラミングにおける秘密の呪文みたいなものなんです。 この絶対に漏らしちゃいけない呪文、どうやって安全に管理すればいいか真剣に考えたことありますか? 今回はこの呪文を鉄壁で守るための、絶対的な魔法についてお話ししていきます。 APIを初めて繋ぐ時、多くの人がこう書いちゃいますよね。 APIキー = SK-denju って。 これで動くぞって、ついつい嬉しくなっちゃう。わかる。 ちょっと待ってください。このたった1行のコード、本当に本当にこのままで大丈夫だと思いますか? ストップ。それ絶対に絶対にダメなやつです。 このコードをそのままGitHubみたいな誰でも見れる場所に公開しちゃったら、 世界中にいる悪いボットたちがほんの数秒ですよ、ほんの数秒であなたのキーを見つけ出して根こそぎ盗んでいくんです。 そしたらどうなるか。翌日にはあなたのもとに、目が飛び出るようなとんでもない額の請求書が届くことになる。 これが直書きの本当の恐怖なんですよ。 考えただけでゾッとしますよね。 どうすればいいんでしょう? コードにこの秘密の呪文を書かずに、どうやったらAPIを安全に使えるんでしょうか? そこで登場するのが、この環境変数っていう魔法なんです。 これは何かと言うと、秘密の呪文、つまりAPIキープログラムコードとは完全に別の場所に保管しておくためのテクニックなんです。 イメージとしては、絶対に人に見せない自分だけの秘密の巻物にだけ呪文を書いておく、そんな感じです。 このスライドがすごく分かりやすいんですけど、まさに分離がもたらす安心感を目で見せてくれてるんですよね。 左側の危ないやり方だと、キーがコードの中にべったり書かれちゃってる。 右の安全な方を見てください。コードの中にあったキーがすっと抜け出して、.envっていう自分だけの秘密のファイルに移動するイメージ。 コードの方に残るのは何かと言うと、キーそのものじゃなくて、APIキーっていう名前の金庫から取ってきてねっていうただの指示書だけになるわけです。 ここがミソなんです。 コードには変数の名前だけを書く。そしてその中身、つまり実際のキーの値は外から注入してあげる。 プログラムは動く時にコンピューターOSに、API_KEYっていう名前の秘密の値こっそり教えてって聞くだけ。 これならコード自体は誰に見られても全く問題ない安全な状態を保てるっていうわけですね。 次に進んでこの魔法を完璧に使いこなすための具体的な方法を見ていきましょう。 あなたの秘密の呪文を鉄壁で守るための現代の魔法使い、つまり僕らエンジニアのための3つの鉄則です。 ここすごく大事なポイントです。 まず鉄則の1つ目。ソースコードにキーは絶対に書かない。 これはGitHubとかで漏れちゃうのを防ぐため、必ずキーは.envっていう秘密のファイルに隔離します。 次に2つ目。.envファイル絶対に共有しない。 開発者ごとに環境って違いますからね。 これを守るために.gitignoreっていうファイル.envって1行書くだけで共有されないように強力な結界を張ることができます。 そして3つ目。.env.exampleファイルを作ること。 これはチームの他の人がどのキーを設定すればいいんだっけって迷わないように、キーの名前だけを書いた設定用のテンプレートを用意してあげるという優しさの鉄則ですね。 そしてこれら全てをまとめる究極の鉄則がこれです。 ロジックは共有し、秘密は切り離すプログラムの仕組みや動かし方はチームでオープンに共有する。でも個人の大事な秘密の呪文はそれぞれが責任を持って安全に管理する。 これこそが現代のできるエンジニアの作法なんですよね。 ここまで聞いて皆さんの秘密の呪文は今ちゃんと保護されているでしょうか? この機会にぜひ一度ご自身のプロジェクトを見直してみてください。 この小さな、でも決定的に重要な習慣が未来に起こるかもしれない大きなトラブルからあなた自身をきっと守ってくれるはずですから。

このコンテンツは Web society で視聴・学習できます。