CursorやClaude Codeのような開発支援ツールを使えば、動くサーバは驚くほど手軽に作れる時代になりました。APIキーのような機密情報も、以前学んだとおりサーバ側にしまっておけば安心、と考えたくなります。ですが、それだけではまだ穴が残ります。
もう1つ大事なのが「誰がそのサーバにアクセスできるのか」という管理です。ここが甘いと、しまったはずの情報も、見られてはいけない画面も、素通りで触られてしまうおそれがあります。この記事では、Webアプリのセキュリティで土台になる認証と認可という2つの言葉の違いを、噛み砕いて整理します。
結論:機密情報を置く場所だけでなく、認証と認可が要
先に結論をお伝えします。機密情報をサーバ側に保管するのは正しい一歩ですが、それだけでは安心できません。アクセスを管理する仕組みが甘いと、置き場所を工夫しても意味が薄れてしまうからです。
実装で第一に意識したいのが、認証(にんしょう)と認可(にんか)という2つです。名前が似ていて紛らわしいのですが、役割はまったく別物です。次の節で1つずつ見ていきます。機密情報をどこに置くかについては、APIキーをクライアント側に書いてはいけない理由もあわせて読むと土台が固まります。
認証とは / 認可とは
認証と認可は、建物の入館にたとえると分かりやすいです。
- 認証:アクセスしている人が誰なのかを確かめること。受付で身分証を見せて本人だと確認する段階です。ログインで言えば、正しいIDとパスワードを持っているかを見て、あなたが誰かを特定します。
- 認可:確認できたその人が、どこまで触ってよいかを制限すること。入館できたからといって全部屋に入れるわけではなく、社員証で開くドアと開かないドアがある、というイメージです。


よくある穴の具体例
認証と認可を意識しないまま作ると、初歩的に見えても実害の大きいミスが起きがちです。代表的なものを3つ挙げます。
- 認証の抜け:ログインしないと見られないはずの画面なのに、サーバへ直接通信するとデータが返ってきてしまう。画面上ではログインを求めていても、その裏側のサーバ側でチェックしていないと素通りできてしまいます。
- 認可の抜け:ログイン済みの人が、URLの一部を書き換えるなどして他のユーザーの情報にアクセスできてしまう。本人確認は通っていても、触ってよい範囲を絞れていない状態です。
- 制限したつもりの素通り:有料会員だけ、管理者だけ、といった利用制限をつけたつもりが、実際にはチェックが効いておらず誰でも到達できてしまう。


対策:認証を通す、認可で絞る
やることはシンプルに2つです。
- 認証を通す:データを扱う処理では、まずアクセスしてきた相手が誰かを確かめる。ログインしていない相手には返さない、という確認をサーバ側に置きます。
- 認可で絞る:確認できた相手にも、その人が触ってよい範囲だけを渡す。自分のデータは見られても、他人のデータや管理者向けの機能には届かないようにします。
そしてAIを使って開発するときも、この2つをAIに任せきりにしないことが大切です。どこにログインが必要か、誰がどこまで触れてよいか、という認証・認可の範囲をAIと認識合わせしてから作る。自分で実装を確認できる方は、意図どおりに絞れているか自分の目でも見ておくと安心です。


AIに任せるほど、ITの基礎が効いてくる
実は、気をつけるべきなのは実装の穴だけではありません。そもそもサーバやネットワークの設定の段階でも、外部に開けてよい入り口はどこか、公開してよい範囲はどこまでか、といった判断すべき点が数多くあります。
AIに開発を任せられる範囲が広がるほど、逆にこうしたITの基礎知識がものを言います。AIは指示したものを形にするのは得意ですが、何を守るべきかを決めるのは人間の役割だからです。土台の考え方を押さえておくと、AIが出してきたものに対して、ここは自分で確認しておこう、という勘所が働くようになります。
次の一歩
認証まわりをもう少し知りたい方は、ログイン画面がわざと不親切に作られている理由を扱ったログインエラーでID・パスワードのどちらが違うか教えない理由が参考になります。そもそもサーバとは何かから確かめたい方は、サーバとはから読み直すと、この記事の話がつながって見えてきます。
まとめ
- 機密情報をサーバ側に置くだけでは足りず、誰がアクセスできるかの管理が要になる。
- 認証はアクセスしている人が誰かを確かめること、認可はその人がどこまで触れるかを絞ること。役割は別物。
- 画面でログインを求めていても、サーバ側で確認していなければ直接通信で素通りされることがある。
- 対策は、認証を通すことと認可で絞ること。AIで作るときも、認証・認可の範囲を先に認識合わせする。
セキュリティは、知っているかどうかで差が出やすい領域です。独学でつまずきやすいのは、知識そのものよりも、何をどの順番で学ぶかという部分だったりします。安全なAI開発の進め方も、あなたの目標から逆算した学ぶ順番の一部として、一緒に整理していけます。

