触れていなかった重要なルールがあります。グループはどのようにすれば設定できるでしょうか。グループを追加することができます。書き込む場合を考えてみてください。行はこのオブジェクトを参照し、ログインユーザー(user_zzz)のキーの子要素が所有者になっていることを確認しています。その後、所有者は自由にメッセージやユーザーを追加することができます。ルールはこのようなアクションを何の問題もなく許可します。ルールでは、「ディレクトリ作成」の操作は個別の概念として存在しない点に注意してください。ついても同じことが言えます)。セキュリティのエキスパートではありませんが、ブログ投稿ではそのふりをすることができます。読み取りや書き込みをシミュレートしてテストすることができます。タブの右上には、「SIMULATOR」と書かれるボタンがあります。クリックするとフォームが表示され、そこから任意の種類の読み取り操作や書き込み操作をテストできます。リストに追加する操作をテストしてみます。評価された場所がハイライト表示されます。ハイライト表示は文字列内の改行を細かく認識していないものと思われます)一方、このユーザーが空でないリストに自身を所有者として追加しようとすると失敗します。これは想定どおりの動作です。さらなる改善さらにいくつかの改善を行うことができます。現在の状況では、所有者は他のメンバーを所有者として追加できるようになっています。実際は、これが望ましい場合もそうでない場合もあるでしょう。考えてみると、新しいメンバーが適切な役割で追加されているかどうかを検証してはいませんでした。メッセージが収まるようにする検証ルールもいくつか追加できるでしょう。この点については、ぜひいろいろ試してみてください。次に示すのは、最終的なルールです。これをご自分のチャットアプリにコピーして貼り付け、どのように改善できるかを考えてみてください。}}さらにヘルプが必要な場合は、ぜひドキュメントをご覧いただき、シミュレータでいろいろ試してみてください。週間を過ごすことができるでしょう。元に翻訳・加筆したものです。詳しくは元記事をご覧ください。Advocate一部のグループの人たちの間でプライベートな会話ができるチャットアプリがあるとしましょう。友人たちのグループで一緒にアルバムを作ることができる写真共有アプリでも構いません。いった種類のデータ共有を小さなグループのユーザーに制限し、世界に向けて公開しないようにするにはどうすればよいでしょうか。ルールが活躍するのはこのような場合です。ルールはとても強力ですが、ちょっとしたガイダンスが必要になる場合もあります。それはルールが複雑であるからではなく、ほとんどの人々は十分な知見を得られるほど頻繁にこの機能を使っていないからです。皆さんはラッキーです。セキュリティの専門家の人々の隣にいてずいぶん彼らを悩ませてきたからです。ルールを理解しやすくするある奇策を見つけたことです。これについては、本投稿の最後の部分で皆さんにお話しします。グループで会話を行うチャットアプリの例について考えてみましょう。メッセージを読み書きできますが、その他のユーザーには見られたくありません。構造は次のようになっているものとします。これを実現する方法はたくさんありますが、デモ用の構造として一番簡単なのはおそらくこのようなものでしょう。はるかに複雑になるでしょう)。メッセージを参照できるようにすることです。ルールを使って作成できます。存在する場合に限り読み取りが許可されているということです。いう行は気にならないでしょうか。変数に格納することを示します。場合はどうなるでしょうか。メッセージは完全に読み取りが可能です。読み取りが許可されていません。いうエントリがないからです。メッセージを書き込めるルールを追加するのも簡単です。}}お望みであれば、さらに細かく制御することも可能です。いうユーザータイプが存在する場合はどうなるでしょうか。これにも対応することができます。メッセージの書き込みが可能」ということを示すルールに変更します。これは、次のようなルールになるでしょう。メッセージを書き込めるようにする』方が簡単ではないか」と思われる方もいらっしゃるかもしれません。}しかし、セキュリティはブラックリストに基づくよりもホワイトリストに基づく方がよいものです。"newbies")を追加し、このルールの更新を忘れてしまった場合はどうなるでしょうか。最初のルールでは、新しいグループのユーザーは投稿はできません。番目のルールでは、何でも投稿できるようになってしまいます。どちらの場合も意図とは違うので問題にはなりますが、セキュリティの観点からすれば、後者の方がはるかによくない状況です。ここに記載したことはすべて、あるとても小さな問題を見逃しています。そもそも、ユーザーのリストはどのようにして設定したのでしょうか。間は、ユーザーがアプリから友人のリストを取得できたことにしておきましょう(これは、読者向けの練習問題として残しておきます)。グループチャットに新しいユーザーを追加する際に考えられるオプションはいくつかあります。チャットのユーザーは誰でも他のユーザーを追加できるチャットの所有者だけが他のユーザーを追加できるチャットへの参加申請は誰でもできるが、所有者による承認が必要いずれの案でも問題ないでしょう。エクスペリエンスであるかを判断するのはアプリのデベロッパーです。順番に見ていきましょう。チャットのユーザーは誰でも他のユーザーを追加できる最初のオプションに対応するには、「既にメンバーリストに含まれているユーザーはメンバーリストの書き込みが可能」というルールを設定する必要があります。メンバーリストに対して、既に設定してある投稿用のルールによく似たものを設定します。リスト内にあるユーザーであれば、メンバーリストの読み取りや書き込みができることを示しています。チャットの所有者だけが他のユーザーを追加できる所有者だけがリストに書き込めるような制限を加えるのも簡単でしょう。要素に書き込みが可能」という意味になります。番目のケースにも対応できます。チャットへの参加申請は誰でもできるが、所有者による承認が必要では、ユーザーが参加申請を行い、所有者が承認する場合はどうでしょう。リストだけでなく、ユーザーが追加できる保留中のリストを含めるとよいでしょう。グループの所有者は、これらの見込みユーザーをメンバーリストに追加したり、保留中のリストから削除できるようにします。宣言する最初のルールは、「自分のエントリであれば、保留中リストに追加できる」です。これを追加したルールは次のようになります。あれば書き込みできる」ということです。リストに追加されていない場合のみ追加可能と指定することもできます。これは次のようになります。}}さらに、既にチャットのメンバーである場合は、自分を追加することができないルールを指定してみましょう。これにはあまり意味がないかもしれませんが、最終的に次のようなルールになります。フォルダ全体を読み書きできるというルールを追加します。