teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

意見交換

6回答

212閲覧

デプロイしたアプリについての倫理的な懸念

pika___

総合スコア5

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

2クリップ

投稿2025/06/22 14:19

0

2

テーマ、知りたいこと

一般に、データベースと連携して動いているwebアプリは少なくないと思います。
この時、webアプリの保守のために本番環境のデータベースにアクセスしたいと思うことが0ではありません。

しかし、開発者が本番環境でデプロイされたアプリのデータベースにアクセスし、内容を確認できてしまうのは、知ってはいけない個人情報を知る契機となりうる危険な状態ではないかと不安になりました。
このような状況で、開発者がデプロイされたwebアプリに対し、データベース周りの保守をする場合はどのような方式がとられますか?
実務上の処理など、現場の声をいただきたいです。

背景、状況

事実自作でそれらしきwebアプリを作り、認証機能周りのデバッグのために本番環境のデータベースにアクセスしたかったのですが、なかなか簡単にはいかず、最終的にはデータベースのプラグインの機能が使えることに気が付きました。
そうしたところ、認証されているすべてのユーザーの情報(名前とemailアドレス)を閲覧できてしまいました(今はサーバーごと停止させているのでパブリックにはなっていません)。

デバッグとして必要なこととセキュリティに矛盾が生じて怖くなっている次第です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答6

#1

maisumakun

総合スコア146649

投稿2025/06/23 06:06

編集2025/06/23 06:09

しかし、開発者が本番環境でデプロイされたアプリのデータベースにアクセスし、内容を確認できてしまうのは、知ってはいけない個人情報を知る契機となりうる危険な状態ではないかと不安になりました。

開発者と運営者の関係はどのようなものなのでしょうか?

自分自身による個人開発・自身の属する企業内で開発して、自社内で運用するアプリ・外部からの注文を受託したアプリなど、関係性とその際の条件で何をすべき・すべきでないかが決まってきます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

pika___

総合スコア5

投稿2025/06/23 06:13

現状は個人で開発し、個人で運営をする場合を想定しています。
個人で性能のいいクラウドを使うのにそこそこお金がいるのが難点ですが、いったん真っ先に考えているパターンです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

maisumakun

総合スコア146649

投稿2025/06/23 06:34

編集2025/06/23 06:35

自分で運営しているサービスの個人情報に自分でアクセスするのは、基本的には単なる正当業務行為でしかないです。

その情報を悪用してなにか別のことに使いだしたら論外ですが、そうではない「サービス運営のために必要な行為」はプライバシーポリシーで利用を認めることを明文化しておくものです。

たとえば、Teratailからリンクされているレバレジーズのプライバシーポリシーでも、サービス運営のためにどのように利用するかが明記されています。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

TakaiY

総合スコア14458

投稿2025/06/23 06:42

そうしたところ、認証されているすべてのユーザーの情報(名前とemailアドレス)を閲覧できてしまいました

システムやそのシステムを提供している団体/個人は、そういったユーザの個人情報を含む情報を適切に管理する義務があります。
よって、質問にもあるようにそのシステムを保守している人はその情報にアクセスすることが可能ですが、可能であることは問題ではなく、その人に同様にその情報を適切に扱う義務が生じるということです。

逆に言えば、システムを提供している側の質問者さんが、それらの情報に触れることができるのは何ら問題にはなりません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

pika___

総合スコア5

投稿2025/06/23 07:14

みなさん、ありがとうございます!
どんな情報を確保するか、リスクヘッジや管理の観点で大変参考になりました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

68user

総合スコア2051

投稿2025/06/23 09:37

編集2025/06/23 09:55

一般的な対策として。

・基本的には、認証を要する管理画面から保守作業を行う。
・開発者であっても管理画面利用には適切な権限を付与する。例えば氏名や電話番号はマスクされていて見られない、一定件数以上の CSV ダウンロードは不可とするなど。
・パスワードはハッシュ化、個人情報は暗号化してDB保存する。暗号化はもちろん適切な鍵を用いれば復号できますが、普通にSELECTしただけでは漏洩リスクは軽減できる。
・管理画面作業はすべてログを取得する。ログは削除・改ざん不可なようになっているのが望ましい。
・どうしても DB をいじりたい場合はあると思うので、そのような場合は上位管理者 (顧客側管理者や、上長など) に申請をし、接続権限を付与してもらう。
・開発者と運用者と完全に分けているところもある。開発者は本番環境用のパスワードを知らないので、開発者の単独犯行はできない。
・DB接続する場合でもインターネット経由でパブリックなDB接続は不可とする (踏み台サーバや VPN 経由で固定IPアドレス制限をしているところが多い)
・より厳しいところでは運用保守用の部屋を作り、DB 接続はそこからしかできないようにする。部屋は監視カメラがあり、入退室にカードなどが必要になる。作業用 PC 作業は動画で保存される。リアルタイム監視されていることもある。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問