Kon's DX Lab - Case Study

Day 91|複数人で使える認証の仕組みをつけてみる

Published on 2025-07-01

🔬 Case Study Summary
Problem

(ここに課題を記述)

Result

(ここに具体的な成果を記述)


Tech & Process

(ここに採用技術とプロセスを記述) コードを詳しく見る »

1. 導入:この記事でできるようになること

こんにちは、今回も一歩ずつやっていきましょう🦊

この記事では、VPSで公開しているアプリやページに「誰でもアクセスできないようにする最低限の認証の仕組み」を作ります。

  • nginxで Basic認証 をつけて簡単なIDとパスワードでロックする

  • 必要なら IP制限 を追加して、特定の人だけアクセスできるようにする

  • 複数人で安全にURLを共有する基本がわかる

💡 なぜこれが必要?

  • 誰でもアクセスできる状態だと 内部用ツールが丸見え になるリスクがある

  • 最低限の鍵をかけるだけでも、外部からの無駄なアクセスを減らせる

  • Slackや管理画面など、身内だけが使う場所には認証が必須!


2. 背景・基礎知識

🔐 認証ってどういうこと?

インターネット上にある「部屋のドアに鍵をつける」イメージです。

  • 🔓 認証なし → 誰でも自由に入れる空き家状態

  • 🔑 認証あり → 鍵(IDとパスワード)を知っている人だけが入れる


📑 nginxのBasic認証とは?

nginxの Basic認証 は、一番簡単に導入できるIDパス管理です。

  • ユーザー名とパスワードをセットで作る

  • .htpasswd というファイルに保存する

  • nginxの設定で「このパスには鍵をつける」と指定する


🔒 IP制限って?

  • 会社の固定IP自宅のIP を指定して、それ以外のアクセスをブロックする方法

  • IDパスだけより一段階セキュリティが上がる

  • VPNなどと組み合わせると、社内専用ページに最適


3. 実践パート


✅ ステップ1|必要ツールを入れる

sudo apt update sudo apt install apache2-utils

✅ ステップ2|パスワードファイルを作る

admin というユーザーで例:

sudo htpasswd -c /etc/nginx/.htpasswd admin

(2人目以降は -c を外す)


✅ ステップ3|nginxの設定に認証を追加

例: /admin ディレクトリにBasic認証をつける

location /admin/ {
    auth_basic "Admin Only";
    auth_basic_user_file /etc/nginx/.htpasswd;

    proxy_pass http://localhost:8000;  # Flaskなど管理画面の裏
}

✅ ステップ4|IP制限を追加する例

location /admin/ {
    allow 123.45.67.89;  # 許可するIP
    deny all;

    auth_basic "Admin Only";
    auth_basic_user_file /etc/nginx/.htpasswd;

    proxy_pass http://localhost:8000;
}

✅ ステップ5|設定を反映

sudo nginx -t
sudo systemctl reload nginx

4. つまずきポイントと対処法(FAQ)


5. まとめと次回予告

✅ 今回は、VPSのURLに鍵をかける方法(Basic認証+IP制限)を学びました。

これで、管理画面やSlack連携のWebhookエンドポイントなども安全に使えます。


🔜 次回は、認証を発展させてログイン画面付きの簡易認証やOAuth連携の基礎 を紹介予定です!
ゆっくりでOK、一緒にステップアップしましょう🦊

#VPS #Basic認証 #nginx #IP制限