そのままじゃやばいという話
Parse ってなに?
Baas (Backend As A Service)プラットフォームとしてとても有名なサービスでFacebookに買収された会社。apigee とか kinvey も有名。2013年の頭ぐらいからこの手のサービスが北米を中心にいくつか立ち上がり、大型の資金調達を経て今に至るといった感じ。サイトは http://parse.com
超簡単に開発中のサービスやアプリに導入できるのが素敵。本当に簡単すぎる。
どれぐらいやばいのか
超簡単にできるぐらいなので、そのままだとかなり危険。データベースをネットにさらしているようなもの。MySQLとかPostgreSQLとかOracleの入口をID、パスワードを公開してネットにさらしてる感じと、まずは理解する。
例)
- 保存されたユーザーのメールアドレスを誰でも閲覧可能
- データの一覧は取り放題
- 誰でもデータも消せちゃう
クライアント側からSQLで言うところの、SELECT, UPDATE, INSERT, DELETE 呼べてるんだから、当然。
やること
パーミッションの設定をちゃんとやる
- テーブル(クラス)レベルでのCRUDの制限
- レコードレベルでのACLの設定
など。もっと、ちゃんとやりたければ、Cloud Code を書いてデプロイし、それをクライアントから呼ぶようにする。Cloud Code を書きまくる必要があるなら、Parse 使う意味あるかわからないので、そこら辺から見直すべき。複雑な業務ロジックを持つサービスが Parse にロックインされるのが良いか悪いかプロジェクトごとで判断すべき。
あとがき
- セキュリティには配慮しよう
- グロースハッカー消えてください
2013年ぐらいはベータ公開されたBAAS系のサービスは往々にしてセキュリティが甘々なので本当にやばかった。他人のサービスのデータを自由気ままに触れる状態。新しいものはだいたいそんな感じなのが常。BAASに限らず、閲覧可能なところにCSVファイルやらログファイルを置いちゃう事案は毎年どこかでニュースになるので、BAASが悪いわけではない。