例えばJavaScriptからParseのREST APIを呼ぶ場合、API KEYは第三者から参照可能になるので、REST APIでできることを制限しておく必要がある。
新規テーブルを作れないようにする
ParseではClassというけど、テーブルというほうが個人的にわかりやすいので、ここではテーブルということにする。
デフォルトではREST APIからテーブルを作ることができる。これをできないようにするにはParseのダッシュボードでアプリケーションのSettingから「App Permissions」の「Allow client class creation」をOFFにする。
これでREST API KEYの権限では新規テーブルを作成できなくする。
ダッシュボードのData BrowserやMaster keyの権限では作成可能。
テーブルの権限設定
Data Browserでテーブルを選択してMoreからSet Permissionsを選ぶと、以下の項目ごとにパーミッションを設定できる。
- Get
- Find
- Update
- Create
- Delete
- Add fields
デフォルトで全部Publicになっているので、操作されたくないものは権限を変更する。
例えば、大抵のテーブルはユーザーがカラム追加できるのは嬉しくないのでAdd fieldsを禁止するとか、データ固定のマスターデータみたいなものはCreate、Update、Deleteをできないようにするとか、管理者だけが利用するログみたいなデータはCreateだけできて他はできないようにするとかが考えられる。
行ごとの権限設定
テーブルのそれぞれの行に対しても権限が設定できて、ACLというカラムに権限のデータを設定する。データを作ったユーザーだけ読み書きできるとか、そういう設定をするときに主に使う。
ACLを設定したデータの作成についてはこちらも参照のこと。
