LoginSignup
0
1

Parse ServerとNCMBのACLの相違点

Posted at

ニフクラ mobile backendは3月末で終了します

ニフクラ mobile backendからの移行先として、お勧めしているのがParse Serverです。設計思想が近く、変更するコード量が少なく済むのではないかと思います。

アプリのデータをセキュアに、安全に扱うために欠かせないのがACL(アクセスコントロール)です。ACLもParse ServerとNCMBは似ていますが、幾つの違いがあります。本記事では、その相違点を紹介します。

ACLは全部で3段階

NCMBと同じく、Parse ServerのACLは3つの情報で管理します。

項目 意味
Public 未ログインユーザーを含め、誰でも
User 認証済みユーザー
Role グループ

そして、各項目に読み取り・書き込み権限が指定できます。読み取りは read 、書き込みは write です。

権限 可能な操作
read 読み込み
write 編集・削除

各項目の指定方法

Publicは * 、 UserはユーザーのobjectId、Roleは role:(ロール名) として、JSONで指定します。以下の場合、データの読み込みは誰でも可能で、ユーザーIDが ABCDEF012345 のユーザーと admin ロールに属するユーザーは編集可能という意味になります。

{
	"*": {
		"read": true
	}
	"ABCDEF": {
		"write": true
	},
	"012345": {
		"write": true
	},
	"role:admin": {
		"write": true
	}
}

クラスレベルの権限

NCMBとParse Serverの両方にクラスレベルの権限が付与できます。これはNCMBとParse Serverで多少異なります。

NCMB

NCMBのクラス権限は以下のようになっています。

image.png

項目 意味
Public 未ログインユーザーを含め、誰でも
User 認証済みユーザー
Role グループ

それぞれに対して指定できる権限は以下の通りです。

  • 読み込み
  • 検索
  • 更新
  • 作成
  • フィールド追加

Parse Server

Parse Serverのクラス権限は以下のようになっています。

項目 意味
Public 未ログインユーザーを含め、誰でも
Authenticated ログインユーザー
User 特定のユーザー
Role グループ

それぞれに対して指定できる権限は以下の通りです。

  • 簡易
    • 読み込み
    • 編集
    • フィールド追加
  • 詳細
    • 読み込み
      • GET
      • Find
      • Count
    • 書き込み
      • Create
      • Update
      • Delete
    • フィールド追加

フィールドのプロテクト

これはParse Server独自の機能です。

  • 全員に公開するフィールド
  • 特定のユーザーに公開するフィールド
  • 特定のロールに公開するフィールド

フィールドのプロテクトは、 自分だけが見られるといった指定はできない ので注意してください。

フィールド名が違う

NCMBはaclですが、Parse ServerはACLなので注意してください(大文字、小文字の違い)。

まとめ

Parse Serverでは、NCMBよりも細かくACLを設定できるようです。この点においてはNCMBの機能は網羅しているようなので、移行する際に機能を削らずに済みそうです。

また、Parse Serverでは返却するフィールドを絞り込むこともでき、データ受信量を削減できます。自分でサーバーを立てる必要があるという点は懸念点ですが、移行先として検討してください。

Parse Platform

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1