NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
81 stars 18 forks source link

【過去質問】APIキーやロール名やクラス名を隠す方法について #1156

Open ncmbsupport opened 3 years ago

ncmbsupport commented 3 years ago

APIキーやロール名やクラス名をJavaScriptでオンコードで書くのはセキュリティ上まずいので、これを隠す方法はありませんでしょうか?

ncmbsupport commented 3 years ago

お世話になっております。 はい。隠蔽いただく方法はございます。 まず、APIキーについては、JavaScript SDKの署名生成部分をサーバー側にて設定することで隠蔽いただく方法がございます。 詳しくは下記ブログをご参考ください。

◇クライアントキーを隠蔽して安全にmBaaSを使ってみる  https://blog.mbaas.nifcloud.com/entry/7410 ◇クライアントキーを隠蔽してmBaaSをより安全に使おう  https://blog.mbaas.nifcloud.com/entry/2018/10/01/115907

ただし、上記ブログにてご案内している方法では、SDKの改変の内容が含まれております。 改変されたSDKをご利用の場合、サポートの対象外となりますので、 ご了承ください。 (参考)開発ガイドライン:改変について  https://mbaas.nifcloud.com/doc/current/common/dev_guide.html#SDKについて

次にロール名やクラス名などの情報については、ニフクラ mobile backend 側にて保持し、 サーバーサイドスクリプト(スクリプト機能)を介して取得することで隠蔽可能です。 具体的な作業手順を記載いたしますので、ご参考ください。

 1.会員管理機能>マスター会員を用意する。  2.データストア>ロール名やクラス名を格納するクラスを用意し、ACL設定でマスター会員のみ読み書きできるように指定する。  3.スクリプト>マスター会員でログインし、ロール名またはクラス名を取得する内容のスクリプトを用意する。  4.ロール名やクラス名が必要となる任意のタイミングで3.のスクリプトを実行して取得する。