ノーコードツール「Bubble」のセキュリティについて知りたい方は、本記事を参考にしてください。
\国内最高レベルのBubble開発/
【結論】Bubbleのセキュリティは安全
結論から言うと、Bubbleで構築されたアプリは、一般的なウェブアプリケーションに期待されるセキュリティは満たすことができます。
一般的なコード開発と共通して言えることですが、セキュリティは開発者の技量や知識に依存します。Bubbleで開発されたからといって、セキュリティが弱くなることはありません。
むしろプラットフォームとしてのBubbleは、セキュリティ対策を最優先事項としてとらえていることを明言しています。
では、「なぜBubbleは安全と言えるのか?」そして、「セキュリティの具体的な対策方法」を解説します。
1.GDPRに準拠している
個人情報の取扱いに関する法律として、おそらく世界で最も有名なものが2018年5月にEUで施行された「EU一般データ保護規則 (GDPR)」です。
BubbleはGDPRに準拠しており、GDPRの規制内で法的・技術的に動作することが確認されています。ただし、Bubbleで開発されたアプリが必ずGDPRに準拠するわけではありません。後述するセキュリティ設定などが不十分だと、安全なアプリにはなり得ません。
2.AWS上に構築されている
BubbleはAmazon Web Services (AWS)上に構築されており、AWSはSOC2、CSA、ISO 27001などの認定を受けています。
3.物理的な脅威からの保護
AWS上に構築されているため、データサーバーの設置場所への侵入や停電、火災、自然災害、その他の物理的脅威をこちらで対策・管理する必要はありません。
4.アプリのバックアップ
アプリとデータベースは継続的に保存され、Point-in-Timeリカバリが可能です。
5.プライバシールール
プライバシールールを適用することで、データを保護することが可能です。
Bubbleのセキュリティに関して、より技術的・専門的な詳細が知りたい方はこちらを参照してください。
Bubbleに関するセキュリティの書籍も出版しているPetter Amlie氏によるブログ記事です
【これだけはしておきたい】Bubbleのセキュリティ設定
1.Bubbleアカウントの二段階認証
Bubbleアプリのセキュリティをどれだけ厳重にしても、Bubbleアカウントの情報が漏れてしまっては、全く意味がありません。後述するアプリ自体のロックも、プライバシーポリシーも、Bubbleエディタから変更できます。Bubbleアカウントに侵入されてしまったら、すべて変更可能なのです。
デフォルトでは、「メールアドレス」と「パスワード」があればBubbleアカウントにログインできます。二段階認証を設定すると、これらの情報に加えてモバイル端末に発行されるワンタイムパスワードも必要となります。より強力にアカウントを保護することができます。
訳)二段階認証を有効にすると、このアカウントにリンクされたモバイル端末がログイン時に必要となります。Google Authenticator、1Password、Authy、その他のアプリを使用してモバイル端末をリンクできます。アカウントを保護するために、二段階認証を設定することを強く推奨します。
2.アプリケーションのアクセス制限
上記のBubbleアカウント同様に、Bubbleアプリごとのアクセス制限も非常に重要です。Bubbleではエディタを使用してアプリケーションを開発しますが、このエディタに本人以外がアクセスできるように設定する項目があります。アカウント情報が漏れていなくても、この項目を間違えて設定していると、第三者がアプリを自由に編集できるようになってしまいます。
Bubbleエディタにアクセスし、Settings > General > Privacy & Securityから、「Define who can see and modify the app」が「Private app」になっていることを確認しましょう。
「Privete app」に設定されていれば、アカウント本人以外はエディタにアクセスすることはできません。
この項目が「Everyone can view」になっていると、誰でもエディタの閲覧が可能になってしまいます。
この項目が「Everyone can edit」になっていると、エディタの閲覧だけでなく、誰もがアプリの編集をできてしまいます。
Zeroqodeなどのプラグインを販売している会社では、デモアプリを「Everyone can view」で公開し、プラグインの実装方法を示しています。こういった特殊なケースを除き、こちらの項目は「Private app」に設定しておきましょう。
さらに、エディタだけでなくアプリにもアクセス制限を設定したい場合には、「Limit access to this app in run mode with a username and password」を使用します。
この機能を有効にしたBubbleアプリにウェブブラウザからアクセスすると、以下のようにユーザーネームとパスワードの入力を求められます。
「Do not apply password for Live」を有効にすると、本番環境はアクセス制限をせず、開発環境(URLにversion-testが含まれる)にのみアクセス制限がかけられます。サービスをローンチした後、基本的にはユーザーが開発環境にアクセスする必要はないので、こちらの機能を有効にしておくのがベターです。
3.APIエンドポイント
Bubbleは外部からAPIでアクセスすることが可能です。
エディタのSettings > API > Public API endpointsから、「Enable Workflow API and backend workflows」を有効にすることでワークフローを外部から実行できます。「Enable Data API」を有効にすることでアプリ内のデータを外部から操作できます。
これらのエンドポイントを有効にする場合は、API Tokensを厳重に管理すること、そして後述するプライバシールールをしっかり設定しましょう。
4.プライバシールール
各データタイプには「プライバシールール (Privacy Rules)」を設定することができます。プライバシールールでは、各データタイプのデータを「誰が閲覧できるか?」を規定します。
例えば日記アプリを開発するとします。各ユーザーが交流する機能はもたせず、それぞれ日記を記録していくだけです。このアプリでは、各ユーザーの日記は本人にだけ見えるようにプライバシールールを設定します。
プライバシールールが設定されていないと、誰もが日記を閲覧できる状態になってしまいます。
5.ワークフローにコンディションを設定
ユーザーがログインしているかなどの区別によって、ボタンにコンディションを設定し、表示/非表示を切り替えるだけでは不十分です。
ワークフローのアクションにもコンディションを設定し、権限をもたないユーザーが実行できない様にします。
6.外注先は慎重に選ぶ
Bubbleアプリは、フロントエンドとバックエンドが一体となっているため、アプリ内のデータに触れずに開発することは不可能です。
つまり、テキスト修正などの軽微な作業を依頼する場合でも、Bubbleアプリ内のデータは作業者に丸見えになります。
Bubbleでの開発を外注する場合は、実績はあるか?信頼できるか?など慎重に検討し、秘密保持契約(NDA)を結ぶなど、法律面でもしっかりリスク管理をしましょう。
本メディアを運営するツクル事業部でも、Bubbleでの開発を承っています。実績も豊富ですので、お気軽にご相談ください。
【補足】ノーコードのセキュリティが弱いと言われる2つの理由
1.「ノーコード=安かろう悪かろう」のイメージ
ノーコードはセキュリティが弱いというイメージがあります。しかしこれは勘違いです。
冒頭でも述べた通り、セキュリティは開発者の技量や知識に依存します。ノーコードで開発されたからといって、セキュリティが弱くなることはありません。
Bubbleに関しては、セキュリティ項目を設定できるだけでなく、主にサーバーサイドのセキュリティはBubbleとAmazonに任せることができるのです。
正しく開発をすれば、コスパ良く安全に運用することができます。
2.開発者の力量不足
Bubbleはその汎用性の高さから、いわゆる「ノーコードツール」とは一線を画しています。コードは書かないものの、プログラマ的思考力が求められる難易度の高いツールです。
機能や設定項目も非常に多いため、そのすべてをキャッチアップするのはかなり大変です。
上記で説明した項目以外にも、注意すべきセキュリティ設定は存在します。Bubble開発の十分な経験・知識がなければ、セキュリティを正しく設定し、安全なアプリを開発することはできません。
Bubbleのセキュリティ|まとめ
ノーコード開発に限らず、アプリのセキュリティは開発者の技量や知識に依存します。
開発者に十分な経験と知識があれば、Bubbleで開発されたからといって、セキュリティが弱くなることはありません。
ですので、Bubble開発を依頼する際は、信頼のある会社にお願いすることが大事です。
ツクル事業部では、日本最大級のノーコードデータベース【NoCode DB】を運営しており、国内におけるノーコード情報の発信に力を入れています。
また、トップレベルの技術者が在籍しており、開発における実績も豊富です。お気軽にご相談ください。
\ノーコードの開発はお任せください/