← メディア一覧

秘密の守り方:

6分32秒 | WEB

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

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

こんにちは!今回は、すごく大事なのに、ついつい見過ごしがちな、コードの中の秘密鍵をどうやって守るかという話をしていきます。 特にプログラミングを始めたばかりの人がはまりやすい落とし穴から、あなたのプロジェクトを守る、本当にシンプルで、でも超強力なテクニックを紹介しますね。 さて、いきなりですが、ちょっと考えてみてください。あなたが使っているそのAPIキー、本当に秘密になっていますか? もしかしたら、自分でも気づかないうちに世界中に公開してしまっているかもしれません。この問いかけこそが、今回のお話のまさに中心テーマになります。 新しいAPIキーなどを手に入れると、ワクワクしますよね。すぐに試したくて、ついコードにペタッと直接貼り付けてしまう。 これ、プログラミングを始めた頃はよくあることだと思いますが、実はこれ、とんでもなく危ないことをしているんです。 コードキーを直接書いてしまうのは、例えるならまさにこれ。自分の家の鍵を誰でも見られる駅前の掲示板にセロハンテープで貼っておくようなものです。 考えただけで、ちょっとゾッとしませんか? このイメージを持ってもらうと、これがどれだけ現実的なリスクなのかすぐに分かりますよね。 では、なぜこれがそんなに危険なのか? その理由をすっきり理解するためには、自分のパソコンの中と、GitHubのような公開する場所。この2つの違いをはっきりさせておく必要があります。 ここからが本題です。 このスライドを見れば一目瞭然ですね。あなたのパソコンは、あなただけのプライベートな家、安全な場所です。 でも、GitHubというのは、世界中の人が行き交うみんなの広場のようなものなんです。 家に置いておくべき大事な鍵を、広場のど真ん中にポンと放り投げてはだめですよね。 そこで颯爽と登場するのが、今回のヒーローです。 コードはみんなに見せたい。でも、大事な秘密はしっかり守りたい。 そんなわがままを叶えてくれる解決策。それがこの.envファイルなんです。 この.envファイルとは何かというと、デジタルな金庫のようなものです。 大事な秘密の情報を、アプリケーションのメインのコードから完全に切り離してくれる、すごく賢い仕組みなんです。 このファイルのおかげで、私たちは見せるものと隠すものを完璧に分けられるようになるわけです。 では、実際にどうやって公開するコードと秘密の情報を分けているのか、そのからくりを具体的に見ていきましょう。 ここが今回の1番の肝になるところです。 はい、この画面がまさに全てを物語っています。 左側がGitHubで、みんなに見せちゃうApp.jsxです。 コードを見ると、実際のキーなんてどこにも書いていない。APIキーという名前の鍵をちょうだいと、ただお願いしているだけなんです。 そして右側。これがあなたのパソコンの中にだけこっそり置いておく非公開の.envファイルです。 これがそのお願いに答えて、実際のキーを渡してあげるわけです。 この、見せる場所と隠す場所をきっちり分けるというのが、本当に大事なポイントなんです。 でも、どうして.envファイルだけが、ちゃんと隠す場所にとどまってくれるのでしょうか? ここで登場するのが、もう一人の頼れる用心棒、.gitignoreファイルです。 まさに秘密を守ってくれるセキュリティガードといった感じです。 見てください。このファイルに書いてあることって、たったこれだけ。.envという1行。 でも、この魔法のような1行がGitというシステムに対して、「おい、この.envファイルは絶対に監視するなよ、絶対にアップロードしちゃだめだぞ」と、ものすごく強く命令してくれるんです。 さあ、あなたが書いたコードGitHubプッシュする、その瞬間をイメージしてください。 まず、みんなに見せても大丈夫なApp.jsxファイルが、あなたのパソコンからインターネットの向こう側にある公開リポジトリへと送られていきます。 でも、秘密の鍵が入っている.envファイルは、どうなると思いますよね? ここで先ほどの.gitignoreが、屈強なガードマンのように立ちはだかるわけです。 「おっと、君は通さないぞ」という感じで、.envファイルをがっちりとブロックします。 その結果、大事な秘密の鍵は、あなたのパソコンという安全な家から一歩も外に出ない。こういう仕組みになっているんです。 さあ、ここまでの話をぎゅっと1つにまとめて、覚えておきたい、そしてすぐ使える原則にしてみましょう。 これが、安全に開発を進めるための黄金律です。 ずばりこれです。設定をコードから分離せよ。 これはAPIキーだけの話ではないんです。 データベースのパスワードや、他のサービスの認証情報など、環境によって変わったり、秘密にしたりすべき設定と、アプリケーションのロジックであるコードを物理的に完全に切り離す。 これが、あらゆる安全な開発の基本になる考え方なんです。 そして、この黄金律を実践するための具体的なステップがこちらです。 すごくシンプルです。まず、プロジェクトの1番上の階層に.envファイルを作ります。 次に、その中にKEY=VALUEの形で秘密の情報を書きます。 そして3番目、.gitignoreファイルに/envと1行追加して、絶対にアップロードされないようにガードを固めます。 最後に、コードの中からprocess.env.YOUR_KEY_NAMEという形で呼び出してあげます。 このたった4つの簡単なステップで、あなたのプロジェクトの安全性は、もうびっくりするくらい上がります。 ぜひこのチェックリストを使ってみてください。 さあ、これであなたのAPIキー鉄壁の守りを手に入れましたね。 でも、ここで安心して終わってしまうのは、少し早いかもしれません。 あなたのコードには、もしかしたら他にどんな秘密が眠っているでしょうか? データベースのパスワードや、外部サービスのトークンなど。 今回の学びをコンパスにして、ぜひもう一度、あなたのプロジェクトという宝の地図を広げて探してみてほしいなと思います。

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