本文へ移動

ホーム / PdM / 第5部 品質・障害・セキュリティ

第5部 品質・障害・セキュリティ・第13章

セキュリティと個人情報

★☆☆ 発展4トピック・面接 2問

仕様を決める段階で考えるべきセキュリティとプライバシーの論点を押さえる。AI 機能は次の章で扱う。

ひとことで

集めるデータは最小限に、目的を明示し、権限を絞る。仕様の段階で決めることが多い。

プライバシーバイデザインは、個人情報の守り方を後付けではなく、企画の段階から設計に入れる考え方です。PdM が仕様で決めることが多くあります。

  • 集めるのは目的に必要な項目だけ(「念のため」で集めない)
  • 使う目的をユーザーに明示し、必要なら同意を取る
  • 保存期間と、退会したときの削除の方法を決める
  • 社内で見られる人を絞る(サポートが全項目を見る必要があるか)

Web の「認可(権限)の設計」

Data の「権限と個人情報」

面接ではこう答える

プライバシーバイデザインは、個人情報の守り方を後付けではなく、企画の段階から設計に入れる考え方です。目的に必要な項目だけを集める、使う目的を明示して必要なら同意を取る、保存期間と退会時の削除の方法を決める、社内で見られる人を絞る、といったことは、どれも仕様で決めることです。法律や規約の判断は法務と相談しながら、PdM として最初の仕様に入れるようにしています。

ひとことで

認証は「誰か」の確認、認可は「その人に権限があるか」の確認。誰が何を見られるかを表で仕様に入れる。

URL の数字を変えるだけで他人のデータが見えてしまうことがある自分の注文/orders/1001数字を書き換える/orders/1002持ち主を確かめない → 他人の注文が見える持ち主を確かめる → 見られない(403 など)
認可の確認漏れによる事故

認証は「誰か」を確かめること、認可は「その人に見る・変える権限があるか」を確かめることです。よくある事故は、URL の ID を書き換えると他人の注文が見えてしまうものです。仕様に「誰が・何を・見られる/変えられるか」の表を入れ、テストの観点にしてもらいます。

注文履歴を見る変える
本人自分の分だけキャンセルだけ(発送前)
サポート担当問い合わせのあった人の分不可(記録を残して管理者に依頼)
他のユーザー不可不可

Web の「認可(権限)の設計」

面接ではこう答える

認証はログインのように相手が誰かを確かめること、認可はその人にそのデータを見たり変えたりする権限があるかを確かめることです。よくある事故は、URL の ID を書き換えると他人の注文が見えてしまうもので、サーバー側で持ち主を確かめていないと起きます。PdM としては、本人・サポート担当・管理者などが何を見られて何を変えられるかを表にして仕様に入れ、テストの観点にしてもらっています。

13.3ログインの方式

用語★☆☆ 発展
ひとことで

ログインの方式は、登録のしやすさと乗っ取られにくさのバランス。多要素認証やパスキーで守りを強くできる。

パスワードが漏れても、もう1つの要素がなければ入れないパスワード知っているものもう1つの要素スマホ・パスキーログイン盗まれたパスワードだけでは入れない
多要素認証
方式良いところ注意
メールとパスワードどこでも使える使い回しのパスワードが漏れると乗っ取られる
多要素認証(MFA)パスワードが漏れても守れる手間が増える。大事な操作のときだけ求める形もある
ソーシャルログイン(Google・Apple など)登録が簡単外部のアカウントに頼る。iOS アプリはストアのルールも確認
パスキーパスワードがなく、なりすましのサイトにも強い対応する端末・サービスの準備が要る
法人向けの SSO会社のアカウントでまとめて管理できる大口の顧客から求められることが多い

ログインの方式は、登録のしやすさと乗っ取られにくさのバランスです。お金や個人情報を扱うほど、守りを強くします。

Web の「認証と認可」

面接ではこう答える

ログインの方式には、メールとパスワード、多要素認証、ソーシャルログイン、パスキー、法人向けの SSO などがあります。パスワードだけだと、ほかで漏れたパスワードの使い回しで乗っ取られることがあるので、多要素認証やパスキーで守りを強くします。PdM としては、登録のしやすさと乗っ取られにくさのバランスを、扱うお金や個人情報の重さで決め、大事な操作のときだけ追加の確認を求めるような設計も検討します。

問題起きること仕様で決めること
総当たり・不正なログインパスワードを何度も試される失敗の回数の上限、ロックと解除の方法、通知
他人のデータが見えるID の書き換えで他人の情報が出る誰が何を見られるかの表
入力をそのまま表示・保存悪意のあるスクリプトや命令が動く入力の文字数・種類の制限(実装の対策はエンジニア)
ファイルの公開設定のミス社外秘の資料や個人情報が誰でも見える共有リンクの有効期限・公開範囲の初期値
ボットによる大量登録・投稿スパム・クーポンの不正取得回数の上限、本人確認の段階

実装の対策はエンジニアの仕事ですが、上限・初期値・権限は仕様で決めることです。「初期値は非公開」のように安全な側を初期値にすると、事故が大きく減ります。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • 集めるデータは最小限に、目的を明示し、見られる人を絞る
  • 「誰が何を見られる・変えられるか」を表で仕様に入れる
  • ログインの方式とよくある脆弱性は、仕様の段階で防げるものが多い

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1新しい機能で個人情報を扱うとき、仕様の段階で何を決めますか?

模範回答

集める項目を目的に必要なものだけに絞り、何のために使うかをユーザーに示して、必要なら同意を取ります。保存期間と、退会したときに削除する方法も決めます。

あわせて、「誰が・何を・見られる/変えられるか」を表にして仕様に入れます。URL の ID を書き換えると他人のデータが見えてしまう事故がよくあるので、テストの観点にもしてもらいます。社内で見られる人も絞り、法律や規約の判断は法務と相談します。

深掘りされたら

  • 外部のサービスにデータを渡すときは、何を確認しますか?

見られているポイントデータの最小化・目的・保存期間・認可を仕様で決められるか

Q2資料を社外の人と共有できる機能を企画します。セキュリティの面で何を決めますか?

模範回答

まず、誰が何を共有でき、共有された人が何をできるかを表にします。例えば、共有できるのは編集権限のある人だけ、社外の人は見るだけ、です。次に、共有リンクの初期値を安全な側にします。リンクを知っていれば誰でも見られる形は便利ですが漏れやすいので、初期値は「招待した人だけ」、リンクには有効期限を付けます。

さらに、誰がいつ何を共有したかの記録を残し、管理者が社外への共有を止められるようにします。法人の顧客ではこの管理の機能が導入の条件になることが多いです。

深掘りされたら

  • 便利さとのバランスはどう取りますか?

見られているポイント権限・初期値・記録を仕様に落とせるか